Thursday, August 11

No time for meetings!

Today we had a fascinating brown-bag lunch where Darren Cotterill spoke about his latest project. I left the talk feeling energised, and encouraged: his latest project was really working and it seemed agility had triumphed.

Hopefully you can catch Darren at the local Sydney XP group: SyXPAC talking about his experiences, but for now here are the highlights:
  1. Weekly iterations mean no time for meetings, meaning very low ceremony: no formal Iteration Planning Meeting, Retrospective, Tear-Down of Kick-off. The development team is picking the stories for the next iteration.
  2. A small team of 3 devs, 1 PM, 1 BA are collocated and collaborating like mad: small teams rock!
  3. Good use of the iteration whiteboard means it has become the source of truth, and the PM trusts it for reporting development status.
  4. A running issues backlog on the whiteboard acts like a continuous retrospective.
  5. An excellent BA provides HTML screen mockups (no kidding!) along with simple story cards complete with acceptance criteria.
  6. Recently a re-estimation involving the whole team provided trustworthy estimates. It was achieved using a relative size estimation technique, on a whiteboard, at a rate of 100 stories in 6 hours.
  7. An excellent burn-up-chart shows completed stories per iteration and three projected dates to completion of the three levels of story priority.
  8. The team is using a very simple change tracking mechanism where they create a new index card, and give it a number based on the original story card. For example if there was a requirements change to story number 33, the new card would be created as 33.1 and would be added to the total scope of the project, thus adjusting the projected completion date on the burn-up-chart.
Not only is the process going well, but the technology is excellent:
  1. They have achieved the nirvana of a fast-feedback loop during development: edit, run and test in-place in the IDE using Jetty and careful source tree management.
  2. Using Hibernate, Spring and a tiny bit of Struts the team has achieved a light-weight and clean architecture.
  3. Using a session-in-view filter they can use the domain in the view. Note that I think this is a sign of maturity and a source of productivity in enterprise apps, but others may be shouting things like "encapsulation!" and "layered-architecture!". YMMV.
  4. Automated functional testing using the browser-driver Selenium allowing both visual and automated verification of end-to-end behavior in a real browser.
  5. CruiseControl continuous integration with automated deployment to a prod-like environment allowing instant and adhoc demos to the customer of the very latest code.
Now there is a project that sounds like a success waiting to happen. I guess our job now is to make our next project a bit more like it.

5 Comments:

Anonymous Anonymous said...

What about me?

DF :-)

4:38 pm  
Anonymous Anonymous said...

That's goin' STRAIGHT to the pool room

4:58 pm  
Blogger Joshua Graham said...

I went and had a look at the work area. The air was electrified (I don't think because of the low humidity in Sydney at the moment).

The other tech they have is the USB CruiseControl "build status light" which glows a lovely shade of iGreen on top of the build server.

10:09 am  
Blogger Ben Hogan said...

Daragh and Jason have blogged about this project too.

5:04 pm  
Anonymous Anonymous said...

Is there going to be a geek night on Monday 12th December? I am over in Sydney for a week only and would like to come along.

I looked at the Confluence page but nothing is listed for that day,

http://confluence.public.thoughtworks.org/display/GN/GeekNightSydney

9:56 pm  

Post a Comment

<< Home