4 ms·
You don't because you can't. It is impossible to predict the future so please stop trying. Just implement what you need today and do the rest later. "Always im
by AlexanderDhoore 8y ago
You don't because you can't. It is impossible to predict the future so please stop trying. Just implement what you need today and do the rest later.
"Always implement things when you actually need them, never when you just foresee that you need them"
https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it
EDIT: The way I think about this is that software development has a very large degree of unknown unknowns. More than maybe other domains like architecture/chemistry/...
- TotempaaltJ 8y ago> Just implement what you need today and do the rest later. I'd add that, while you shouldn't change the complexity of your implementation very much, you should look at potential future scenarios and migration paths. Sometimes you can make small changes to the plan that make migration paths easier. Optimize for ease of change I suppose. Obviously the effort you put into this should be proportional to the complexity/importance of the problem.
- koolba 8y ago> Sometimes you can make small changes to the plan that make migration paths easier. Optimize for ease of change I suppose. This works fine for known future changes, say if you’re implementing X, and know that a similar Y and Z are down the road. Beyond that it leads to the usual problems of crystal ball based planning.
- vincnetas 8y agoAnd here comes the part where experience plays its role. History tends to repeat itself, so if you been/seen certain situations you can account for high possibility of them happening again.