The Real Silver Bullet
How to fight the software development "werewolf"
24 May 2016
Opinions represent those of the author and not of Scrum Alliance. The sharing of member-contributed content on this site does not imply endorsement of specific Scrum methods or practices beyond those taught by Scrum Alliance Certified Trainers and Coaches.
Developing computer software is extremely difficult, to put it simply and honestly. Software is essentially intangible, abstract, and changeable. Overruns in schedule and cost are well known problems, as are quality issues. Methods, frameworks, tools, and paradigms have been developed to reduce complexity, but not many have been successful.
According to Brooks, project software can become a monster and cause horror because, as he puts it, "Of all the monsters who fill the nightmares of our folklore, none terrify more than werewolves, because they transform unexpectedly from the familiar into the [horrifying]. For these, we seek bullets of silver than can magically [control the software]." Brooks adds that there is no silver bullet that can kill the monster because the essence of software is so complex. According to Partridge, even after all these years and great scientific and technological effort, that state has not changed so much. Thus the software crisis remains present — although to a lesser extent, because small bullets have been discovered.
Breakthroughs in tools, programming languages, and methodologies have improved the way software is built. But according to Cox, the real silver bullet comes from cultural change. These cultural changes permit change new ways of thinking, with a focus on processes, methodologies, and quality instead of on technology. Technology is important, but the most important changes were, first, those ideas about how to handle the situation better and differently. This thought change becomes possible because of the courage, endeavors, and persistence of a particular individual or individuals. In other words, the most important technological breakthroughs have been due to the desire to change and improve the world. The software industry is obligated to build better software and should encourage the use of the best tools, methods, and, of course, Agile processes — but above all, the industry must promote awareness about the importance of quality.
Agile paradigms for developing software projects are one of the new silver bullets that can slay, or at least hurt nastily, the evil. Agile software development processes are a blend of industry's best practices and are supported by self-managed teams. Agile principles focus on splitting projects into small pieces that can be managed and forecast for timing and effort. Of course, to estimate correctly, the team must to have the competence to handle the assigned tasks and the customer must be totally committed. Xion stresses "helping the project development team and the customer work together closely to assign priority to requirements according to [their] importance." Another important consideration, of course, is to correct errors as soon as possible, with functional deliverables put into production environments at each defined interval.
Scrum is used worldwide because it helps produce software projects more manageably. Software engineers around the world have used this development method because of the high quality levels achieved in relation to time and effort (Fujita and Revetria). Quality is maintained through communication between the project team, manager, and the client, as well as through the transparency that exists in the entire project during its progress. As an Agile framework, Scrum can nonetheless blend with other industry best practices to strengthen the overall way to build software.
The Scrum framework is one of the most important bullets against evil. Scrum blends the team, manager, and customer and supports a self-managed team that makes its own informed decisions about the project. Dividing and prioritizing the customer's business needs into useful "packages" is supported by effective timeboxing. "Respond to requirement changes in 'real-time'" (Xion) is the basis of Scrum's ability to respond to user need. Best practices, tools, and — most important — a self-managed team with enough knowledge are the keys to shutting out the werewolves and never again needing to expect a horrifying transformation.
Using the Scrum framework does not ensure that a project will be successful. However, Scrum, proper tools, and a motivated, self-managed project team send a hail of bullets that at minimum wound the evil gravely, making it possible for us all to build better software, software that does what we need and expect it to do.
Brooks, Frederick P. "No Silver Bullet: Essence and Accidents of Software Engineering." Web. December 6, 2015.
Fujita, H. and R. Revetria. New Trends in Software Methodologies, Tools, and Techniques. Amsterdam, Netherlands: IOS Press. Google Books. Web. December 7, 2015.
Partridge, D. Engineering Artificial Intelligence. Norwood, New Jersey: Intellect Books. Google Books. Web. December 10, 2015.
Xion, J. New Software Engineering Paradigm Based on Complexity Science. NewYork: Springer. Google Books. Web. 10 December 2015.
Current rating: 3.5 (2 ratings)
The community welcomes feedback that is constructive and supportive, in the spirit of better understanding and implementation of Scrum.