For a better understanding of what Scrum agile framework I have to explain what Agile Methodology is in Project management.
What is Agile Methodology?
Agile methodology is a practice that promotes continuous iteration of development and testing throughout the software development life-cycle of the project.
Agile Methodology and the 4 core values:
1. Individuals and Interactions Over Processes and Tools:
The first value in the Agile Manifesto is “Individuals and interactions over processes and tools.” Valuing people more highly than processes or tools is easy to understand because it is the people who respond to business needs and drive the development process.
2. Working Software Over Comprehensive Documentation:
Agile documents requirements as user stories, which are sufficient for a software developer to begin the task of building a new function.
3. Customer Collaboration Over Contract Negotiation:
The Agile Manifesto describes a customer who is engaged and collaborates throughout the development process, making. This makes it far easier for development to meet their needs of the customer. Agile methods may include the customer at intervals for periodic demos, but a project could just as easily have an end-user as a daily part of the team and attending all meetings, ensuring the product meets the business needs of the customer.
4. Responding to Change Over Following a Plan:
With the agile methodology you can make a choice of the functionalities that are going to be implemented leaving aside the priority and taking more time in which it can be done.
What is SCRUM?
Scrum is an agile development method which concentrates specifically on how to manage tasks within a team-based development environment.
Scrum is an agile framework for managing a process such as software development that uses incremental as well as iterative practices. It consists of development cycles called ‘Sprints’ that help speed up delivery, ensure quality, and mitigate risks.
What are the Benefits Received from the Scrum Methodology?
- Higher productivity
- Better-quality products
- Reduced time to market
- Better team dynamics
- Happier employees
Scrum roles and responsibilities:
In the Scrum methodology there are roles and responsibilities to create a dynamic process while coding and creating new functionalities in a software.
The Product Owner is responsible for maximizing return on investment (ROI) by identifying product features, translating these into a prioritized list, deciding which should be at the top of the list for the next Sprint.
- The Product Backlog is a continuously improved list, with the initial version listing only the most preliminary and well-known requirements (no necessary well understood).
- The Product Backlog lists all the features, use cases, user stories, improvements, and bug fixes that are made to future releases.
- Product Backlog Items (PBIs) are usually sorted by value, risk, priority, and necessity. It is a sequence of highest to lowest priority, with each entry having a unique order.
- The Scrum Master helps the product group learn and apply Scrum to achieve business value. The Scrum Master does whatever is in their power to help the Team, Product Owner and organization be successful.
- Scrum Master ensures everyone follows the practices prescribed by Scrum.
- A Scrum Master is a facilitator and Servant Leader who encourages and demands self-organization from the development team.
- A Scrum Master enables close cooperation across all roles and functions, addresses resource issue and disobedience of scrum practices.
- A Scrum Master protects the team from external and internal distractions.
- A Scrum Master removes impediments so the team can focus on the work at hand and follow scrum practices.
- A Development Team is a collection of individuals working together to develop and deliver the requested and committed product increments.
- The development team may include software engineers, architects, programmers, analysts, system admins, QA experts, testers, UI designers, etc.
- The Development Team builds the product that the Product Owner indicates: application or website, for example.
- The Team in Scrum is “cross-functional”.
- The Development Team includes all the expertise necessary to deliver the potentially shippable product each Sprint
- The Development Team is self-organizing, with a very high degree of autonomy and accountability.
- The Development Team decides how many items to build in a Sprint, and how best to accomplish that goal.
- The Development Team is a cross functional, small and self-organizing team which owns the collective responsibility of developing, testing and releasing the Product increment.
- The Development Team may not appoint any team lead since decisions are taken collectively by the team.
The meaning of the Sprint in SCRUM
Sprint is one time-boxed iteration of a continuous development cycle. Within a Sprint, planned amount of work has to be completed by the team and made ready for review. Scrum projects are broken down into small and consistent time intervals referred to as sprints. They can be as short as a few days and are generally no longer than 3 – 4 weeks.
In a sense, one Sprint within Scrum should be a project in itself, with start and finish. We work towards a Sprint goal, we plan, refine, build, deliver, review and etc.
During a sprint there is a development team that comprises of cross-functional members who are capable of achieving the sprint goals.
Before the Sprint:
There is a sprint planning meeting.This meeting determines what the goals are for that sprint. Based on the team velocity, a set of features are pulled from the top of the product backlog to the Sprint Backlog for the coming Sprint.
During the Sprint:
These three questions allow for complete transparency. Everyone on the team is in the loop, and the answers make people accountable for what they say they will deliver. The results of this meeting are typically shared with the client.
A sprint planning meeting is conducted before the start of a sprint. The purpose of this meeting is to determine the sprint plan and set a sprint goal.
Sprint planning includes agreeing on the number of backlog items in the sprint that is the responsibility of the development team and as well as to define the goal for the current sprint and sprint backlog.
Benefits of planning?
- Enables the Team to agree on the sprint goal and commitment.
- Enables task discovery, sign up, prioritization and estimation.
- Creates the platform to communicate dependencies and identify team capacity to set and commit to an achievable sprint goal.
This meeting is split into two sessions:
- In the first session, the product owner reviews the list of features and defines what needs to be built during the next sprint.
- The next session involves identification of tasks that need to be executed, in order to complete the build.
Definition of Done or Acceptance Criteria
- User Stories encapsulate Acceptance Criteria,User story provides the context of the functionality the team should deliver. The acceptance criteria gives guidance about the details of said functionality and how the customer will accept them. The two of them together provide the whole deliverable.
- Acceptance Criteria are attributes that are unique to the User Story or Product Backlog Item.
- The goals of Acceptance Criteria
- Clarify what the team should build before they start work
- Ensure everyone has a common understanding of the problem
- Help the team members know when the Story is complete
- Help verify the Story via automated tests.
The Goal of a Sprint:
- A sprint goal is a short, one- or two-sentence description of what the team plans to achieve during the sprint.
- Why a Goal for each Sprint?
- Supports Prioritization
- Creates Focus and Facilitates Teamwork
- Helps Obtain Relevant Feedback
- Makes it Easier to Analyze the Feedback
- Supports Stakeholder Communication
Equivalent to a user acceptance test the Sprint Review is where the project team demonstrates the results of the work that they have done in the sprint and the Product Owner and any required stakeholders accept the work or not.
Sprint review is the meeting at the end of the sprint where the Scrum team and all the stakeholders get together and discuss what has been accomplished during the sprint and whether the sprint goal has been met.
The Sprint retrospective
- The goal of sprint retrospective is improving the development process. The Scrum team reflects on the previous sprint and discusses what’s working well, what could be improved, and how they could improve it to be more productive.
- For a successful sprint retrospective meeting
Try to answer the following sprint retrospective questions:
- What went well during the sprint?
- Is there anything that can be improved?
- How can we make those improvements?
Release in SCRUM
Releases are created by a product owner and contain user stories, sometimes from multiple products, that form the release backlog.
A release is bounded by start and end times and is used to organize the effort of the release teams working on user stories. Typically, the product owner creates the release teams and decides when the release is complete enough for delivery to a customer. A release can use multiple teams.
Founded in 2012 by Allan Porras, 4Geeks is a global software engineering and revenue growth consulting firm for Fortune 500, Global 2000 and fast-growing SMBs. Provides top solutions to multiple industries including Retail, Healthcare, Banking & Financial Services, B2B SaaS, Manufacturing and Education. HQ in the USA, and delivery centers across Latin America.