The Channel logo


By | John K Waters 22nd November 2007 17:13

Ten tips on agile software development

Of roadblocks and antibodies

Think you're organization is ready to transition to an agile software development process? Wondering how to make the move without breaking anything? Not sure how to make the transition stick? Joshua Kerievsky is the man to see.

Kerievsky has spent the past decade helping development organizations to "become" agile. He's the founder of Industrial Logic, specializing in "industrial Extreme Programming," and author of Refactoring to Patterns . Speaking at the recent QCon conference in San Francisco, California, Kerievsky shared his top ten tips for successful agile transitions with attendees. His advice?

1. Begin all transitions with a readiness assessment. "Really look at your organization. Talk to your people. Look for roadblocks. Ask yourself, what is this agile stuff and how does it compare to our old way".

2. Evolve by learning a little of everything. "Don't start with fragile agile, where you have a few pieces of the process, but nothing that is really going to make a difference in your organization".

3. Educate the "organizational antibodies". "After a successful project, they come out of the woodwork to declare that it was a fluke, to squelch the transition. Start with a pilot project, but be sure to take the time to dispel the myths about agile throughout the organization. Work with people who aren't part of that project. These are your future agile communities".

4. Sell the risks of not going agile. "You can't sell, say, pair programming. It's a mistake to try. But you can sell the risks of solo programming. Focusing the risks tends to be a good thing".

5. Business trumps process. "Once I say that to executives, they breathe a sigh of relief. At the end of the day, you've got to be in business. Understand that business concerns sometimes - not all the time - are more important than process concerns".

6. Engage the entire organization. "Talk to the executives and management. Talk to customers, subject matter experts, technical writers. Get everyone involved. Dispel their fears that there's no place for them in this new process".

7. Pick a big important project. "If you start with some big hairy project, there's a good chance you'll automatically cover several of the previous tips".

8. Handle the scaling problems. "This is an issue with agile. E-learning and a kind of serialized knowledge transfer can help".

9. Gather metrics. "This one trips people up. If you don't gather metrics for a living, work with an expert. With documented evidence that agile is making you more productive you'll have a better chance of keeping it in place when there's a management reshuffle".

10. Fail fast. "In this day and age, if you want to be successful in software, you've got to have the ability to fail fast. You want to see problems very quickly. But it's not just about testing. This is an attitude shift. Failure is not a bad thing; it's a way to learn".®

comment icon Read 4 comments on this article alert Send corrections


Frank Jennings

What do you do? Use manual typwriters or live in a Scottish croft? Our man advises
A rusty petrol pump at an abandoned gas station. Pic by Silvia B. Jakiello via shutterstock

Trevor Pott

Among other things, Active Directory needs an overhaul
Baby looks taken aback/shocked/affronted. Photo by Shutterstock

Kat Hall

Plans for 2 million FTTP connections in next four years 'not enough'
Microsoft CEO Satya Nadella


League of gentlemen poster - Tubbs and Edward at the local shop. Copyright BBC
One reselling man tells his tale of woe