Wednesday, February 20, 2008

Implementing Agile Organisational Change

Having had many conversations with people wanting tips and tricks for implementing Agile organisational change, so here's a start list...
a. You must of course get a strong sponsor – make sure they regularly stress the value & importance of the process and staff support of it.
b. Finding appropriate Agile pilot projects helps – it should be big enough to be important, but not so big that problems are all blamed on "evil Agile". Also, the project should make use of modern technology ie. CI, automated testing etc.
c. Get everyone on the same page – they must have a shared understanding about what Agile is – so training/brown bag seminars/workshops etc. for all levels of staff helps. The fully detailed/materials workshop I often use (by Nayima & Tryx) is here http://www.xp.be/xpgame/download.html
d. People should expect that the change will be difficult – implementing Agile organizational change while running a project is like maintaining an aircraft while it’s in flight. If it was easy they wouldn't feel good about making it a success. There will be bad times - but remember - battle scars are good - they give you something to tell your grandchildren about.
e. Avoid comparisons with the company's old way of doing things – it’s not a fair comparison – the organization should run at least 3 or 4 Agile projects before comparing any metrics with the good old days.
f. It’s difficult for staff not to buy into a process when features of it are their idea – so in workshops, encourage people to contribute ideas on how to best make Agile work for them, then staff feel praised when their idea (investment) becomes a publicized/used part of the process.
g. Finally, from the dirty tricks department: One of the problems with organizational change is that many client staff feel it’s their sworn professional duty to reject change & reject the consultants, at least via passive resistance (and often active). 2a. above helps combat this, but if you can get agreement from client management/HR (whoever) then individual performance targets can be set in terms of
i. personal learning about Agile
ii. proven Agile expertise & experience, &
iii. tangible individual work to assure success of Agile projects
This makes it not just the sworn duty of staff to support and make a success of the process, but also they personally gain (or not) by meeting their performance targets (or not).