> It appears that way short term, but long term, having a bad codebase can retard a company's growth through lack of scalability and maintainability
Still, it depends on the specifics. Many, many projects get redone/canceled/completely respecified after first contact with market / customer. Many are also canceled for reasons that are independent of the progress speed. For all these projects, speed-to-market has value, and long-term-maintainability has absolutely zero.
The horror arrives when, in a successful project, you realize that you are going to live with the hastily, horribly, developed project for some time to come. But these might be the exceptions - depending on how you count, some stats claim 80% of software projects get cancelled before completion (Have no idea how they define that)
I agree, the devil is in the details, but intentionally writing hastily thought out software is rarely a good option. Even for a POC or MVP, code is expected to be churned out fast, only to be heavily refactored or rewritten once proven successful, but that never seems to get budgeted and people end up building on top of that.
I always go back to the KISS, DRY and YAGNI principles. They not only save overall development time, even in the short term, but they typically lead to maintainable, scalable, and expandable software.
Still, it depends on the specifics. Many, many projects get redone/canceled/completely respecified after first contact with market / customer. Many are also canceled for reasons that are independent of the progress speed. For all these projects, speed-to-market has value, and long-term-maintainability has absolutely zero.
The horror arrives when, in a successful project, you realize that you are going to live with the hastily, horribly, developed project for some time to come. But these might be the exceptions - depending on how you count, some stats claim 80% of software projects get cancelled before completion (Have no idea how they define that)
It's a balancing act.