Keeping Developers Productive – The Scrum Methodology – And Why I love it!
For the past few months, I’ve been working at a new company, and when people ask how it is, my response always tends be: “More tiring, but less stressful”.
Now this may sound like a contradiction, but in reality, it’s not. I am productive, exhausted, but since I’m also focused, there is little to stress about: How are we going to finish everything, Who’s work are we going to complete first, etc.
If you are in the IT/Multimedia industry, you’ve probably had your fair share of scope creep, last minute changes, lots of unfinished / uncommitted work, so much you wish you could have added.
Truth of the matter is, it doesn’t have to be like that. Team work can be focused, productive, fun and rewarding. If your team does not have a ‘methodology’ or that ‘methodology’ doesn’t work, you may want to consider the SCRUM approach.
Problems with current approaches:
The general Waterfall approach to complete a project is:
- Requirements specification
- Design
- Construction (AKA implementation or coding)
- Integration
- Testing and debugging (AKA Validation)
- Installation
- Maintenance
However, whilst everyone has a general overview of what to expect, what the final project should do, the devil is always in the detail, inter-dependencies kick in, certain things do not work as expected. Last minute features, changes, etc., are often shoved into maintenance.
The other area that also comes in is: How does one take a ‘finished’ product even further. User requirements can and do change over time. How does one start implement and roll-out these features.
What is the SCRUM?
SCRUM is defined as an iterative incremental process of software development. What this means is: break down tasks, build small, commit often, release frequently.
Why do I like SCRUM then?
Committing Code often. Break down tasks, and soon as you’ve finished them, you commit your work. This way, you never have unfinished code sitting on your laptop.
Goals. There is only so much you have to focus on. These are negotiated in the SCRUM planning meeting. The rest has to wait – for the next sprints.
Break down charts. We always call it the South Africa vs Australia run chase. The nice thing here is that everyday one feels one has made a contribution in getting to the goal.
Daily Standing Meeting. If any issues arise, there is an opportunity to raise them. The issue is how it affects a sprint, not whether it’s a personal issue.
Backlog. Any feature you would like can be placed in the backlog and considered based on priorities.
Product Owner. This is the representative of end-users / customers. The Product Owner belongs to the company, but works with end-users to understand their needs and requirements, and how the company can best respond to those needs and requirements. It is his/her job to prioritize the work that the development team needs to focus on. THIS IS A JOB BEST NOT LEFT TO DEVELOPERS.
Some resources for those interested in learning more about SCRUM:
Have a look at this video called:- Agile vs Waterfall: A Tale of Two Teams
Video: http://www.youtube.com/watch?v=gDDO3ob-4ZY
Wikipedia: http://en.wikipedia.org/wiki/Scrum_(development)
Software: Check out Banana Scrum – www.bananascrum.com. It’s free. Some screenshots below



