Imagine that you live with your wife/husband and four children in a beautiful house in a very nice neighborhood. Of course, you have to keep your house clean and tidy. You have to take your children to school, cook every day, fix broken things, have time to watch a movie or a series, go to the market, etc. etc. In this article I will explain SCRUM using your imaginary (or not) family.
You have agreed with your wife/husband that every Monday you will plan all the things to do that week, describe each task, and assign it (or not) to a family member. So our first step is:
1 - Identify the tasks to be done and describe them.
It is very important to know the main goals for this week. For example, we know that this week we will clean the house, go to the supermarket to buy groceries, take the children to school every day, repair the old TV, cook every day, and have friends over for dinner one evening.
2- Calculate the capacity!
Your wife/husband and you have to work from Monday to Friday, and of course you have to sleep too! So your capacity for the rest of the tasks is not 24 hours per day (168 hours per week). Let us assume that you both work 8 hours per day and sleep another 8 hours. So you have 8 hours Monday through Friday and 16 hours on Saturday and Sunday (72 hours per week). That's the couple's capacity. And what about the kids? Without school and playtime, each of them should also have 72 hours per week.
3- Plan your week
Now that you know what everyone can accomplish, you can hold a planning meeting (right at the kitchen table) and read out all the tasks to be done that week with a description. The most interesting thing about these meetings is that everyone estimates the effort for each task. You may think that cooking a meal is very difficult and takes a lot of time, but your older son is an expert at it and can explain to the whole family (with subtasks) how to cook it nicely and quickly. So, after this meeting, you will appreciate and prioritize all the tasks. You can estimate with your couple if you can do all the tasks depending on your capacity! Attention: always try to plan some time for the unexpected (for example, if something breaks in the kitchen).
4- Talk every day about how things are going.
Do not wait until next Monday to see if everything has been taken care of! Maybe someone in your family needs help, or a task was harder than expected. It is very important to talk every day and let the rest of the family know what you did yesterday, what you plan to do today, and if you have any blocks. Believe me, it's not nice to see everything messed up at the end of the week, or to realize one day that no one is going to cook!
5- Evaluate the week and prepare for the next planning!
Finally, the week is over. Tomorrow is Monday, and you need to plan for the next week. But what do you need to do? First of all, you need to evaluate if all tasks were done correctly, if the effort was estimated correctly, how many tasks came up that were not estimated on the planning day, and if the capacity is OK. Also, is everyone doing what they have to do? Is anyone doing tasks that are limiting their capacity? If there are some tasks that are not done yet, you need to postpone them to next week.
At this point, you may be asking yourself: what is the relationship between this article and my development team and project? Everything!
- The family is your team! Maybe you are the functional leader, your couple is the technical leader and your children are the developers and testers.
- The week is your sprint! A time when you complete the tasks estimated in the planning meeting. I personally prefer a two-week schedule, but it's important to decide what works best for your team.
- Maintaining your home and family is your project!
- The other meetings are used in the SCRUM methodology: daily, retrospective, planning, refining.
In some projects, you should have a customer who sets the main goals. On other projects, that stakeholder is you, or maybe another team member.
Of course, there is a lot of important information that is not in this article, and we will write about it. However, you have a basic first guide to understand how to get started in the Scrum world. Have fun with it!