Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
What is Scrum?Scrum is a software development methodology that helps teams build better software faster.
Why is Scrum popular?
In fact there are several reasons. Let me list all of them:
- Scrum looks very simple. Indeed, the methodology is very lightweight with just 3 roles, some basic reports and rules. So you may have a feeling that you know how to apply Scrum after reading a single book. This feeling is definitely false, but still it looks simple and people like simplicity.
- Scrum works. Yes, it does. In many cases it works better than the traditional processes.
- Scrum is commercial. There are many trainers around, there is Scrum Alliance that runs many courses and does everything to make Scrum popular. The first agile methodology most people know is Scrum. Technically, Scrum is very similar to Extreme Programming, but historically it happens that XP is not so popular, while Scrum is.
How long has Scrum been gaining popularity?
10 years ago some people heard about XP, but only a few heard about Scrum. So I think it started spreading over the world about 6-7 years ago. Now it is the most popular agile process.
What are some of the drawbacks of the conventional software development processes?
There are many. To me the worst thing in waterfall is extremely slow feedback. Fast feedback is vital for project success, but with waterfall you have very long feedback cycles (sometimes years). With such long cycles everything may change. Business may change, requirements may change, etc. It is hard to cancel such a project, since it is often “90% done”. Business has close to zero visibility about the real progress.
It is extremely hard to provide meaningful estimates. So most projects are seriously late and over budget.
How can a company benefit from doing Scrum?
- Fast feedback. With short iterations you can show working software much earlier and receive a valuable feedback.
- Transparency. Again, short iterations provide good transparency.
- Good financial control. Business can cancel or stop a project after any sprint (in theory, in practice it is not that easy).
- Better quality. Most practices in agile processes help development teams to fix the root problems and create a better software.
- Faster time to market. Agile teams often have better morale and motivation to create something great. It definitely affects how they work and how they ship.
Before a company chooses to even do Scrum, what questions should they ask themselves?
Scrum fails if there is no support from C-level people. Business should understand really well what Scrum is all about. Good questions to ask are “Who will play the Product Owner role? Do we have such people?”“Can we really delegate all the technical decisions to the team?”“Are we ready to trust developers?”
Scrum adoption requires a shift in mindset. And this is not a simple switch. It may take years to change company culture. Scrum does not work in complicated structures filled with political games and stupid rules.
Do companies really need a tool to help them do Scrum?
Not always. If you have a co-located team, I recommend to start with the simplest tools like whiteboard, sticky notes, etc. In this case you can focus on the process itself. Simplest tools encourage communication and creativity. So if you can live without an agile tool, do that.
However, remote teams and large teams can’t rely on whiteboards. They need something unified to store all the data, plan sprints and track progress. In such cases, a web- based tool is a must.
When a company is in the process of selecting a Scrum tool to help them meet their needs, what kinds of things should they look for in a tool?
The tool should be adoptable. Too often agile tools are very restrictive (you should have just this project structure, with such and such entities, etc). A good agile tool should adapt to various projects and needs. It should not force you to change development process.
It should be easy to use. People don’t like to spend their time on tools, they want to spend time doing the real work.
It should be integrated to replace any current tools for bug tracking, time tracking, etc. It is better to have one good tool than several good tools in this case.
Will Scrum be gaining popularity in the months/years to come?
I think Scrum will continue to spread. Quite many companies stick to the old software development methodologies. This is changing and changing quickly. Agile processes are on the rise and Scrum is not an exception. I believe in the next 10 years we will witness the total agile adoption.
Opinions expressed by DZone contributors are their own.