Take a step back in history with the archives of PragPub magazine. The Pragmatic Programmers hope you’ll find that learning about the past can help you make better decisions for the future.

FROM THE ARCHIVES OF PRAGPUB MAGAZINE FEBRUARY 2010

Barriers to Agility: How to Thread the Barriers to Agility When Failure Is Not an Option

By Johanna Rothman

The Pragmatic Programmers
6 min readNov 6, 2023

--

How do you select a pilot project that will maximize your chances for learning and success?

https://pragprog.com/newsletter/
https://pragprog.com/newsletter/

When a company decides to make the transition to Agile, its making an investment in its future. Some companies make a serious investment in their business and people by funding professional help for their Agile transition. But many companies cant or just dont.

When the company doesnt provide professional help with the Agile transition, it leaves people on their own to learn how to make Agile work in their organizations. They might read books, attend conferences, read newsgroups, and/or chat with friends. All to the good. You can learn a lot by reading books, and you can learn specific skills and learn about other peoples experiences by going to conferences. Using newsgroups and your colleagues to bounce ideas off is a great idea.

But when failure is not an option for your Agile transition, its time to get some coaching and learn how to do Agile right for your organization, product, and team. And that seems to be a problem for many companies.

For several years now, Gil Broza and I have been giving talks at conferences about common problems weve seen in how different organizations transition to Agile. Weve seen quite a number of Agile Titanics: maiden Agile voyages that sank. Heres some advice based on our experience coaching Agile transitions.

Select the Right Pilot Project

Its easy to select the wrong pilot Agile project. Select a tiny project with just a couple of people for a month or so and you wont learn how to experiment with evolutionary design, or how a team works together to solve problems. Select a big project and youve got a mess because too few people have experience with incremental work inside timeboxes. The coordination of a large project is hard, and doubly so if its your first time.

Think of Goldilocks when you select your pilot Agile project: the project has to be just rightfor size and risk. Lets get specific: the project must be large enough that it requires about four to six people for at least three months.

Can the project be larger? Yes, up to nine people. More than nine people on a project and theyll break into sub-teamsor worse, cliques. If the project is longer than six months or so, you run the risk of being the only Agile project in a waterfall worldan uncomfortable place to be, as a pilot project.

Can the time frame be shorter, or the project smaller? Not really. Shorter than three months and you dont have enough experience with how your organization imposes or manages the obstacles that the team encounters. Fewer than four people and you dont have a project with enough risk, so you wont be able to see how Agile manages risks.

Your pilot project is the project that helps you see the obstacles to your organization implementing Agile. You want to learn from it, in the same way that the project team learns from each iteration. Make it too small or too short or too risky or too safe and you wont learn enough about how Agile works for you.

Selecting the right project isnt enough to prevent an Agile Titanic. You need a team who can do the work.

Select the Right Pilot Team

Ive seen a number of pilot Agile teams composed entirely of developers. When they get to the end of an iteration, they count all the work as done, because their work is done. But the testers have not tested, the writers havent written any documentation, and theres plenty of other work not done yet.

For those of us with Agile experience, the idea of a single-function team piloting Agile doesnt make sense. But for people coming from years of Waterfall experience, it seems reasonable. So they set themselves up for failure with a single-function team, and when they finish several iterations, or even their part of the project, they dont understand why they didnt see different results from the published literature. But,they say to me, we were using Agile. Why didnt it work? Whats wrong with Agile?

Thats the wrong question. The right question is, Why arent all the roles across the organization represented on the team?

A pilot Agile project needs the same team makeup as a real Agile teamthat is, the team either has representatives from all the functions in product development, or the team members are able to perform that work. If you have testers on other projects, you need testers on the Agile team. If you have a release team in your organization who makes the builds happen, you need someone to make the builds happen on your pilot Agile team. If you have a DBA to do all the nasty query work, you need someone to do that work on the Agile team.

Because the team has to finish the work they committed to for an iteration, and the work has to be releasable, they need everyone they would normally need for a project on an Agile team. In fact, you could say that the ability to create a cross-functional teamand keep the team together for the entire duration on this project and only this projectis a test of managements commitment to Agile.

If you can’t manage to create a small cross-functional team working on just one project, you don’t have the right environment to start Agile.

You have other options for lifecycles, and you should take a look at the lifecycle chapter and appendix in Manage It!

When you select a pilot team, follow these principles: Make sure all the roles are represented on the team. Make sure the team can stay together for the entire project. And, for the pilot project, make sure the team is all in one physical location. Yes, you can do Agile with distributed teams, but its much harder when people are distributed than it is when everyone is all in one place. Its easier to learn Agile with a team thats all in one place.

Other Pilot Agile Suggestions

Gil and I have put together a teleclass series that reveals these issues and how to resolve them. In a recent free teleclass we taught how to select a proper pilot Agile project, how to select the team to work on that project, and how to help the team work together as a cohesive self-organizing team. We also discussed what to do if you had no control over the project or team selection.

On the call, we discussed four other characteristics of the pilot Agile project. We also discussed what to do if your project doesnt fit into that sweet spot: large enough to learn from but not so large that you have a mess. You have some options: for a too-large project, use Agile on one chunk and learn from it. For a too-long project, use interim releases. For a too-small project, see if you can gather more work and make the project bigger.

We wish you success in your Agile transition and we hope you never encounter the iceberg.

About the Author

Johanna Rothman’s latest book is called Successful Independent Consulting, and is available from The Pragmatic Bookshelf.

magazine cover showing book spines in orange, green, yellow, blue, and black
Cover from PragPub magazine, February 2010

--

--

PragPub
The Pragmatic Programmers

The Pragmatic Programmers bring you archives from PragPub, a magazine on web and mobile development (by editor Michael Swaine, of Dr. Dobb’s Journal fame).