As an agile coach, what are first steps that you take when going to a company to ensure they adopt agile? Let's assume that this company has only heard of agile, they are working on a very traditional waterfall method, and have a large team of 10 devs, 5 qa, 1 pm. For example, do you start with a presentation and team formation? Or do you sit back doing some due diligence on how the company works?
I've spent a lot of time on this subject. I've been in a year-long collaboration with the online magazine AgileConnection.com on rolling out agile transformations. If you go to their website and search for "Joel Bancroft" you'll find my articles. Start with the one in Jan 2017.
The nutshell framework is:
- Start with Observation: Ask lots of questions
- Education is key: Everyone gets the same training, regardless of experience
- Setup good measures: Both for the project and for the agile transformation.
- Inspect and Adapt at all levels: Really do something about the impediments raised
I would start with explaining Agile to the executive and coaching them until they fully understand the significance of an Agile transformation.
Once they have acknowledged what they are taking on I would be looking for them to identify the reasons they are adopting Agile. This will then provide the foundations for what is to come. For example, if they are looking to improve the companies ability to handle change then I would want them to identify how this will be measured and tracked. To me this is the key to a successful transformation as without a concrete indication of progress it is easy for the company to slip back into their old ways or adopt practices that are counter-productive.
Next I would be looking to work with both the delivery teams and the executive on a plan. Some organisations will be more tolerant of disruption than others and so can go at a faster pace.
So, in order:
- Make sure they know what they are getting in to
- Ensure they have a clear definition of what success is (and how to measure it)
- Build a plan (which will inevitably get continually adapted)
If language and expectations have not already been discusses, then do that first. This is important throughout the organization for all impacted by the change. There is a lot to the history of software development and the term agile. Start with Managing the Development of Large Software Systems (1970), the misunderstanding that led to the waterfall process and traditional project management. Ensure that the Manifesto for Agile Software Development (2001) with its four values and twelve principles is fully understood. Share the groundwork for that philosophy which began in the 1990s (history) including eXtreme Programming and Scrum. Promote agility to change direction to seize opportunities and terminate an effort when the cost-benefit is no longer acceptable along with its inherent risk management. Comparing and contrasting the benefits and challenges is often helpful.