Skip to main content

Innovation in Software Development

At organizational level, software development is a flatland, populated by odd creatures. Lots of alchemy, little chemistry.

How to stand out and be innovative? A legit question.
When it comes to innovation I discount virtually all the recipes foisted on to us by methodologists, gurus, charismatic figures, mesmerizing narratives, and so forth.
Innovation is a "negative" concept*, namely, it is defined by pointing out what stifles it. In other words the best we can do is to set out the conditions to let people innovate, potentially.
In this context, fostering an innovative environment for software development is a matter of taking stuff away :-) What stuff? My take. No prescriptive recipes, no universal principles - just observation over the years:

1️⃣ No principles: they are all good and agreeable but provide very little guidance. For example: in many quarters software (design) has been trivialized to SOLID, YAGNI, Beck's 4 principles to name a few.
2️⃣ Don't start with patterns. Patterns may be a landing space, once the problem has been dissected. Further, patterns tend to optimise locally escaping the quasi-fractal nature of software and related artefacts.
3️⃣ No dogmas. The socio-technical aspects of developing software should suffice to leave dogmas at the door. It is a complex endeavour, little room for silver bullets.
4️⃣ No guru driven development. They too should be shown the door :-) Seriously, lots of anecdotes, charisma, cool slides, but little substance.

I am pompously πŸ˜… writing down a series of conjectures...prefixed as [π™ΌπšŽπš—πšœ 𝚎𝚝 π™Ύπš™πšŽπš›πšŠ (𝙼&𝙾) #] . They help me reason over stuff that I learn and practice. Here the first one:

[Mens et Opera #1]: Innovation is more a matter of setting the table than to dictate the menu.

*Inspired by the concept of "negative liberty", i.e. freedom from interference or restraints.  

Comments

Michele said…
https://www.linkedin.com/feed/update/urn:li:activity:7170304481912307713/