Advertisment

Business Agility, Business-IT Fragility

author-image
PCQ Bureau
New Update

Chaitanya Nadkarny, Director — Consulting Practice, ThoughtWorks

Advertisment

Improving Business Agility has become an increasingly key imperative for many enterprises. How fast a business can move a new idea to the marketplace, can go from “concept to customer,” is reflective of this agility. Given the importance of software to the function and/or production of products today, the value stream from concept-to-customer often involves IT; true business agility is therefore unlikely to be achieved if the IT function is not equally agile, or if the relationship between the business and IT is ineffective. Understanding the business-IT interplay and the maturity of the IT organization is essential, as both have critical effects.

Healing the cracks

An ineffective relationship has often been the reason for failed IT projects. For example, a business looks at IT as being unresponsive and IT at the business being unreasonable. Some businesses still use a “throw over the wall” approach of engaging IT. Many IT organizations hesitate to move forward unless they get the business requirements nailed down. Until these behaviors are addressed, the relationship will not be as productive as needed, and true business agility will remain an unrealized goal.

Advertisment

Breaking down the boundaries between the two groups and creating an interaction framework between business and IT to maximize collaboration and provide continuous feedback to both parties are both essential. A good starting point is to enable IT to work as a business partner with a stake in achieving business goals, by actively participating in driving product vision and strategy, defining the roadmap, evaluating progress, etc. And IT needs to change how it works by providing a clear measure of progress that is understandable by business folks. Lack of clarity, visibility and transparency hinder collaboration and joint decision-making. Fixing these will enable the business to stay engaged and participate actively throughout the length of the project and overcome the “throw over the wall” syndrome.

Lean manufacturing philosophies and values propounded by Agile methods of software development can also provide direction for making changes. Lean addresses the eight wastes in manufacturing, many of which can be mapped to IT and software development. For example, focusing on getting requirements fully discovered before proceeding creates an equivalent of “work-in-process inventory”. Over-engineering and extra-features are equivalents of “over-production”. Because IT is a human intellect-driven profession, certain organizational structures, such as the command-and-control style, are evidence of “underutilization of human talent”. Application of powerful Lean techniques such as Value Stream Mapping can help organizations critically look at activities and bring efficiencies into the whole process from concept to customer.

Advertisment

Agile methods of software development emphasize Continuous Delivery of working software over short (one or two weeks long) iterations. They emphasize the need to have quality as a pre-requisite to achieving speed. When applied with care, insight, and discipline, these methods enable teams to conquer the debilitating effects of the “cost of change curve”.

The Agile Manifesto itself provides a set of values that can be used by business and IT leaders to redefine their engagement with each other. For example, continuously delivering working software in small increments improves the collaboration and engagement between business and IT. It allows plans to be drawn up and progress to be made on the basis of rapid and continuous feedback, thereby enabling a concept to evolve rather than be designed upfront. This helps keep a tight leash on extra features and over-engineering, which have been proven over and over again as the biggest wastes in software development.

Advertisment

People over process

Many IT organizations have adopted Lean and Agile methods over the last few years to varying degrees of success. As with all process improvement initiatives, implementing and perfecting their application is a continuous exercise. During the early days of adoption in any organization, these methods expose the “rocks under the water”. Removing these rocks over time smoothens the road towards agility. The actions needed to address these could include developing people capabilities, implementing effective tools, tuning the organization structure and roles/responsibilities appropriately, etc. Elements of these that impact human behavior and organizational structures typically need more time and patience to implement than process changes. Such organizational changes can be achieved through small, measured steps that allow the teams to discover ways of working more effectively.

With Agile having become mainstream, many teams and organizations have adopted the practices, but only a few have absorbed the principles and values behind these practices. Focus on practices without this deeper understanding means teams will see only partial success, and in some cases more frustration. It is therefore essential not to look at either Lean or Agile as silver bullets, but as ways of making fundamental changes in how teams operate and deliver quality software.

In the past couple of years, a new opportunity has been exposed by organizations that have made significant improvements in their software development processes and strengthened the business-IT relationships: improving the “last mile” between development and deployment. The “last mile” of software delivery has been an area of rapid innovation in the last couple of years, and is being addressed by what is generally known as the DevOps movement. DevOps breaks down barriers and realigns incentives between software development teams and IT Operations teams who have different and sometimes conflicting goals. For example, the software development team's goal may be to deliver features and fixes quickly and rapidly, but IT Ops needs to make sure everything works reliably. DevOps uses a combination of collaboration techniques, extensive automation, environment management tools, and build-release management tools to provide a 'one-click deployment' capability.

As we can see, many techniques are now available to address the fundamental issues of business-IT collaboration and maturity of IT teams. The need for true business agility will continue to put pressure on organizations and we will likely see increased adoption of these techniques.

Advertisment