The Software Development Knights Who Say “No!”

In the movie “Monty Python and the Holy Grail“, King Arthur and the Knights of the Round Table had to face the obstacle of the knights who say “ni!” to travel further in their quest for the Grail. In the modern software development world, it seems that software developers can instead follow the knights that say “No!” to find a different route to the Grail of modern applications, as I have notice a lot of “no-” concepts recently in our domain. NoSQL and NoOps are two examples in the software infrastructure area. #NoEstimates and #NoProjects are two proposals in the software project management domain.

Change has always been a constant in the software development world, but usually there was a “new” thing supposed to replace the older approaches: the proprietary client-server model was replaced by the open technology of the web (with front-end loaded with JavaScript playing the role of modern client), object oriented databases were supposed to replace relational technology, the Unified Modeling Language replaced the diverse offering of modeling approaches (ERD, SA/SD, DFD, …) that existed before. These “no” approaches bring something different. They want to remove existing techniques to get back to a simpler approach. It is not simply the rebuttal of a current way of doing things, but rather a proposal to achieve better results without them. This “less is more” is also one of the value of the Agile Manifesto that proposed a more basic approach to software development than the traditional way, EVEN if there was some value to it (a part of the sentence often ignored in the Agile world).

This brings us back to the obstacle represented by the knights who say “ni!”. Some of the issues we face might be there because we impose to ourselves things that bring little value to our work. Other are there because we develop software in different contexts. A five-people collocated team can operate differently than a distributed project with 400 developers. You can take more risks with social web site than a medical device or nuclear plant software. I read recently that Netflix was sometimes deliberately testing its production environment to see if they could break it. It is an activity that is certainly not suited for critical software. So the next time you meet the knights who say “ni!”, think again if you have to find a shrubbery to please them or if you can just say “no!” to their requests and take a different route.