A number of success factors for Agile Transition are important to emphasize because they represent structural and, in many cases, cultural shifts from traditional software development and management environments. Most organizations miss many of these, thinking that they are simply changing the way that software is written and tested. There is so much more to this transition than just plugging in a new process. In fact, the technology shift is often the easiest part. The transition will go better if everyone is aware of these factors from the start.
Emphasis on Customer Value
- Items with the most value are implemented first, reducing the risk of missing important features at a deadline.
- Quality is an important element of value. Better quality reduces the total lifecycle cost of product, increasing ROI.
- Prioritization is key, both at the product level and at the portfolio level.
- It is not essential to build everything we can think of.
- Projects are about deadlines and work. Products are about continuous delivery of customer value.
Empirical Process
- Each product will be refined incrementally through feedback from customers and other stakeholders.
- Each Team is allowed to define and refine their own process within an Agile framework.
- Product risk is reduced through continual understanding of customer needs and a focus on priority items.
Dedicated Cross-functional Teams
- Context switching costs of 10-15% per person per additional project are saved by creating teams of dedicated members.
- Each team includes people with the requisite skills to create the desired product.
- Team members are encouraged to share skill and product knowledge to reduce the risks of occasional or permanent absences.
- Productivity increases dramatically through shared learning from working together consistently for 6-9 months, becoming a high-performance team.
Decentralized Control
- Business (Product Owners and Stakeholders) establish the vision and functionality to be implemented. Technical teams decide the “how” and “who” of implementation on a day-to-day basis.
- Throughput is enhanced by shared decision making, smaller chunks of work and reduced reliance on single-decision-point bottlenecks.
Enhanced Collaboration
- There are choices in how to assemble teams, some more effective than others. Feature teams can be more efficient than component or functional teams
- Co-located Teams can be twice as productive as distributed teams.
Pull Systems
- Lean principles are basic to Agile success.
- When Teams pull work at a self-managed, sustainable pace, they provide both productivity and predictability that improve business outcomes and agility.
Modern Technology
- Automated unit and story testing are essential for success of incremental development.
- Continuous integration greatly increases the flow of work by reducing the noise of re-work.
- Continuous deployment shortens the time for delivering customer value.
Hire an Experienced Coach
A success factor in most organizational transitions to Agile is guidance from someone who has been through the experience before. Some organizations are able to find such experience internally or hire someone who has relevant experience. Others contract an external coach to guide the process for as long as it proves valuable. See the “The Value of an Agile Coach” for supporting concepts.
Coming Next: Agile Transition Part 3: Understanding Organizational Dynamics with “The Change Model”