In this feature, we will introduce the process of Scrum and Project Management. Plus, get insights on other technical principles, from Code Ninja's Scrum Master, Anton.
You’ve probably encountered the term before: Scrum.
If you’re into sports, then you know that “Scrum” is a term used in Rugby, referring to “an ordered formation of players” in a team. However, in the world of Agile Software Development, Scrum is a framework for completing complex projects. Originally formalized to cater to software development projects, it manages to work well for any complex, innovative scope of work. With Scrum, the possibilities are endless.
Getting a chance to talk to Code Ninja’s Scrum Master Anton, we get to discuss the basics of Scrum, its origins, what it’s all about, how it helps with a project and the processes that are involved.
If you were to describe what a Scrum Master is in layman’s terms, what would it be?
A scrum master can be described as a facilitator, a coach, a catalyst for improvement, and a process enforcer to an agile development team.
In your own words, what would you say are the goals of a Scrum Master?
The goal of the scrum master is to make sure that the team adheres to the prescribed scrum process, to prevent unwanted disturbances during the sprint, to eliminate possible impediments to the team’s progress, and to encourage the team to improve further. The idea is to allow the Scrum process to highlight problems in the team, the process itself, and the organization as a whole. Our focus is to foster the “Kaizen” mindset to everyone who is involved. “Kaizen” is a Japanese word that means “to change for the better” – as “Kai” means “to change” and “Zen” is to “better” or “good”.
How would you describe the Scrum Process in layman’s terms?
If I am to explain it to a child, here’s how it would go: Let’s say that you have a Wishlist, a Magic Box and a Genie. You can put your Wishlist in the Magic Box and after a specified time (around two weeks), you can get things from your Wishlist. This is the idea of Scrum. So if we equate the characters to parts of the Scrum: You are the Owner of the Wishlist, the Magic Box is the Technical Team, and the Genie is the Scrum Master. If the box encounters an obstacle, it can inform everyone why it cannot proceed with its work. This is when the Genie comes in and attempts to remove the obstacle. While the Magic Box works, no one is allowed to intervene with their work as the Genie guards the box from external interference. At the end of the cycle, the Genie manages to inspect the Magic Box and their work for any inefficiency so that it will be better with its work in the next cycle. This is a simple way to explain Scrum: it’s easy to follow, but difficult to master.
What are the steps found in the entire Scrum Process?
Scrum focuses on getting increments of work done within a defined time-frame called “Sprints”. Here are the things that happen within a Sprint:
- Product Backlog
The product owner creates a prioritized wish list called a "Product Backlog".
- Sprint Planning
During this period, the team takes a small part on the top of that wish list called a "sprint backlog", and they discuss and decide on how to implement it.
- The Sprint
Taking about 2-4 weeks, the team takes this time to complete the work, and they meet every day to assess their progress in a meeting called a "Daily Scrum".
Along the way during the Sprint, the Scrum Master usually provides guidance with the use of a "Burndown Chart". This is a forecast of how much progress the team has made at the end of each day.
- At the end of the Sprint, the work should be potentially presentable: meaning it should be ready to be handed to a customer, put on a store shelf, or shown to a stakeholder.
- The Sprint is concluded with a Sprint Review and a Retrospective.
- As the next Sprint begins, the team choose another chunk from the backlog and the cycle begins again.
What are the technical principles involved in Scrum?
Scrum highly values Edward Deming’s philosophy on management – “When people and organizations focus primarily on quality, defined by the following ratio:
Quality = Results of Work Efforts / Total Costs
Quality tends to increase and costs fall over time.
However, when people and organizations focus primarily on costs, costs tend to rise and quality declines over time.
What are the Do’s and Don’ts in the Scrum Process?
Being a technical person prior to being a Scrum Master, I realized that it was very easy for anyone to write a working code even if it is badly written. The challenge is on how one will organize the codes. If organizing codes can be a challenge for an individual, the complexity is amplified when a team tries to organize their codes. This is where software engineering principles come into play. Having an understanding of these ideas, I simply encourage them to learn more. On regular intervals, I provide tutorial sessions to the team. Enforcing their learning further, I introduced changes to their work environment so that they are enforced to adhere to these new ideas (such as the introduction of Test-Driven-Development and enforcing it through a Continuous Integration System). I believe much still needs to be learned, but one tiny improvement at a time would definitely lead to having a team with strong technical skills.
What are your best practices when it comes to Scrum?
In regards to best practices, I'm afraid there might be none. It is often said during scrum trainings that “Scrum is not a silver bullet”. It does not provide solutions to an organization’s problems, but simply highlights them. It is then up to the organization how to respond to it. Perhaps the trick is on learning more about its 4 Values and 12 Principles.
Code Ninja Profiles: Aljerro
From Perl Developer to Lead Engineer: Join the team as we celebrate Al's 5th anniversary! Unleash your full potential and experience personal and career growth. #LifeAtCodeNinja
How Does One Become A Code Ninja?
How Does One Become A Code Ninja? The Code Ninja Recruitment Process So, you have decided that you wanted to become a Code Ninja. Do you