Posts Tagged ‘agile teams’

Agile 2010 Retrospective

August 17th, 2010 by damonpoole

As you have been seeing in the blog and on AccuRev’s Twitter feed, I spent last week at Agile 2010.  I thought it was aAgile Retrospective great show- I met a lot of interesting people, led three big Agile sessions, and even got to ride Epcot’s Test Track.  It was definitely a fun and eventful week in Orlando!

To thank you for your support this year, I promised to post my presentations in the AccuRev blog. The presentation from my first Agile 2010 session, Scrum and Kanban-Like Chocolate and Peanut Butter, has already been posted in case you missed it or were turned away.  (Agile 2010 volunteers ended up brining extra chairs into the event room but lots of people were turned away due to fire code restrictions.)

Here are the other two presentations I gave later on during the conference week, enjoy!

Agile 2010 Retrospective Agile 2010 Retrospective


_____________________________________________________________________________________________________________

Damon’s Agile 2010 Retrospective

In an effort to drum up ideas for next year’s Agile conference, I started asking some of the people I met with, “Why do you come to conferences like this?” I received a variety of answers and created a little retrospective video, all with my iPhone 4 and iMovie.

Inspecting and Adapting to Agile Processes

May 7th, 2010 by JMartin

Way back in my first job out of university, I was working in Washington, DC, as a Navy contractor, helping manage changes to an electronic countermeasures system.  Ah, those were halcyon days, when I was young and innocent green and scared of my own shadow.  There was this one person I had trouble getting along with, not so much because he was a mean person, but mostly because he would make wild statements and push the team in directions that didn’t seem logical to me.  Sometimes, he would advocate for decisions that seemed to me obviously to be bound for failure.  He was overbearing and he was old.

(Actually, he was about the same age I am now; a disturbing thought as I look back.)

Because he was old and I was uncertain, I couldn’t bring myself to disagree with him out loud.   I eventually was able to describe the situation to my boss, who responded with a statement that has never left me.  He said, “There are people who have 20 years of experience, and there are people who have one year of experience repeated 20 times.”

Culture of the Agile Process

The big difference between the two kinds of people is that the latter have lived their lives, reflected upon the things they’ve gone through, and learned from it all.  We often talk about Agile processes as being “empirical.”  What I mean when I say that is a team makes its commitments, and structures its delivery model around reality.  We don’t commit to delivering five times more in the next week than we’ve ever delivered in a week before.  We don’t abandon a practice just because we’re bored with it.  But the only way this reality-based planning and execution can work is if we go back and look at the reality we’ve experienced, review what worked and what didn’t and work to enhance the former and minimize the latter.

An excelling Agile team is continuously improving, and to do this it must be continuously inspecting.  We expect scrum teams to perform retrospectives at the end of every release and at the end of every sprint.  I encourage teams to also get into the swing of considering that every morning’s answer to the questions “what did I do yesterday?” and “what am I going to do today?” includes the implicit assumption that reflection on what you did yesterday informs what you are going to do today.  I am advocating for daily retrospection.

In rolling out Agile, foster a culture of continuous examination of what you are doing weighed against what you are trying to accomplish.  In addition to encouraging review of sprints and releases, continuously review your roll-out itself.  As you roll out new processes, regularly hold retrospections with the teams that are implementing and being affected by the roll-out, so that you can learn from their successes and help other teams avoid their mistakes.

Inspect and Adapt

The buzz phrase for this kind of behavior is “Inspect and Adapt.”  I see a lot of teams go through the motions of inspecting, but many of them don’t follow through with the second part.  Don’t bother to inspect something if you aren’t prepared to act upon the results.  An extended gripe session is nice to let off steam, but a team isn’t going to be enthusiastic about returning to the same old gripes sprint after sprint after sprint.  This is what happened to “lessons learned” meetings in the olden days: somebody diligently wrote up a report about the things we supposedly learned and then tossed the result in a filing cabinet and we would return at the end of the next project with exactly the same complaints.  When you are leading a team through retrospection, be prepared to act on the results (and make sure the team is empowered and resolved to act, as well).

However, if we come out of the retrospection with a prioritized backlog of improvement, we can plan that improvement into our practices and pull items off the backlog as we implement solutions.  We can all make commitments to the non-development activities that might be necessary to make our environment a better place.   If the backlog seems like it is filled with impossibly large problems, well, what do we do when stories are too big for our sprints?  We break them down.  Encourage the team to think of the smallest possible change they could make to improve their process.  Then encourage them to break that down smaller.  Then implement that first.

In this way, we can start being a team that has experienced 20 sprints instead of team that has experienced one sprint 20 times.

Agile Adoption and Organizational Change

May 4th, 2010 by JMartin

Number 5 on our countdown of the Top 10 Agile Success Factors deals with organizational change during Agile adoption.  As an external coach and trainer, I stand around in airports a lot.  I imagine we all have a story about the worst airport in the world.  The worst airport I regularly frequent is Denver International Airport.  The airport itself, to be fair, is a nice space.  The common area is open and airy, and although it is a largish airport, I never feel overwhelmed by crowds there.

Except for when I’m standing in the airport security line.

You’ve seen these lines at every airport.  The airport security experience is divided into two areas: waiting in line to show your ID/boarding pass and standing in line to be examined by metal detectors/x-ray machines.  Last trip out of Denver, I found myself in a line that was moving surprisingly quickly.  We all trundled through the maze of cordon ropes to get to the gentlemen who were checking IDs and boarding passes.  There were three of them and they were burning through the passengers at an awesome speed.  I was feeling good about their improved output.  Go airport security!

That was until I got through these ID-checkers and found there was nowhere to go on the other side because the two lanes of X-ray-ers hadn’t been able to absorb the impact of this improvement.  But the people behind me kept coming.  So, herd that we were, we kept trying to fit into the area between the checkers and the X-ray-ers, and our line got more and more crooked and bent away to the left.  The checkers were processing travelers with gusto. We filled up that space.  We spilled over into an area that was perhaps out-of-bounds.

I assume it was out-of-bounds, because that’s when we started getting yelled at.

So, I had to wonder, instead of yelling at us, couldn’t they have taken one of the guys off of ID checking detail and had him help with the X-ray processing?  Even if he isn’t certified on X-ray technology, he could be getting those bins lined up or helping people remember to take their laptops off or spotting those huge metal dangling earrings and full-arm-bracelets on the person in front of me before they try to get through the detector?

Similar Principles Arise with Agile Adoption

The same thing can happen with an Agile adoption.  It’s all well and good for a development team to adopt a few practices here and there and make their lives easier and improve their delivery.  Suddenly, you have a team that’s pumping out bits of code that can provide real value, but there’s some other group down the line that’s suddenly overwhelmed by this output.  The team is doing what it sees as its job and has optimized for release, but the local optimization impacts the overall system.

In Scrum, we start teams right off trying to help with this traditional optimization problem by pulling testing forward.  A delivery team is made up of developers and the testers and integrating their workflows. Involving them in the speed and planning improvements mitigates this firehose effect.

We’ve seen teams grasp this pretty quickly and Agile testing is no longer an oxymoron.  But what about the other teams that are affected?  We’re still seeing database teams and infrastructure teams that are segregated and isolated from the planning and execution of software development.  The marketing and customer-facing disciplines are often unable to understand how to go with the flow.  Since we care about full-delivery, the delivery is the full responsibility of a team and the best way to accomplish this is through a whole-team focus, a team that is composed of the right people to do the entire job, a cross-functional team.

Agile adoption is not just a whole-team effort, though; it’s a whole-organization effort.  Individual teams may adopt Agile, but without corresponding organization adjustment (creating the right truly cross-functional teams, scheduling vision and working packages to facilitate work management, creating a learning culture, supporting self-organization, etc), productivity increases will be washed away in argument and finger-pointing as other parts of the organization fail to have their gears mesh well with the teams that are changing.

Finding the Real Value of Agile Practices

Organizational structural change may be required, but it is only a tactical response.  The strategic piece is in the commitment to adopt Agile principles as well.  Agile practices work well because they map back to a set of Agile principles that guide personal interactions in the teams and super-teams.  The organizational leadership must be ready to lead the way by both showing and telling.  In the airport security example above, the root of the problem may have been an understanding and commitment to value.  It isn’t valuable to the customer to get through ID checking quickly.  The task is important, but it isn’t valuable on its own.  Sure the guys were doing a good job, but if I don’t get to my gate more quickly (without sacrificing security (there’s a whole post on quality wrapped in that parenthetical, eh?)), it doesn’t matter.  The value to the customer, and the thing that should be driving the entire group, is the final result.

However, if the high-performers are being rewarded for task execution instead of value execution, then there is nothing to encourage them to take up their Agile responsibilities and organize the workflow in such a way as to gain improvement.  They are being rewarded to look at local optimization instead of global optimization.  This is exactly what happens when you rate the quality of a tester on the number of defects she finds and on the developer when you rate only the number of new features she is delivering

An Agile organization encourages transparency and visibility because high-bandwidth communication between team members and between teams helps everyone involved perform and adjust as the work progresses.  We use burn down charts and taskboards to facilitate this communication and we have to recognize that it is the planning and execution of the work that is important, not the control of the initial plan.  This cannot work in a culture that is punishing me for showing that my tasks are going to take longer than originally planned. Only by giving you that information honestly and as early as possible, can we as a team do something about the problem.

Remember, you get what you measure for.  If we believe in the team-based and value-based principles, then our rewards and measures must reflect this.