Sunday 4 January 2015

Invent...but do not re-invent the Wheel!


I would like to start with the old saying, "Don't reinvent the wheel." And really, it is an important message! When the wheel was invented, it was made of a simple wooden log. The requirement increased and gradually there were many value additions, such as spokes, rims, tires, alloy wheels, tubeless tires, etc. And that's what we do at our workplace on regular basis: put value additions onto our work.
For example, we use the same libraries already used by thousands of programmers earlier, but we extend these, make some tweaks for specific requirements as and when needed. Hearing this, I know some of us smiled and murmured, "Inheritance?"

Recently I had a talk with a group of IT professionals. I was trying to understand their views on agility and especially on Scrum. (Being a big proponent of Scrum, I love to get involved in such discussions and guide people toward the benefits of Agile and Scrum -- benefits they are not always aware of.) To my surprise, they straightaway remarked that Scrum was not going to help them produce their product. They had already discussed this extensively with other Scrum practitioners.

Later I came to know that their product was reported with many defects, most of them due to not understanding the requirements correctly -- and of course there were a few change requests as well. The product was out, and till the existing defects were resolved there was no plan for next releases. So do you think that coaching them on Scrum was the right step, when there was a sheer need to deal with the current situation? The alternative Agile approach to suggest to them was Kanban. I discussed the way they were handling things and proposed that they follow Kanban principles of visualizing, limiting the work in progress, and managing the flow. They tried Kanban and, as expected, it worked well. Kanban helped them manage the work flow fantastically. And now they were interested in discussing Scrum for their next release. There are still lots of challenges to face, but at least the start has been made, and made well.

This was one such case. The big misconception about Scrum is that it is a tool that can develop products rapidly, inexpensively, and with quality. No! Scrum is not such a tool. Scrum is a framework that helps teams work differently, think differently, and develop products with the goal of the satisfaction of all involved. There are no hard rules in Scrum to follow, and there can't be. Product development is too complex for a single set of rules to fit in all circumstances. Scrum is a proven framework that suits most domains and most situations. To experiment with and enjoy Scrum, you have to identify the requirements of your organization and, if required, tailor the Scrum practices to suit those requirements, while ensuring that the essence of Scrum does not get vaporized. As a next step, your tailored Scrum may lead to Lean Agile practices for your organization. Enjoy it!

No comments:

Post a Comment