Tuesday, July 31, 2007

Scrum Pros and Cons

When I was at Doubleclick Inc, we were part of Scrum rollout. We had Ken Schwabber himself coming in as a consultant guiding us on the rollout and the problems we were facing.

I think Scrum was really helpful...here is how I would summarize its strengths and weaknesses...

Pros:
  1. Scrum encourages teamwork and transparency. It helps breaking down hierarchies. It helps even a fresh developer to understand what an engineering manager and a product manager is doing (even though he might be clueless initially on what people are talking about :) ).
  2. Scrum focuses on user features. This is its strength as well as weakness sometimes (see below).
  3. Scrum is adaptive, and gives a good visibility to the management on development effciencies of all teams using normalized benchmarks (though this normalization would be difficult to achieve in practice).

Cons:

  1. Scrum focuses totally on user features. It might be very tempting for the team to get quick-and-dirty rather than slow-but-clean approach. Simple speaking, non functional requirements like clean scalable archiectue, clean consistent programming practices, consistent documentation, security of the system, memory footprint can easily get ignored, beacause they have no direct impact on user experience. It would be really cumbersome to clean up the system later on, when your userbase grows quickly, and hackers start playing with your system.
  2. Theoretically, Scrum asks every team member to forget his specialization (Developer, QA, BA etc.) and work as a team member. But, I could not comprehend at all, how a BA would understand about architecture and scalability when he does not know the difference between Java and JSP?
  3. It is primarily useful for product based companies. It does not focus on creating empirical feedback data that'll be useful across all projects (needed in services based companies). It does not focus on handovers (which is needed regularly in Indian high-attrition scenario :) ) and documentations needed for handovers. Power of simplicity is ok, but just removing some concerns from one's perspective (as against CMMI, which is a very heavy process pyramid in comparison) does not make them unreal.

Of course, I know very little about management or processes, but this was what my perspective, as a developer...but didn't dare to argue with Ken Schwabber then... :)

1 comment:

Craig Brown said...

Great insight on this topic. Thanks for sharing.