Movements and complications
I defy you to read the Wikipedia entry on horological complications and not chuckle at the obvious parallels with software development.
To quote:
… a complication refers to any feature in a mechanical timepiece beyond the simple display of hours and minutes. A timepiece indicating only hours and minutes is otherwise known as a simple movement.
I love this terminology.
If you to apply this to software, the ‘movement’ could mean the fundamental core feature of the product and ‘complication’ could mean all the other features it offers.
For example, an email client allows users to read email online (the movement), but most have many complications around managing tags and folders, creating tasks, managing contacts, etc, etc (the complications).
Now, obviously:
The more complications in a mechanical watch, the more difficult it is to design, create, assemble, and repair.
Software is not mechanical, but it certainly seems to suffer from this problem.
Question is, is your team rushing to build a Franck Muller Aeternitas Mega 4 or trying to get the basics right first?
After all, it took horologists a long time to make wristwatches that could even tell the time accurately.
All the best,
– Jim
(Hat tip to Jonathan Stark who originally made this observation)