Exactly, that was my point. If you're starting a simple consumer product you'll write lots of code quickly. When working on something complex you need to consider how your changes will effect every aspect of the product.
Exactly. When I was working on a payroll system it could take a day to change a modify a few lines and test all the various scenarios before releasing. The cost of making a mistake was large.