This is based on a concept from “Theory of Constraints” by E. Goldratt. He says that software has become the new bureaucracy because as the operations within organizations become increasingly automated through various types of software, these operations become constrained by the capabilities of the software. So software defines the rules and protocols within the company and increasingly takes the place of the rule-makers.
In the “old” days, there would be an Employee Manual which would explain the responsibilities of each role within the organization – what you should do, can do and cannot do. These rules have their purpose as it helps clarify what the individual must do, but it also introduces boundaries that stifle creativity and innovation. When combined with poor management in the upper and middle ranks, the rule book acts as a demotivator and results in the stagnation of key performance indicators of the company.
Such a course can be changed or even reversed if managers decide to eliminate old rules or bend them as necessary with changing conditions. This can be difficult because changing the culture of an organization can take time or can be traumatic for many employees, but it can be done.
But when the rules are automated through software, changing course can be very difficult. Hollywood movies give the impression that a software nerd can do anything, but the truth is that a non-trivial software application, however well-designed, may require significant changes and, perhaps, even rewrites if it has to meet fundamental changes to the strategies of a company.
One major hurdle is that the data essential to the company is “inside” the software. In the old system, the data was separate (usually in some file cabinet) and the rules (the manual) was separate. The rules could be changed and you could still access your vital information. Now, if you change your software, you have to worry about porting your data over and also worry if the old data will be affected by the new rules.
Buying a new shrink-wrapped software to run your business is not possible unless you are operating a small enterprise. Even though, you will have to worry about customization. As your organization grows, the product will quickly become outdated.
One possible solution is to have an initial design of the software so that it can take care of changing rules. This is possible to a degree, but it also increases the initial cost of the software and also it cannot take into account major strategy changes. Incremental changes to the software by keeping a software team busy is expensive and again is no guarantee against a software rewrite when business fundamentals change.
Perhaps, there is no silver bullet and businesses will have to spend money (up-front, continuously or on necessity) to change or rewrite software. The important thing to realize is that this is not an option. In this fast-changing world, any software that meets your needs perfectly today will be outdated tomorrow (and I mean, literally tomorrow) as you find new things you have to do or the external world changes in spite of your best efforts to create a final analysis of its rules.