Jonathan Stark posted the following recently:
All Set
Set for life.
Does that sound good?
Is that what you REALLY want?
To me, “set for life” sounds more like “all set.”
As in, “done.”
Sunset.
Over.
Dead.
Is that what you really want?
Wouldn’t it be better to NEVER be done?
To always be growing?
And learning?
Living?
Yours,
—J
Jonathan is talking about life, but we can ask similar questions about software development. Do you …
- realize you will likely spend much more effort maintaining your software than writing it in the first place?
- structure software to be “finished” or for efficient maintenance?
- view development as a work in progress, or does it have to be perfect before you let anyone else see it?
- break work down in small commits and pull requests, or polish things forever?
- write code with reading in mind, or try to write code that is as “clean” and clever as possible?
- have enough testing to have a high confidence that when making changes you did not break anything?
- view development as a waterfall process of specification/implementation or an iterative process of discovery?
- continually re-evaluate requirements and approach based on what you are learning?
- value input from others, or have it all figured out?
- realize collaboration results in a value greater than the sum of the parts (1+1=3), or figure “I can do it all” (1=0.6)?
- realize there will always be better ways to do things – better languages, tools, algorithms, implementations, packages, models, etc.? Software is not under the same constraints as physical systems.
- simplify where possible as that is the only sustainable path in complex systems?
- implement constraints, patterns, and simple data models that are essential for long-term development and evolvability of complex systems?
- continually evaluate and reflect – is this working? If not, change.
Which approach is more enjoyable? Which produces the most value?
Software systems are one of the most complex things we have created, so perhaps that is why there are so many similarities to life …