Going into an agile transition there are a lot of variables that need to be considered in order to make the transition a successful one. Those variables include:
- Timing – Should the transition be made in the middle of a major project or should the transition be timed such that it takes place between or at the beginning of a major project
- Transition Strategy for multiple teams – There are two major strategies that I am aware of (and I’m sure that there are many more): make the transition all at once, or start with a pilot project and move gradually toward an agile organization. Each has its own costs and benefits. The culture of the organization can also play a role in making this decsion (cautious vs. aggressive)
- How will distributed teams be brought on board. These days it is very common for companies to have either distributed or outsourced teams working around tht world. An agile transition is going to impact them too. How do you manage their part of the transition to agile? Ignore them? Train them up too? And what about the cultural considerations with trying to train someone in Agile techniques from a radically different culture?
- How will the training be organized? Do you want to train and certify everyone before starting the first iterations of the project, or is there more value in giving them an orientation, setting them loose, and then returning to run them through the certification course after they’ve stubbed their toes a few times? Again, there are trade offs to each approach.
- What sort of coaching support will you provide for the teams?
- What kind of additional materials can you bring to bear in support of the teams making the agile transition.
- how will the Agile roles (Scrum Master, Product Owner, Team) be mapped to the existing organizational structure. What will be the impact on the people who are currently in those roles?
- What kinds of tool support may be required to help facilitate the transition to agile? Communication support tools for distributed teams? Automation and testing support for operations and QA teams?
- What are the drivers for the change to Agile? What is motivating this move? A desire for more rapid releases? Perhaps reduce costs? Improved quality? Once you have identified the drivers, then you need to identify the metrics you are going to use to measure the success of your agile transition. Bug count? Throughput? Lead time?
- What additional training can be provided in support of this transition? Training in technical practices such as TDD or design patterns?
- Is scaling an issue here? Will the teams need to be trained in managing teams at the enterprise level (ie. Scrum of Scrums, Meta Scrum)?
These are just a few of the questions we have been asking as Ibegin the transition to agile for this company. For some of these issues I have opinions and recomendations. For others, it is simply a matter of discovering what the motivations and desires of the company are.