We need a modern way of thinking about software quality management that accommodates our industry’s 30 years of lessons learned and patterns of successful projects, declare Walker Royce, Kurt Bittner, and Mike Perrow in ‘The Economics of Iterative Software Development’ (www.pearsoned.co.in).
Stating that today’s most successful software management techniques steer software projects through the minefield of ‘uncertainties’ rather than track against a precise long-term plan, the authors make a case for iterative lifecycles, constant risk management, objective oversight, and a ‘steering’ style of leadership that demands creativity throughout the team, to deliver innovation on schedule and on budget.
Hollywood movie production is cited as a comparison to software project management, thus: “Movie producers regularly create a unique and complex web of intellectual property bounded only by a vision and human creativity… Like the movie industry, we need qualified architects (directors), analysts (scriptwriters, designers), software engineers (production crews, editors, special effects producers, actors, stunt doubles), and project managers (producers).” Also, as in the movie industry, it is necessary to get increments of software into executable form (get it on film) to make things tangible enough to assess progress and quality, the authors analogise.
Of value is the insight in the book that software management is more accurately described as a discipline of software economics rather than software engineering. Because, day-to-day decisions by software managers (like those of movie producers) are dominated by value judgments, cost tradeoffs, human factors, macroeconomic trends, technology trends, market strength, and timing, the authors explain. They remind that software projects are rarely concerned with precise mathematics, material properties, laws of physics, or established and mature engineering tenets.
Suggested study for software engineers.
“After we ran our new software that measures the degree of employee burnout, we realised our blunder...”
“Big bugs in the program?”
“No, a fire broke out in the office!”