I attended the Deep Lean conference held at MIT on November 3 & 4 2007. It was an information-packed 2 days with Jeff Sutherland, Mary Poppendieck (with Tim Poppendieck contributing by answering some questions), and Nancy Van Schooenderwoert. Jay Conne (Current President of the Agile Bazaar) hosted and added to discussions.
The weekend covered the origins or agile software development (including many references to The Toyota Way), the cultural and mindset aspects, the techniques for optimal agile, business proof of why agile is best for software development, and great war stories from the field. There were many references given for further reading and study. There was some discussion about how CMMI fits with agile and how if an organization is praticing Scrum well it is already performing as a CMMI level 3 organization. I suppose this may be true in theory, but deserves looking at this carefully. The last session on Sunday was an open panel with many very good questions asked. I also had the opportunity to sit across from Mary Poppendiek at dinner on Saturday evening where I heard more interesting stories.There were a few things that I thought were particularly interesting during the weekend.
- 80% of the features delivered in a waterfall lifecycle are never used, therefore, in an agile lifecycle the 20% that are used are delivered first. Then you realize you are done and can sell it in 1/5 of the time.
- Scrum needs to be applied to other parts of the organization, not just software development. For example, Sales contracts need to be crafted with the idea of time-boxed commitments and delivery with feeback expectations on a regular basis.
- Executive planning and commitment measures (KPI's) need to be consistent with time-boxed development cycles. You can't have an agile lifecycle with waterfall measures.
- Scrum (or any agile iteration) needs a cadence (see my blog entry 'Agile Peak Performance in Early Startups') to keep the stride of the engineering organization. Re-prioritization of stories and changes in the work to be performed must be planned for a following iteration so as to not disrupt the current iteration.
- Retrospectives are great for reflecting on the iteration just completed, but process improvement in agile teams must be much more than that. It must include a "Kaisen Mind": a stop the line attitude to fixing problems (defects and process) as they occur and regular reflection on things that need to improve for optimal performance and quality. Don't accumulate technical or procedural debt.
- Product Owner is a key role that requires the right person to both represent the customer, and be able to maintain prioritized stories that meet the objectives of the business and the timely needs of the development organization. Product Management still requires traditional Product Marketing Principles and should not be confused with the Product Owner role of breaking down the detail features and prioritizing them, even if both of these roles are the same person.
The speakers intentionally didn't dwell on the mechanics of the Scrum Master or Product Owner, but did talk about the importance of these roles and did answer specific questions about these roles. I asked the panel "...with your experiences, do you recommend managing stories and tasks on paper cards, streadsheets, or an agile lifecycle management tool?" Jeff Sutherland responded that he always uses the paper cards and the traditional Scrum Board in the war room as the regular way of managing the work. He does use other tools, depending on the size of the project and how the teams are dispersed, but will generate cards from the electronic system for use in the war room.
In conclusion, I felt I got my $600 worth of the conference. I highly recommend this conference to leaders, managers, and executives who are either practicing or thinking about practicing agile lifecycles in thier organization. You will leave a believer, have a means for justifying making the move to agile, and have an arsenal of references to share and for further reading.