The global praxis ecosystem of Colabria Action Research is inhabited by recognized authorities on large IT system design, development and deployments. Commentary on very large enterprise and consumer systems helps refract, anneal and share decades of hands-on experience and executive leadership.
Today’s lesson is on Brooks’ Law and large-scale government IT & systems failure. To the extent possible, and as respected information systems scientists, we leave the politics to pundits and politicians.
Brooks’s Law is simple: Adding people to a late project makes it later.
Brooks’ Law first appeared in 1975 in The Mythical Man Month (free download, multiple formats). This legendary book is enormously impactful. It is highly recommended. Read it now. In 1975 it made critical observations about complexity and organizations and software projects.
Every software engineer knows the Mythical Man Month or should.
Unfortunately, politicians, appointees and dilettantes are often running outsized govt projects. Facing challenges and failure their reflexive chorus is, ‘lack of resources.’ Adding talent and money to any failing project is an objective violation of Brooks’s Law.
Brooks’ Law is insidious in government IT settings because they can order up fresh resources, talent and money, with total impunity. Unlike businesses there exists no accountability or consequence in centralized, statist government efforts. That’s is why all large government IT projects are so failure-prone. They collapse under their own hubris.
While business leaders earn resources with positive customer outcomes, govt project managers submit to capricious political breezes. Business IT people may be summarily dismissed ‘at will.’ For the most part, government IT works cannot be fired.
Meanwhile, the motor-response to fix govt IT and systems challenges is to apply the ‘best and the brightest’ and ‘throw money at the problem.’ Again, this is a patent violation of another of Brooks’ Law: “In a suitably complex system there is a certain irreducible number of errors. Any attempt to fix observed errors tends to result in the introduction of other errors.”
For those fluent in networks, this explains it – exponential complexity.