January 25, 2012

Agile Lifecycles for Geographically Distributed Teams, Part 2

By Johanna Rothman

Example 2: Using a Project Manager with Kanban, Silo’d Teams

This is a product development organization with developers in Italy, testers in India, more developers in New York, product owners and project managers in California.

This organization first tried iterations, but the team could never get to done. The problem was that the stories were too large. Normally I suggest smaller iterations, but one of the developers suggested they move to kanban.

The New York developers had a problem biting off more than they could chew. So nothing moved across their board. The Italy developers had a board where the work did move across the board. The teams took pictures of their boards every day and shared the work across a project-based wiki. That allowed the New York-based developers to see the work move across the Italy board. And, that encouraged the New Yorkers to call the Italians and ask some questions. That helped the New Yorkers to change the size of their work by working with the product owners.

Now, why did the New Yorkers have such trouble originally? Because the developers “knew better” than the product owners, so they changed the stories into architectural features when they had originally received them. (Now they don’t. They leave the stories as real stories.)

Release planning: Management in California plan with agile roadmaps. They have features planned specifically week-by-week for the next 6 weeks, and have more of a quarter-by-quarter approach after that.

Iteration planning: No iteration planning because they are using kanban.

Daily commitment: No daily commitment needed because they use kanban. They do have a checkin a few times a week with each other as a technical team to make sure they don’t create bottlenecks and that they respect the WIP (work in progress) limits.

At one point, both the New York and Italy developer teams created automated tests so that the testers could catch up and stay caught up with regression tests. They add a story like that every couple of weeks, and they are paying down their automated testing debt.

The Project manager keeps an eye on the WIP, work in progress. Project manager also shepherds the product owner into keeping the queue of incoming work full and properly ranked. The product owner is notorious for changing the incoming work queue all the time. Project manager makes sure the team does retrospectives and is a little unclear how to do them in such a distributed team. The project manager is not so sure their retrospectives are working, and has started an obstacle list, to make sure the team has transparency for their obstacles.

Measurements: cumulative flow, average time to release a feature into the product.

(Want to learn to work more effectively on your geographically distributed team? Join Shane Hastie and me in a workshop April 17-18, 2012.)

January 25, 2012 04:06 PM

January 24, 2012

Agile Lifecycles for Geographically Distributed Teams, Part 1

By Johanna Rothman

I’ve been working with geographically distributed and dispersed teams for the past couple of years. Some of them on quite large programs, some of them reasonably small. What they all have in common is that they all want to transition to agile.

Most of them start this way: someone takes a Scrum class, gets all excited. This is good. Then reality hits. Scrum is meant for collocated geographically cross-functional teams. Uh oh.

Almost all of these teams are separated by function: the developers are in one place, the testers are in another, the business analysts are in a third place, the project managers are in a fourth places, and if there are product owners (or what passes for product owners) they are often in a fifth location. It’s not uncommon for every single function of the team to be separate from every other member of the team. So, the teams don’t fit the Scrum criteria. Uh oh.

Since Scrum has so much brand recognition, these people think if they can’t do Scrum, they can’t do Agile. Nope, not so. What they need to do is start from the values and principles of the Agile Manifesto, and go from there. They create their own lifecycle, and their very own brand of Agile.

When I worked with one client, that client thought they could extend their iteration. Nope, if anything, that means you keep the iterations even shorter, because you need more frequent feedback when no one is in the same place. Well, there were words. And more words. But, if you start from the values, you see that short iterations are the way to go if you want to be agile. Otherwise, you get staged delivery, which is a lovely lifecycle, but not agile.

I’m blogging a series of examples. Please don’t ask me why the people ended up in these locations. I have no idea. All I know is that’s where the people are.

Example 1: Using a Project Manager With Iterations, Silo’d Teams

One IT organization has teams with developers in the Ukraine, testers in India, product managers and project managers in the UK, and enterprise architecture and corporate management in the eastern US.

This organization moved to two-week iterations. The developers were 3.5 hours ahead of the testers, which was not terrible. This organization had these problems:

  1. The product managers had to learn to be product owners and write stories that were small enough to finish inside one iteration.
  2. The enterprise architects had to stop dictating the architecture without features to hang off the architecture.
  3. The developers and testers had to learn to implement by feature so the architects could help the team see the evolving architecture.

This organization had a ton of command-and-control to start. The project managers needed to facilitate the teams, not control them. The architects needed to help the teams see how to organize the product, not to tell the developers what to do. The testers needed to not be order-takers, as in taking orders from the developers.

You might ask why the organization wanted to move to agile. Senior management wanted agile because the releases got longer and longer and longer, and could not accommodate change. Agile was a complete cultural shift. The two-week iterations, along with an agile roadmap of features helped a lot.

The pilot project team consisted of the developers, testers, a product manager, and a project manager. The team rejected the enterprise architect as a member of the team because the architect refused to write code.

Release planning: The project manager and the product manager do an initial cut at release planning as a strawman and presented it to the team. “Can you do this? What do you think?”

Iteration planning: The team does iteration planning together, making sure every story is either small, medium, or large, where a large story can be done by the entire team in fewer than three days. The team makes sure they get every started story to done at the end of the iteration.

Daily commitment: The team does a daily checkin, not a standup. They timebox the checkin to 15 minutes. They ask these questions:

  • What did you complete and with whom yesterday? (reinforces the idea that people work together)
  • What are you working on and with whom today?
  • What are your impediments?

The project manager who acts as a servant leader, not a command/controller manages the impediments.

The pilot project has two experienced agile people: the project manager and a developer. Both act as servant leaders.

Measurements: burnup charts, impediment charts

The pilot team has been together for six months now, and is successful. This is not Scrum. It’s not Kanban. It’s agile and it’s working. They are ready to start another project team, working by attraction.

(Want to learn to work more effectively on your geographically distributed team? Join Shane Hastie and me in a workshop April 17-18, 2012.)

January 24, 2012 01:09 PM

January 20, 2012

Drum Roll: Public Workshop April 17-18, 2012

By Johanna Rothman

I’m so pleased to announce that Shane Hastie and I are leading a workshop on Working Effectively In Geographically Distributed Agile Project Teams, April 17-18, 2012 in Pleasanton, CA. Yes, that is Elisabeth Hendrickson’s Agilistry Studio.

Shane and I first delivered this workshop last year in Australia, when I was there for Software Education‘s SDC. We had a great time, and so did many of the participants. We have since evolved the workshop, to address the needs of the participants who did not have a great time, and to make sure we covered the topics we need to cover.

This is an experiential workshop. You will learn by doing and debriefing. If you’ve taken my one-day versions over the past year, you’ve had a taste of what we do in the two-day. You will learn even more from both of us. Remember, we developed this as a geographically distributed pair.

One of the benefits of signing up for the workshop is the informal consulting you can obtain, not just from us, but from the other people there. You’ll hear what other people are doing, what’s working and what’s not working. If you want, you can hear from Shane and me about what’s working and not working at our clients as they transition to agile and explore more agile approaches.

Do check out the syllabus. And, if you’re ready to sign up, please register.

January 20, 2012 02:04 PM

Spring conferences

By Willem van den Ende

Devnology Community Day, Saturday February 4, Baarn, Netherlands

Keeping with my plan to do more shorter, local conferences and not keeping with my plan to avoid weekend conferences, I’ll be hosting Robert Chatley and Matt Wynne’s eXtreme Startup at the Devnology Community Day

devnology participants in a circle with laptops and tablets
It was great fun to run it at last years’ XP Days Benelux. It’s always amazing to see how focusing on incoming feature requests lets you easily forget the big picture.
Participants at Devnology should have at least as much frustration ;) So bring your laptop or pair up with someone and join the fun. The only
thing you need is your favorite programming environment and a way to respond to HTTP requests.

FOSDEM – Sunday February 5, Brussels, Belgium

If you break a plan, do it in style. So I’ll also be doing something on the Sunday. Stephan Eggermont has arranged a Smalltalk Devroom at FOSDEM

We’ll probably be doing a longer version of Back to the Future, (Re)Learn Smalltalk like we did at the SPA Conference last year.

To keep my sustainable pace, I’ll just move my weekend to the Monday and Tuesday after these conferences. We’ll see how that works out.

Mini XP Days Benelux – Monday April 23, Heeze, Netherlands

Keeping up with the two main session themes of last year, smalltalk and configuration management, Stephan Eggermont and yours truly will rerun our session on getting started with Chef and Puppet at mini XP Days Benelux, the full program is yet to be announced.

Rob Westgeest kindly championed our session, as he assumed we learnt from the feedback from the previous session. The lego-themed slides were well received, but we could have focused the introductory stories more on one or two complete examples, as opposed to telling a bunch of benefits related to things we’ve done. The same went more or less for the code samples. It wasn’t clear to all participants how the ‘big picture’ fit together, so we’ll see if we can visualize that.

I look forward to seeing you at one of these conferences!

January 20, 2012 08:06 AM

January 19, 2012

Pragmatic Manager and InfoQ Video Posted

By Johanna Rothman

I have posted last week’s Pragmatic Manager, Are You Being Guilted Into Doing More?.

At Agile 2011, I had a great video conversation with Shane Hastie about agile project portfolio management. The chair is big, I’m not so short. The chair is big, I’m not so short. How many times do you think I have to say that to make it true? The chair is big, I’m not so short. That ought to do it.

January 19, 2012 12:51 PM