Wednesday, February 27, 2013

Agile is the new BLACK - Fred George - Agile India 2013



Spoiler Alert

The below post is the complete experience report (more of dump) of Fred George's presentation at Agile India 2013. I hope I am not stealing his thunder or ruining it for you if you are planning to attend his talks scheduled in near future. Also this blog post is the best I can recall from my memory and notes, so please take this blog post as my version of his talk.

Agile is the new BLACK

Fred George gave his newest talk on "Agile is the new BLACK" at Agile India 2013. The talk derives its title from the fashion industry which popularize the statements of form 

"X is the new Y" 

Similarly, now everything in Software world has to be Agile, if you are not doing Agile, people are likely to frown at you.

Agile Smell

Fred has been someone who started coding since 1968, so have seen the Agile/XP family of Software Process develop from its infancy. The essence of the talk was that in Agile, the processes should never be set in stone. Agile by the very term encourages to constantly experiment and evolve the process itself. He introduced the term "Agile Smell", similar to "Code Smells" that helps you detect if you are doing Agile wrong.

I have known Fred as someone who laid the foundation of ThoughtWorks University (TWU), the internal graduate training program at ThoughtWorks. Along with planning the initial syllabus and schedule for TWU, he also designed many of the sessions. And having spent most of the last year as a trainer at TWU, I really appreciate the engaging way it has been done. The sessions are not a monologue or lectures delivered and done with, rather it is an experience which attendees and students become part of. Something similar was in store for this session as well.

Score Card

Fred presented a "Score Card" to the audience. He would put up a question, and then give out some options. Each option would have a positive or negative points associated with it. Based on the options you have seen or applied in your project, you can give yourself marks. For e.g.
The question can be around using Tools for Project Management in Agile Software Development. Then you can give yourself -  
  • +20 if you are not using any tools
  • -10 if you are using something reasonable
  • -25 if you are using a very expensive tool
The logic being, expensive tools with complex process tends to bind the team in a rigid tool oriented process rather than allowing the team to innovate and accelerate.

Agile Smells

Fred categorized recognizing Agile Smells under different categories.

Agile is not Waterfall

Waterfall came from manufacturing process. We better know it is not suitable for Software Development. So give yourself -

  • +5 if you use Story Cards
  • +10 if you have a Card Wall
  • -10  if Gantt chart is used to track progress

Iteration Length

Smaller iteration length meant quicker feedback. So give yourself -
  • +5 points if you have 2 weeks
  • +10 points if you have 1 week
  • +25 if doesn't exists currently
  • -10 same as year ago
  • -10 more than 2 wks
  • -25 more than 1 month


Roles in Agile Team

Traditionally there are 3 roles: business, managers, development. Fred is not one of followers of DevOps movement and opposes the idea of a separate DevOps role. +1 to that. Also, any roles that has "X - certified" should ring alarm in your heads.

So give yourself -
  • +5 points to every role you killed
  • -10 for introducing new role, specially one with "Agile -" to it

Tools

Give yourself -

  • +20 if you are not using any tools
  • -10 if you are using something reasonable
  • -25 if you are using a very expensive tool


For other categories I will give a quick summary

  • Process Guide
    • Having an editable wiki over rigid document
  • Bug Tracking
    • Fixing the bug right away over tracking it via tool, having a meeting to prioritize it
  • Permission to Ship
    • Shipping incremental change in the product over having a heavy process oriented release
  • Process Experiments
    • Regular experiment with the process over having a non-changing process
  • Requirements Hierarchy
    • Tracking the progress at Story level rather micro managing at Task level


Anarchy

As a inventor and proponent of Programmer Anarchy, Fred shares the practices they were able to get rid of.


Restarting Your Agile

In the end, Fred shares his handy checklist of restarting the agile in an organization.


4 comments: