Governance as a Competitive Discriminator
Your custom software is your competitive advantage. It is the glue that holds your organization together and the face you show your customers. It is how you optimize your supply chain, onboard new hires, manage workflow and process orders.
Maintaining your software edge demands continuous investment. You need to iterate existing solutions to keep up with the evolving requirements of your organization and the dynamics of the marketplace. You need to develop new solutions to meet emerging requirements and move into fresh spaces. Most important, you need to do these things quickly and efficiently, with as little operational disruption as possible.
Effective governance over your development and operations processes can mean the difference between an organization that is competitive and profitable, and one that is falling behind as runaway development costs eat away at dwindling earnings.
In his seminal 1975 book on software project management, The Mythical Man-Month, Fred Brooks, manager of the IBM System 360 Operating System development project, gave us Brooks’ Law which states: Adding manpower to a late software project makes it later.
Just in case his subtler points had been missed, Brooks famously concluded that “the bearing of a child takes nine months, no matter how many women are assigned.”
Four decades later, the specter of diminishing returns looms as large as ever. The pressure on teams to deliver is tremendous, yet time and again we learn that working harder doesn’t necessarily mean delivering more quickly and working faster certainly doesn’t mean delivering higher quality.
Agile development, containers and microservices all serve to accelerate the development process and speed applications into production. Unfortunately, we often see these constructs as having only upside, ignoring or trivializing the very real costs of a development environment that has become increasingly difficult to manage.
A move to microservices, for example, can be a great enabler of rapid development and deployment. A microservices architecture reduces dependencies among development teams, freeing them to act more autonomously and push out code more quickly. The organization can also bring on more staff to form additional development teams because the independent teams can presumably work efficiently in parallel.
But these benefits come with an increase in the complexity required to manage, monitor and debug interactions among the dozens of microservices that have now replaced a single, monolithic application.
Also, because microservices do not fully eliminate dependencies among people and processes, organizations will still face the diminishing returns inherent in adding staff to accelerate development work. At best, payroll will grow faster than productivity. At worst, Brooks’ Law comes into play and the growth in staff slows down the pace of development.
While there are many ways for poor governance to chip away at the bottom line, the deadliest are those that impede scaling. When fortune shines on a business initiative, it is critical to scale rapidly. Many organizations are profoundly fragile in this regard.
Any misunderstood architectural dependencies, such as a disconnect between the scaling of the services and an underlying data structure, will impact the ability to scale. An organization running at the speed of cloud, with Agile, microservices and many development teams in play, is likely to have many such misunderstood, undocumented dependencies in its architecture.
Governance as a key discriminator
If we grant that software provides competitive advantage, we must necessarily see governance as a key discriminator. The passion and skill that you bring to your governance effort set you apart and drive your success. Governance is a core competency that enables you to excel against your peers, deploying better software faster and more cost effectively.
Despite its critical importance, IT governance has struggled to adapt in the modern organization. Necessarily centralized, it remains largely manual, despite the race of application development toward automation and decentralization. Governance is difficult and expensive, applied sparingly when applied at all.
Modern organizations need modern governance solutions. They need real-time automated tools embedded directly in their architecture. They need processes and procedures that unify their people and their systems, anticipate problems before they surface, and protect the organization from costly missteps.
Creating a center of excellence around governance requires commitment. It takes time and effort. But when your software is your advantage and good governance means the difference between profit and loss, can you really afford not to invest in governance?
Soumik Sarkar is the CTO of Crosscode Inc, a software company that automates analysis and governance of the application environment.