Greger Wikstrand‘s tweet from earlier this week packed a wealth of inspiration into one image:
Nothing is ever gone... https://t.co/MVi9Ty92iV—
Greger Wikstrand PhD (@GregerWikstrand) December 07, 2015
The second statement particularly resonated with me: “The present is built on the past.”
How often do we, or those around us, long for a chance to do things “from scratch”. The idea being, without the constraints of “legacy” code, we could do things “right”. While it’s a nice idea, it has no basis in reality.
Rewrites, of course, will involve dealing with existing data. I’ve yet to encounter a system where no one was interested in the data when it was replaced. I’ve shut down a few where there was no interest, but that’s a different story. The need for that existing data will serve as a potent influence on what can or cannot be done with the replacement system. Likewise, its structure. It’s not reasonable to assume that the data will be any less “legacy” than the code.
We might be tempted to believe that brand new systems escape this pitfall. In doing so, we fail to consider that new systems still must deal with the wants, needs, and attitudes of their stakeholders. People, processes, and organization form the ecosystem that new systems must fit into as surely as replacement systems must.
A crucial part of problem solving is having an adequate understanding of the problem. Everything has a backstory. Understanding the backstory is dependent on understanding the ecosystem the thing fits into. This what Sullivan was talking about when he said “…form ever follows function”.
Nothing’s Ex Nihilo.
3 thoughts on “The Seductive Myth of Greenfield Development”
This is where a bit of bumper sticker philosophy comes to my mind. YAGNI and DRY vs. WET are two such examples. As we invest in more features and neglect to deprecate old ones we accumulate redundant waste, turning our greenfields of old into mammoth legacy systems. Well, not all of us. There are those who master the art of balancing Techne, Episteme and Phronisis – doing the things right, doing the right things, and knowing what should be done and when. The present is indeed built on the past. Be it a pile of unmanageable code or a piece of art in the form of code. > > >
LikeLiked by 1 person
Pingback: Form Follows Function on SPaMCast 381 | Form Follows Function
You are right, we are well past the “greenfield stage”. This does not only apply to our industry: http://www.gregerwikstrand.com/agile-waterfall-and-the-construction-industry/
LikeLiked by 1 person