Scrum is an agile development process that promises to result in continuous improvement to a team's productivity. In this interview with Artima, Rodney Carvalho, co-founder of ScrumNinja, a maker of an online Scrum tool, explains what makes Scrum useful for development teams:
Scrum is a framework for software development. It's not about how developers program, or about things like code inspection, but about how a team interacts together and how you can successfully deliver a project.
Scrum is an agile methodology, and is based on iterations. It has an entire iteration phase that you start with planning. You plan the minimum amount, just enough for you to get started. Then, at some point, there is a demo to the customer showing the features that you actually implemented.
At the end of what we call a sprint, we have a review cycle, or retrospective, which is a post-mortem: You look at what went well and what didn't. That allows you to make changes for the next sprint.
There are only a few things that Scrum asks you to do. When you ask several people who've had experience with a Scrum project failing, it turns out that they did not follow some of those things.
One of the important things about Scrum is always working from a prioritized list of items. When we first started working with Scrum, the prioritized list was a huge improvement in productivity. While it's a simple idea, a lot of developers like to work on things they enjoy. Those are not necessarily the same things that are important the business user, or that has business value. Just having that priority list really helps productivity.
The review phase is another key component in making Scrum successful. That really lets you see what made you succeed or, frequently enough, what made you perhaps fail. Until you really understand that, you can't improve your process. Someone else may be telling you what you should do, but until you yourself understand that point of view, based on your own experience in the project, you are unlikely to make improvements to the process.
ScrumNinja, our product, helps you do Scrum by making the team focus on good Scrum practices. We found that many other Scrum tools are a bit heavy-weight, with not very good usability. Many tools, in fact, take a lot more time to use than the time they would save. We try to be a really light-weight agile tool that doesn't get in the user's way. Our tool gives you an easy way to do your iterations, to estimate.
What do you think of Scrum as a way to improve team productivity?Post your opinion in the discussion forum.
Frank Sommers is an editor with Artima Developer. He is also founder and president of Autospaces, Inc., a company providing collaboration and workflow tools in the financial services industry.