Going Agile - the CMMI something way!!!
Well we all know Scrum is on a roll and more projects are adopting it. But I saw something recently that was like a full course of lot of recipes for disaster. I am talking of a place that over the years has matured itself on 'goliath-weight' (heavyweight would be light for it) processes defined, documented, version controlled over a huge repository, process with thousands of forms if not millions. Going by that as a developer I had to fill up more 'lines in form' than the 'lines of code' I could write.
Well to start with, I had to come up a project plan - accepted. Then the crazy run began. I got questions from the quality guy. What about QA, why not code reviews? Where is defect prevention metrics? And the list of those long scary names went on while I was just numb thinking 'what the *uck?'
I then saw a well, 'document' which defined the 'Scrum Process' to be used by projects in the organization, defining how 'every project will do scrum, execute sprint. Poof!!!! Goes the Scrum.... May be I am wrong here but from what I have learnt, Scrum is a 'framework' and has to be adapted to every single project’s needs. But, I see the same problem of not letting go of the old and grabbing for the new as the root here.
But a few things that I think can address their concerns and still keep Scrum Agile.
There is no use writing review forms and quality docs and expecting developers to follow it. Well, face the truth; WE don’t really care about all that. Not that we least bothered about anything else than checking in pieces of rubbish and running back home, the processes are so not like what I wanted to do in life. How about realizing that their are tools that can keep doing such things which you document in quality docs. Using Checkstyle and Cobertura can help; fail the build if code checked in does not pass the check, or line and branch coverage drops below say 85%.
Many more things like this can help. You can have a document explaining what scrum is; its key-points etc. but for me documenting a Scrum process to be followed by all projects in your organization is what I call Confused Agile.