Good Intentions and Abstractions
Do the simplest thing that could possibly work
Do the simplest thing that could possibly work
Do the simplest thing that could possibly work
It looks evident for every people, but we (developers) are different.
We don’t like to write simple programs. When we find a simple solution we always try to get an abstraction to improve the future reuse….
Since I've been converted to XP, I'm radical about this. Being Simple.
I like to read an old interview with Anders Hejlsberg:
" I'm a strong believer in being minimalistic. Unless you actually are going to solve the general problem, don't try and put in place a framework for solving a specific one, because you don't know what that framework should look like. "
[from, https://www.artima.com/intv/handcuffs.html]
Usually, the need to abstract is fictitious, it's a kind of good intention without materialization. We all would like to ship a framework to spread to every programmer in the world, but this is just an intention. We must be able to estimate the real effort to maintain the abstraction while it's being actively used. It's not enough with the intention.
We found examples of this human behavior everyday, and not only creating frameworks.
inspired in From the Good-Intentions Department https://www.joelonsoftware.com/items/2005/10/14.html
Comments
- Anonymous
October 14, 2005
yes. over the last 25 years I have seen many software projects fail because the developers chose to build an all-encompassing, extensible, foresees-every-possible-enhancement framework rather than solve the application domain problem. And so it never worked, but it was extensible. It happens over and over and over.