3 ms·
> It's hard to anticipate future requirements. It's not about that, it's about keeping what you do nimble enough to always be ready for change when it comes.
by gnaritas 10y ago
> It's hard to anticipate future requirements.
It's not about that, it's about keeping what you do nimble enough to always be ready for change when it comes. That means not having duplication in the system, having things well factored and encapsulated so there's a distinction between the abstract and the implementation so at any time any component can be made a change point and become pluggable. What makes a good architecture good is that it can be changed without scrapping the whole thing or breaking the whole thing.
> Where good people win is that they adapt quickly when there are signs that the design doesn't work.
It's not that they do adapt quickly, it's that they "can".
> A lot of people just "stick to the plan" although everybody knows that it won't work.
Because they're stuck with a bad design that can't be changed due to issues like bad factoring, lots of code duplication and copy pasting, etc.
- maxxxxx 10y ago"Because they're stuck with a bad design that can't be changed due to issues like bad factoring, lots of code duplication and copy pasting, etc." From my experience they just don't try. There are (almost) always ways to improve.
- ktRolster 10y agoIt really helps to look for small changes you can make to improve things.
- gnaritas 10y agoOf course there are always ways to improve, but when duplication reaches a certain level, people just stop changing things because they can't keep up with the bugs it produces or the changes it forces all over the place. Anything can be fixed with enough effort, but there's a point at which it's no longer justifiable in terms of dollars to undergo that effort.