Wednesday, October 26, 2011

Extend the Principles of Agile to Deliver Maximum Business Value.

Share
            The Agile movement has already helped thousands of IT organizations develop applications at light speed. But to maximize Agile’s impact on the business, you have to push its principles further throughout the enterprise until Agile delivery becomes continuous delivery, and continuous delivery leads to true business agility. The four stages that lead from Agile development to the agile enterprise can revolutionize the way business value reaches customers’ hands.

Stage 1: Agile development

Agile initially emerged as a collection of software development practices in which solutions evolve incrementally through the collaboration of self-organizing teams. Because early adoption grew out of grassroots, developer-led initiatives, Agile matured first within the developer space. It manifested in practices designed to shorten the feedback loop and uncover problems earlier in the cycle so they could be addressed sooner. It made coders fast and flexible.

Stage 2: Agile delivery

In many IT shops that had been organized in traditional functional silos, testers initially stood on the sidelines and wondered what Agile meant for them. The effect was a pseudo-Agile process in which code was developed in iterations but then tossed over the wall for QA teams to test the same way they always had.

The IT organizations that have had the best results with Agile have torn down the silos between development and QA to create truly cross-functional teams. To allow testers to keep up with the accelerated development pace and not sacrifice quality for velocity, they have revamped their approach to incorporate more robust test automation that can be run on a near-continuous basis. They have also adopted advanced techniques, such as service level (API) testing and exploratory testing to mitigate risk as early as possible.

Many organizations adopting Agile today are at this level. But as Agile adoption continues to expand and leaders see the value it can bring to delivery, momentum is gathering to break down the next level of organizational silos.
Four stages to an agile enterprise

Stage 3: Continuous delivery

Agile delivery teams have made great strides, but what is the point of rapidly building new features if those features just sit and wait to be released? To capitalize on the advances in delivery and better translate them into business value, it’s time to extend Agile development principles to deployment.

Continuous delivery, which is enabled by the DevOps movement, extends the Agile mind-set to incorporate IT operations. It focuses on what is ultimately important—shorter cycles for actually putting functionality in the hands of users. It relies not only on better collaboration between the two disciplines, but on comprehensive automation of the build, test and deployment process, so that—at the extreme level—every code change that passes automated functional, performance and security testing could be immediately deployed into production. This level of integration and collaboration between delivery and operations allows releases to be driven by business need rather than operational constraints.

Blurring the lines between development and operations isn’t easy, but it is critical. According to Forrester Research, some traditional process models can “encourage handoffs and demarcation of responsibility and ownership rather than collaboration, teaming, and shared goals. This may lead each party to think that the other is trying to pull a fast one, leading to confrontational situations and heavy reliance on paperwork and formal documentation. By sharing process and building a cross-functional team inclusive of operations, IT organizations can remove the disconnects.”1

The best way to start moving toward continuous delivery is to begin embracing DevOps principles. Include operations staff in demo meetings and planning sessions, share assets (test, build and deployment) and automate as much as possible. Examine KPIs and incentives to ensure alignment across the two functions. You’ll know you’re making progress when you see overall cycle times, from idea inception to released functionality, decrease dramatically.

Stage 4: Business agility

Although few organizations have achieved this stage, it’s what all are aiming for. True business agility happens when the entire organization can continuously analyze results and adapt accordingly.

Here’s how it happens: Deploying smaller increments more frequently not only puts features into the hands of the users at a much faster rate, but it also facilitates a steady stream of user feedback. User feedback lets you apply the Agile concept of “inspect and adapt” at the business level. It provides timely insight into shifting user preferences and helps you make precise course corrections and more informed decisions.

Business agility requires more than just IT. 

Achieving true agility will require a cultural shift within your organization before you can fully take advantage of the opportunity it presents. Business stakeholders must be empowered to make decisions quickly without legacy processes—such as annual budgeting—standing in their way. Other functions, such as sales, marketing and customer support, also play vital roles and need to be tied in effectively.

If you’re already operating at Stage 3, it’s time to look ahead. Start by asking yourself these questions:

Which of your core business applications could benefit or gain differentiation from constant user feedback?
What non-IT areas of your organization would need to be better integrated to get full, end-to-end agility?
What legacy processes might need to be revisited and transformed?

When you start to achieve more of the business objectives that drove your projects in the first place—increased revenue, faster ROI, improved customer satisfaction—you’ll know you’re approaching true business agility.

No comments:

Post a Comment