My dear reader, how are you? السلام عليكم
Quality is never an accident, it is always the results of intelligent efforts — John Ruskin
I have been exploring and practicing project management from a while now and being a part of the computing industry, I adopted the mainstream agile project management techniques in my daily work routine to get a huge productivity gain keeping in view of the work-life balance. In this post, I explain the agile project management and it’s two popular methods. Furthermore, I explain the SCRUM method in detail, share some useful tools to implement Agile SCRUM in your projects and how to modify the SCRUM method for your personal work-life management.
In the manufacturing industry, Just in Time (JIT) production has been a popular method for achieving high-quality production results in the past decades. This is the lean breakthrough that allows companies to get rid of large amounts of inventory and unfinished goods. Agile is based on JIT. In Early 1990’s Jeff Sutherland and Ken Schwaber, first created the SCRUM method as a software development process which brings the concept of agile technologies later. The agile ideology gained huge popularity among developers since then.
There are two popular methods that implement agile: 1. Kanban and 2. SCRUM. If we compare, Kanban uses the concept of visualizing the work using board called kanban boards as shown in Figure 1. This method is used for limiting the work in progress and to maximize efficiency. However, SCRUM aims to ship working software through set intervals called Sprints and the goal is to create learning loops to quickly gather and integrate customer feedback.
Fig 1: Illustration of Kanban boards
SCRUM method has gained much popularity since its adoption by many top companies like Google, Microsoft, Oracle, Adobe, Yahoo, CNN, IBM, Amazon and many more. It overcomes typical problems in a project that involves management to plan in the following way
- Try to estimate the entire project at the start and make a plan based on the initial estimation.
- The plan is overly detailed and requires months of efforts to produce.
- The actual team who is going to work on the project is not involved and management advocate to stick to the plan.
Jeff Sutherland (co-creator SCRUM) in his book “Scrum: The Art of Doing Twice the Work in Half the Time” explains the fundamental cause of problems in naive project management methodologies. The author thinks it is ‘cognitive biases’. It is a natural human tendency to think irrationally which gives rise to two issues. One is planning fallacy and the second is status quo bias. It has been experienced that management is usually over-optimistic and their estimates can be wrong from 15% to 400% about project durations. The resistance to what contradicts our initial plans brings in the sunk cost and give rise to status quo bias.
To overcome these problems, the SCRUM method was introduced. It has the following main features.
- Do detailed planning’s in small chunks (also called sprints or iterations)
- Plan throughout the project.
- Actively seek to improve the plan.
- Active teams of 3-9 people.
One SCRUM sprint/iteration prolong for a mostly one or two weeks and each sprint is divided into 7 main steps throughout its life cycle.
1) Populate the backlog for all the things that are needed to be done on a project (illustrated in Figure 2). This is usually done by SCRUM leader. Each entry in backlog is written in a story format starting with who needs it, what specifically is needed and why it is needed. Each entry in the backlog is then prioritize based on customer value and the immediate impact. A group of items in a backlog may also be referred to as an epic in SCRUM terminology.
Fig 2: Illustration of a SCRUM backlog
2) Step two is to estimate the difficulty level of each epic or entry in backlog using relative numbering schemes such as Fibonacci series (1,2,3,5,8,13 …) or symbols like (S, M, L, XL). It is easier to differentiate between the difficulty level from 8 and 13 due to the difference of magnitude than 8 or 9. Jeff suggests not to estimate in the number of hours as humans are terrible at that. Estimate using schemes which are more understandable.
Fig 3: Relative estimation in Agile SCRUM
3) Step 3 is to plat your work sprint (illustration given in Figure 4). Say your sprint duration is for two weeks. The goal is to complete the task at the end of each sprint. After each sprint, there is a demo date. Every SCRUM team member has to take responsibility and complete the assigned tasks before the demo date. Each sprint should be assigned points. Each successive sprint should improve the number of points by 10%.
Fig 4: Planning a SCRUM sprint
4) Make your work visible using a storyboard (sample given in Figure 5). The storyboard should contain three columns as shown in the figure and should be updated daily. And update burndown charts for each day (see given in Figure 6). At the end of each sprint, the goal should be to finish the tasks and the graph should hit x-axis once the goals are achieved.
Fig 5: Sprint storyboard
Fig 6: A sample burndown chart
5) Daily stand up meetings. The team should meet daily for 15 minutes and share what has been done yesterday, what needs to be done and any problems that need attention. These short standups are also called SCRUM meetings and are lead by SCRUM leader.
Fig 7: SCRUM standups
6) Give demo and get feedback at the demo date (end of each sprint). Either your work would be approved by all or would be asked for further improvements. In this way, you make continuous improvements based on feedback.
Fig 8: SCRUM sprint Demo
7) The last step is detailed team discussions after delivery of each feature to discuss what went well, what did not go well? and what improvements should be made?
Fig 9: SCRUM detailed meetings.
Hence, a project following the SCRUM method contains a series of sprints which follow these 7 steps.
What makes SCRUM powerful?
- SCRUM brings in exponential improvements in a project from start to its complete delivery as you get on time feedbacks from customers after each feature release.
- Follows 80/20 principal which means 20% of the effort should add 80% of value to the project.
- Sprints are a constraint for work hours. That essentially means that the amount of rework is reduced to a minimum because of poor decisions as you get immediate feedback.
Popular tools that help to implement SCRUM.
How to use SCRUM for your daily work management?
Use either open project or pivotal tracker as they have a limited free version available. Populate the backlog with all of your routine tasks and start following the SCRUM sprint steps. It may be hard at the start but consistency for a few weeks would help you organize yourself better and you would be able to track your weekly progress and understand what needs to be changed or improved to increase your productivity at the office.
I hope you find this post useful. If you find any errors or feel any need for improvement, let me know in your comments below.
Have you worked with SCRUM? Let me know your experience in comments.
See you next week! Happy learning.