Need training, coaching, or help leading an agile transformation?
email: mike@cottmeyer.com or call: 404.312.1471

Monday, September 6, 2010

Getting Predictable

Over the past few weeks, I've made two assertions about new agile teams. First... teams need to get good at calling their shots. To me, that means that over time, a well-formed, stable team should get good at being able to predict what they will get done over the course of the next iteration. Second... teams need to get good at knowing the size of their bucket. To me, that means that over time, a well-formed, stable team should establish a predictable cadence of delivery... one where their past performance starts to become a predictor of future performance.

These two things are what fundamentally separates an agile project from total chaos. Without the ability to make and meet commitments, without the ability to look ahead and forecast what might be able to get done... we are asking our customers, our businesses, to make an indefinite investment in a project with no general ideal of what they are going to get when time and money runs out. To me... that is total non-starter.

So, granted... there are lots of barriers to a team being able to call their shots and establishing a stable bucket size. First, is that teams have dependencies... things beyond their control, that might prevent them from being able to get stuff done. In addition, many teams are NOT well formed, and DON'T have everything they need to deliver and increment of working software. Some "agile" teams just do the development and pass off their work to a dedicated QA team. All of this is not particularly conducive to establishing any sort of stable delivery patterns.

So... I see these patterns repeated so often, I'm getting to the point where... with every company I work with... we start the conversation with the idea of teams. If you want to do agile, you have to form teams. We can be successful doing something else, Kanban maybe, but the fundamental prerequisite for doing agile, and even having a shot at this level of predictability, is a well formed team that has everything they need to deliver an increment of working software.

That said, I don't think having a well formed team is enough. Even well formed teams are going to hit things they didn't anticipate. Teams are going to learn more about the requirements. They are going to learn more about the technology. They are going to learn more about their customers. When you are constantly dealing with unknowns, it's tough to establish any sort of baseline delivery pattern. The trick is to drive as many of those unknowns into the project as early as possible.

How often are we inclined to get started burning down the backlog by pulling off a few quick wins? Let's get some of the easy stuff out of the way so we can get started writing code really fast. That kind of thinking is what leads to late discovery in the project lifecycle. It causes late thrashing. You risk building software that is going to change once we are forced to tackle the hard stuff. You leave all the uncertainty until then end when you have the least amount of time left to do something differently.

In order to get good at making and meeting commitments, in order to get good at establishing a steady delivery cadence, you've got to deal with your risk and uncertainty... your thrashing... early in the project. That means we are going to build the really high value stuff early so we can get feedback from our customers to make sure we are building the right software. It means that we are going to build the hardest, most technically difficult stuff... the stuff we know the least about... first. That way, if we have to take a different approach, or the project is going to cost more than we thought, we know that as early as possible.

So sure... do I expect a team in this phase of the project lifecycle to be predictable? Of course not. I'm willing to make an investment of several iterations to build some product, reduce key risks, and get the project stable as fast as possible. After I am comfortable that we have sufficiently reduced our risks... I do expect the team to get into a delivery groove as we build out the rest of the product. That means being predictable. Getting the risk out early is an enabler of predictable delivery cadences.

So that's my take... building well formed teams and early and rapid risk reduction are the keys to becoming predictable. What's yours?


Subscribe to Leading Agile

Sunday, September 5, 2010

Cool Agile Stuff in Atlanta... In September

Retrospectives Workshop with Esther Derby


Esther Derby is doing a one-day retrospectives workshop here in Atlanta. Esther is awesome and co-wrote the de-facto book on agile retrospectives. If you've spent any time with me, this is one of the books I always mention... and I'm not shy about drawing ideas from Esther's work when I'm in need of something new. The course is on September 21st at the AMA Atlanta Executive Conference Center. The price is $350 for folks attending the Web Industry Conference, $450 standalone. I asked Esther if she would give us a discount code, and she was able to make it happen... the problem is, I don't know how much off the code is! Give it a try WDUSA-DERBY.

Follow this link for more information or to register:
http://usa10.webdirections.org/workshops#agile-retrospectives

Agile Atlanta/Scrum Meetup with Esther Derby

So, as you know... Esther is in town to do here retrospectives workshop. I wonder where you heard that ;-) She is also going to do a talk for the Agile Atlanta group the very next day on September 22nd. Since that was the same day as the Scrum Meetup here in town, we are going to combine both events. The combined meeting will be at the normal Agile Atlanta location at Matrix Resources in the Perimeter Mall areas. Go to http://www.agileatlanta.org/ for the address, time, and directions to Esther's talk. I will be there, so if you are in town, come meet me too ;-)

Certified ScrumMaster Training with Lee Henson

VersionOne is hosting a local Certified ScrumMaster training course. They are doing the course in their Alpharetta offices. Lee Henson will be your CST. I used to work directly with Lee back in the day at VersionOne. He is a great guy and you will have a blast taking his course. Lee was the person that did my CSM training, so I can attest to that first hand. VersionOne is offering early bird rates and a 20% off promotional code. The code is V1Scrum.

Follow this link for more information or to register:
http://www.regonline.com/builder/site/Default.aspx?eventid=869442&mkt_tok=3RkMMJWWfF9wsRoiv6jKZKXonjHpfsXx6%2BsrW6Gg38431UFwdcjKPmjr1YAJScN0dvycMRAVFZl5nRpdCPOcc45P9PA%3D

Innovation Games Workshop with Jason Tanner

Here is another great opportunity in September. Jason Tanner from Enthiosis is doing an Innovation Games Workshop on September 29th and 30th. These are also being held in the VersionOne training facility in Alpharetta, so the location is excellent. I don't know how much you guys know about Luke Hohmann's work on Innovation Games, but they are great facilitation techniques for helping people get really creative in the product development process. I use Luke's games in a variety of settings... from product visioning to retrospectives. It's is excellent material, and you will get a ton out of this course.

Follow this link for more information or to register:
http://innovationgamesatl.eventbrite.com/

I hope you can make one or more of these events. It is great to see world class thought leadership here in town. There is a lot we can learn from these folks!

Note: Each individual in this post asked me personally to promote their offering. I'm happy to do this kind of stuff when I can. If you are in town and have something valuable to offer the agile community, please let me know and I'll do what I can to help you out. I am not affiliated with any of these courses in any way, other than I really, really like the people offering them ;-)

Subscribe to Leading Agile