Agile In The Enterprise
From AgileOpenNorthwest
Topic: "Agile In The Enterprise - Understanding Common Tensions" Time: February 9, 2010, 7:30 PM Location: Lopez C Host: Anthony Stevens
Thesis: Large enterprises have structural and cultural artifacts that can make Agile adoption more difficult. What are some of these impediments, and how can we start to resolve them?
- List of impediments, with discussion points
- Geography / Distributed Teams / Cultural Differences
- Doing Agile with teams that are geographically separated is inherently more difficult. Timezone differences also affect team schedules and communicaiton. Country-of-origin cultural differences can make values like communication more difficult to implement effectively.
- Company Culture
- Does the company support Agile at the top? Is there a go-go-go attitude that makes sustainabile Agile development practices more difficult? Is there a culture of trust? Are teams empowered to think for themselves?
- Red Tape / Bureaucracy
- The larger the company, the more likely it is that the team will run into red tape, bureaucracy, and delays that may hinder the quick delivery of value to the business customer.
- Human Resources Practices
- Personnel
- Do compensation practices align with Agile values? Is compensation mainly a function of team success or individual succcess? Is teamwork a core corporate value?
- Facilities
- Can the team organize their space to support Agile in the best way? (examples: bullpen, pairing stations, etc.)
- Project Management Offices
- Do the processes followed by the PMO align with Agile values? Does the PMO make demands of the Agile teams that detract from the velocity of the team? How do we best negotiate the interactions such that both teams' needs are met?
- Inadequate Training
- There are huge problems if product owners don't have adequate training, don't communicate with each other, and can't push contentious decisions up the ladder. Same with ScrumMasters who lack training and don't fully understand their role.
- Mandated Practices / Agile by Fiat
- It can be a morale-buster if management imposes Agile but doesn't back it up with training, support, and an acknowledgement that it will take the team time to ramp up on the new methodology.
- Legacy / Maintenance Requirements
- Often times teams are severely constrained by legacy problems such as lack of access to original source, messy codebases, multiple overlapping versions of product in the field, and endless production support escalations.
- Marketing Deadlines
- How do we as Agile practitioners embrace date-driven marketing requirements, such as "Release Zune 3.0 by Christmas"?
- Lack of Common Tools and Methodologies
- If different teams follow different flavors of Agile, and/or use different toolsets, it can reinforce siloing and limit the flexibility of the product development organization to adapt to new challenges.
- Lack of Shared Understanding of "What is Agile"
- If the C-level execs have a different understanding of Agile than middle management, who in turn have a different understanding of Agile than the team, it can cause problems. This gets to the training and communication values.
- Need For Short-Term ROI of Agile Adoption
- Often times companies have a very short window to "prove" that the introduction of Agile into the enterprise actually provides a positive ROI. Since many of the benefits of Agile are seen over the entire lifecycle of your product base (measured in years), it can be stressful to try to prove ROI over a quarter or two. In fact, productivity may actually DECLINE early on as teams learn the new methodology.
- Multiple Technical Dependencies
- In a large company, you may be dependent on many other teams (not just technical teams, btw) in order to release your product. This can be a large continous challenge with no easy answers.