Scrum: A structured approach
Scrum is a very popular and most commonly used Agile framework for the continuous development of software enabling frequent deliveries and collaboration with the development team. In Scrum, each iteration is referred to as Sprint.
Each Sprint lasts for about 2 - 3 weeks depending upon the organization. A scrum is a time-bound event that lasts for 2 weeks time in most software developing companies to deliver functional software.
People involved in Scrum
1. Product Owner
The Product Owner acts as the representative and is in direct communication with the customer in delivering the working piece of software at the end of each Sprint. The Product Owner plays a major role in delivering the customer requirements to the development team.
Once the requirements are gathered, the Product Owner develops the Product Backlog and coordinates with the development team to prioritize the tasks required for the Sprint. The Product Owner emphasizes delivering the shippable software at the end of each Sprint by working in collaboration with the customer and the team.
2. Scrum Master
The Scrum Master is dedicated completely to foreseeing the teams following the scrum practices. It is the scrum master's responsibility to closely monitor and make sure that the team follows the scrum principles, values, and processes.
3. Development Team
Scrum facilitates working collaboratively as cross-functional teams including coders, testers, designers, and analysts to build a functional product.
Events in Scrum: Backlogs and Meetings
Image Source
1. Product Backlog
Initially, the Product Backlog contains all the features and functionalities required to develop a software road-mapped by the Product Owner and given to the development team.
As the Sprint moves forward, the incomplete tasks, bugfixes, and changes are also added to the Product Backlog at the end of each Sprint, to prioritize and work on the functional software product strategically.
2. Sprint Planning
The Team then plans on the tasks to be prioritized, taking into account the effort required by the team members to deliver the shippable software.
This is where the actual Sprint starts and the entire team has to agree upon what is to be delivered at the end of the Sprint and how to accomplish that work.
3. Sprint Backlog
Sprint Backlog is the task prioritized by the development team. The Sprint Backlog is the list of tasks picked from the Product Backlog to be completed during that Sprint. The team develops strategic plans to efficiently deliver the product.
4. Daily Stand-up Meeting
A 15-minute team meeting conducted by Scrum Master focuses on creating a plan for that day's tasks. It mainly answers the following questions.
- what I did yesterday
- what I will be doing today
- what are the blocks faced to complete the task
5. Sprint Review
A demo meeting is held at the end of each Sprint showcasing the shippable software to the customer, making changes, and updating the Product Backlog if needed.
6. Sprint Retrospective
A Retrospective meeting is conducted within the development team to discuss the team's performance to introspect themselves, deal with their strengths, weaknesses, and difficulties faced, and create a plan to improve in the next Sprint.
Kanban: Stop Starting and Start Finishing
Kanban is derived from a Japanese word loosely translated as "card you can see". Kanban is usually used to visualize the workflow enabling project transparency across the team. The tasks are usually written on a sticky note and are placed on a whiteboard mentioning
- To-do
- Doing
- Done
Image Source
Pull System is used when a task is completed in the "Doing" column and a new task is fetched from the "To-do" column.
Work In Progress Limit is set in the Doing column which represents the maximum no.of tasks to be done at any time in the product development. A limit is set for the no.of tasks that can be performed simultaneously. No new task can be pulled until the assigned tasks are moved to the "Done" state.
Kanban focuses on the"Stop Starting and Start Finishing" approach, focusing on the amount of work that has been completed and NOT the amount of work that has been started.
Scrum Vs Kanban: Which one is a better framework?
A scrum is a time-boxed event and it focuses on delivering the functional software at the end of each Sprint and the work must be completed within a given time frame. Whilst, Kanban focuses on delivering the products continuously on as-in need basis and aims for continuous improvement.
Though Scrum and Kanban work on continuous development and consistent delivery of the product, their approach is different and it is impossible to conclude one is better than the other.
Hence, Scrumban was developed by combining the important features of Scrum and Kanban to make the teams more efficient and productive.