|
|
|
|
|
by streetcat1
1618 days ago
|
|
Reasons: 1. The software creation process moved from designing software to "growing" software. With iteration time moving from months to weeks. So there is no conceptual integrity. 2. MVP turning to final products. Basically quick and dirty code become the foundation of the architecture, with no time to refactor. 3. Short tenure time. I think that avg tenure time for young developers is less than a year. Hence, the knowledge of the code/ domain / abstraction is lost. 4. Market value speed over quality. Software managers are compensated for delivery and not for quality. |
|
5. Planning - your abstractions sometimes don’t make sense in the face of new requirements. If the people planning the features of the product don’t do their own thinking, you’ll be guessing at what they’re going to do next. When that’s the case, it’s up to a dice roll to see if your abstractions will work nicely with the future requirements.