How does project size affect your software design and the work involved in creating it?
The larger a project gets, the more architectural design it requires in proportion to low-level code design. More time needs to be spent up front ensuring the design is right, because bad choices will have more serious consequences.
Is a well-documented bad design better than an undocumented good one?
Documentation is part of what makes a design good. A well-documented bad design provides a route in to the code, even if it's a brightly illuminated dirt track to a cesspit. At the very least, it will teach you never to touch the code again.
A sufficiently simple piece of code shouldn't need reams of documentation, but any reasonably ...