If you know what are the rules of Rugby the word itself not require any explanation to you. Scrum refers to the part of the game where both teams try to move the ball down the field, while the whole team cluster fight to get the ball in the middle.
At Rugby the scrum team have to work together and have to be self-organized to achieve their goals. Everybody works together to figuring out the best way possible. The concept of self organized team and method of working together are the „bread and butter“ of scrum methodology and the main reason of success.
- Scrum is just one of many existing Agile frameworks. Others include Extreme Programming (XP), Kanban, Scaled Agile Framework (SAFe), DevOps, etc.
- Like many other Agile frameworks Scrum is iterative-based, meaning that we plan out our work in a time-box, commit to that work, do the work, and repeat until we are done.
- The focus of Scrum really is on the execution part of the project. In order to know what to execute on we need to pull in other Agile practices and frameworks to help get the end-to-end process.
To understand scrum we have to take a step back and discuss the Agile mindset. When we talk about Agile, people usually think of Agile as a software development methodology, project execution method. Those are the result of Agile but they are not Agile. Agile mindset is a combination of two mindsets. Growth Mindset + Value mindset.
- Learn through discovery – Having all the information upfront is good, but we have to accept some level of uncertainty at the early stage. Then, allow people to learn new things along the way (New requirements, estimation might increase, better process)
- Fail Early – People are afraid to try something new as they are afraid of failure. If we do not fail, we will not learn & we will never improve. Try to fail early rather than fail at the end
- Value-driven execution – Follow the value over follow the plan. We might have to change a plan in order to deliver higher value to customers
- Continuous Delivery – Product in the development does not help business to reach their objectives. Deploy our product to the product from time to time, not only help customers, it also helps IT as well. It reduces the difference between production & development environment, which helps IT investigate issues easier.
If you are understand both concepts(growth and value mindset) it will create a platform for
- Welcome change – If the change bring competitive advantage to the customer
- Continuous Improvement – The team should improve both product & process by building feedback loops.
- Feedback loop – Product feedback loop(feedback from users) and Team feedback loop(retrospective)
Scrum: Continoues iteration
Concept of sprint. Plan – Desing – Develop – Test, take place regularly on iteration basis not only once as during traditional method. Sprints durtation vary between 2-4 weeks. As per my personal experience the most ideal duration is 3 weeks. Two weeks of development and one week of testing.
- Product owner
- Scrum master
- Sprint planning
- Daily meeting
- Sprint review
- Product backlog
- Sprint backlog
- Burndown charts
- Team members hourly commitment. For precise planning each team member have to commit how many hours they can dedicate for the sprint.
- Requirements gathering. Product owner will specify each sprint goal and will aske ach team member for they estimate. Once estimates are ready requirements priorization will be conductied. To see what aktivity will fit into a sprint.
- Daily time writting. Every team member agrese to enter actual hours worked each day.
- Frequent builds. An automated proess should push daily builds to allow auto code merge and testing of features.
- Keep sprint scope as agreed. As a ground rule we have to make sure there are no additional requirements(user stories) added to sprint unless current requirements are developed and tested. Many cases this is a big challenge, specialy when we are at late sprints. Change request needs to be submitted for all new features. And until Prjoect LT approval not maintained developer should not start.
- Daily standup(daily scrum) meetings should be short. Goal is to complete meetings in 15 minutes but it can run till 30 minutes.. As a golden rule, any meeting about 30 minutes should not be called scrum meeting they are status meetings instead. Each team member should attend on time.
- Vision “owner”
- Customer representative
- Leads prioritization of work
- What to commit to and what sequence
- Accepts strategy stories as “done”
- Ensures the backlog is detailed enough, properly estimated and priotized
- Removes impediments
- Enforces values and practices
- Servant leader
- Not the decision maker
- Doesn’t commit to dates or budgets
- Facilitates with team and customer
- Actively looking for ways to improve the team
- Rotates quarterly
- Full-time members
- Cross Functional
- Accepts consult stories as “done”