What Allows Agile to Succeed in an Organization?
What Allows Agile to Succeed in an Organization?
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
For over 10 years, agile methodologies continue to prove themselves in a wide variety of industries and applications, yet I still get the following question from clients: Will agile work for us? I still feel that an organization will be successful with an agile transformation independent of industry, size of the organization, geographic distribution of staff, and other common claims of where agile “supposedly cannot, or should not work”. However, my colleagues at LeadingAgile (www.leadingagile.com) and I have found that it can work if the right conditions are in place. Thankfully, we can create these conditions. These conditions are:
Continuously make the business better.
Organizations that continuously improve their product management and engineering development, and view them as market differentiators, tend to succeed with agile. Adopting agile for the sake of agile is not sufficient for success. An agile organization is never done with improvement, and the drive for continuous improvement is necessary for market dominance. Also, improvement for the sake of improvement is not sufficient. Identify clear business goals and metrics that focus the improvements toward success.
Supply sufficient skills to the team, daily.
Agile teams need to respond rapidly to necessary changes in requirements, technologies, government regulations, or business priorities. This rapid response requires that all the skills necessary to design, develop, verify, validate and deploy the solution be available to the team on a daily basis so as not to affect a typical 2-week iteration. In some cases, this response can be achieved by dedicating people with the diverse skill sets needed for one product delivery team, and to keep the team stable over a long period. Dedicated teams may not always be feasible, but other practices need to be developed that get the right people to share the right skills so that no one on the team is left waiting. Organizations that can enable these types of cross-functional staffing practices tend to be successfully agile.
Perfect the art of predictable delivery.
Initially, focusing on the structure of teams and engineering practices to create a team-based iterative and incremental delivery engine is a useful precursor to agile. Once that structure is in place and we have delivery safety, some of the other properties I discuss below can emerge. First, we begin with cross-functional teams organized around producing products and value-focused services in frequent iterations. Then, employing agile engineering practices such as TDD/ATDD and continuous integration help reduce technical debt and establish a rhythm of predictability that goes far beyond what many organizations can accomplish. As my fellow coach, Doug Brophy, likes say: ”If the organization is not shifting its investment from Defect Management to Defect Prevention, then it is not getting agile.” With a focus on delivering valued product and continuously pushing for engineering excellence in the product produced, the teams are perfecting this art of predictable delivery.
Concentrate on correct collaboration.
Frequent and actionable collaboration between business and engineering is key to agile success. Business (especially sales and marketing) should have the “voice of the customer”, and engineering should have the “voice of the possible” in what is capable now versus the long term. Both sides collaborate and set expectations with each other to address key customer and market needs. Neither side makes key decisions or commitments without the other. In an agile framework, this collaboration happens every one to two weeks to balance the voice of the customer and the technically possible, resulting in a new set of commitments to deliver value. This communication allows the entire organization to respond in an agile fashion to any competitor, market shift, new technology or new government regulation with speed unmatched by most competitors.
Learn from visibility in any form.
Success with agile involves establishing clear measures of success at every level of the organization and paying close attention to learning opportunities in those measures whether they go up or down. In successful agile cultures, failures are seen as one form of learning opportunity. Failures tend to be more affordable when teams are executing in 2 week iterations versus 6-12 month projects. Such failure is minimal and can reveal useful information about team dynamics, product development, quality, engineering disciplines, and connection with customers. It provides a wide variety of useful data that teams and the organization can use to improve predictability. Applying collaborative learning approaches (such as retrospectives, charts visible across the organization, and other learning techniques) allow thorough examination of the learning opportunity. Applying these techniques to guide next steps help accelerate success with agile.
Delegate and collaborate on decision-making.
A common misconception with agile teams is that the term “self-managed” means teams make all the decisions. That is far from the truth of successful agile teams. However, organizations that are successful with agile are very clear about what decisions teams can make on their own, and which decisions require collaboration outside the team (with product management, functional management, or other teams), and which decisions need to be made outside the team but adhered to by the team, such as quality standards.
Take small steps to learn.
Organizations that succeed with agile eventually realize that a transition will suggest many changes to process, engineering disciplines, business policies, staffing and more. None of these aspects of the business can be changed overnight. Agile organizations select those elements that have the highest impact and greatest likelihood of success first, observe how the changes affect other areas of the business, and plan the next set of changes based on the outcomes. These small steps help the organization gradually adapt to the new, agile way of working. Furthermore, this “small step approach” helps the organization move into an agile mindset for developing products in the same manner.
Should your organization wish to develop some of these characteristics to accelerate your agile transformation, the staff at LeadingAgile is here to help.
Published at DZone with permission of Mike Cottmeyer , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.