My biggest issue with Scrum is not the methodology itself which I believe is very effective for software engineering, it is how Scrum is typically adopted by development teams. In my experience most teams that are new to SCRUM seem incapable of trying to use and understand Scrum without first modifying the Scrum process to ‘suit their unique development culture’.

These modifications while being well meant usually distort the Scrum process sufficiently to doom the process e.g.

  • The scrum master is also the product owner.
  • Assigning each programmer to multiple scrum sub-teams.
  • Weak scrum masters that are unable to control a stand up meeting.
  • Scrum teams of 20+ programmers.
  • Stand up meetings with chairs…
  • Stand up meetings taking 30-60 minutes due to meta-discussions.
  • Not reviewing task estimate accuracy.
  • Not tracking all work being performed e.g. bug fixing, training, holidays etc.
  • Not engaging stake holders.
  • Not having daily stand ups.

I think Scrum is a very useful methodology when its applied correctly as it constantly captures, measures and responds to changes in the project. However Scrum seems to have a fairly unique problem that its very hard to stop teams tampering with the methodology before they really understand the implications of their changes.