What is Agile Methodology?
If you’ve ever heard the words Agile or Scrum, but you don’t know what they mean, you’ve reached the right article.
In the following paragraphs, I present to you one of the most famous project management methodologies that make software creation much easier and more fun.
A little bit of history..
A few years ago, a methodology called Waterfall was intensively used in the software industry. This methodology splits the project activities into sequential phases, where each phase has to be completed before starting the next one. The problem with this methodology is that the client receives the product at the end of the project and he won’t know if the solution fulfills what he asked for. Besides that, the world is changing fast, so the ideal product requirements should adapt to the current market.
In order to have a more flexible methodology, Agile was invented.
But what is Agile?
Agile methodology is a famous methodology used in the software industry, which is based on iterative development of requirements. Every week, the Scrum Team works to add new features to your future product. From this methodology, many frameworks were created in order to help developing software solutions. One of these frameworks and the most popular one is Scrum.
What is Scrum?
Scrum is a subset of Agile. It is a framework for developing, delivering, and sustaining complex products.
Why should I choose Agile?
Firstly, there is no risk regarding the change requests or additional costs. Secondly, the work is based on the collaborative creation of requirements. Thirdly, the methodology offers high transparency by allowing to view the product after every increment.
How can I implement Agile & Scrum in my project?
You should start with creating the Scrum Team. A Scrum Team is composed of a Product Owner, the Development Team, and a Scrum Master.
The Product Owner
The Product Owner is a member of the Agile Team, responsible for maximizing the value of the product.
The Product Owner takes care of the product backlog by clearly expressing product backlog items, priority and decisions related to the product. He represents the customer’s interests by delivering the right solution.
The Development Team
The Development Team is a cross-functional and self-organized team, who implements the product by coding, testing, and designing it.
The Development Team consists of 3 to 9 team members.
The Scrum Master
The Scrum Master helps the members of the Agile Team to understand and follow the Scrum theory, practices, rules, and values.
Next, the Product Owner (PO) will work on the Product Backlog together with the keyholders. The first step to create a Product Backlog is to define the themes, epics & user stories. The epics and user stories should contain ** acceptance criteria** and be prioritized. A method to prioritize the user stories is called **MoSCoW**.
The Product Backlog contains all the themes, epics, and user stories, created in order to fulfill the vision of the product.
A Product Backlog is well done when it is detailed properly (items with higher priorities are more detailed than the ones with lower priorities), estimated, emergent and prioritized.
Themes, Epics & User Stories
Themes, Epics & User Stories represent the hierarchical structure of the components used to describe a product.
Themes are mostly used when working on large products or projects, representing the area of activity on the strategic level. Themes are composed of epics.
Epics represent functionalities or certain aspects of the product. Epics are composed of user stories.
User Stories are actionable items. User Stories use the following template:
As a [persona] I want to [perform an action] so that [something is acomplished].
ex: As a customer, I want to add payment information to my account so that I can pay online the orders.
An Acceptance Criteria defines what needs to be done to finish an item. It is created at the user story or epic levels.
ex: The logo should be placed in the left top corner of the site.
MoSCow represents a method used to prioritize the items in the Product Backlog.
Must – The items that are essential for the product to be delivered.
Should – The items that are important, but if necessary, the product can be used without them.
Could – The items that are nice to have.
Won’t – The items that are not included.
After the Product Backlog is finished, the project can start. Because Agile is based on iterative development, the items from the Product Backlog are picked in order to create Sprints. The Development Team creates the Sprint Backlog in a meeting called Sprint Planning. They estimate the stories with story points, taking into consideration their velocity, too.
The Sprint is an increment in which a small part of the product is created.
A Sprint length is between one week and one month.
At the end of a Sprint, the current increment is delivered and a new Sprint begins.
The Sprint Backlog is a small set of items selected from the Product Backlog, that will be developed in a Sprint.
The Sprint Planning is a meeting, defined to create a more detailed plan for the current sprint. A Sprint Planning lasts 8 hours (for a one-month sprint), where the Scrum Team defines the Sprint Backlog and Sprint Goal.
Estimation in Agile Methodology means the estimation of effort. This estimation can be done by comparing stories between each other (Story x has double complexity than story y) and the unit of measure is story points. The effort is calculated based on the velocity of the team.
A Story Point is an arbitrary measure used by Scrum teams, but it doesn’t have any relevance to actual hours. As possible values usually Fibonacci Numbers are used (0, 1, 2, 3, 5, 8, etc). The goal of the story points is to determine how hard is a story to be implemented, not how long it takes to implement it.
The velocity measures the amount of work, that is completed at the end of a sprint.
During the Sprint, a meeting called Daily Scrum is taking place on a daily basis.
The Daily Scrum is a 15 minutes meeting, whose scope is to adapt and refine the sprint plan daily. The participant is the Development Team, who answers the following questions: What did I do yesterday? What will I do today? Are there any blockers?
When a Sprint is finished, the Scrum Team participates in two meetings, called Sprint Review and Sprint Retrospective. The items with a status of “Done” are added to the increment and a new Sprint is started.
The Sprint Review is a meeting, where the finished items are inspected in order to get feedback and adapt the product backlog. In this meeting participate the Scrum team and the key stakeholders and the time-box is between 2-4 hours.
The Sprint Retrospective is a 1.5-3 hours meeting, where the Scrum Team comes with ideas to improve their collaboration.
A product increment is composed of all implemented product backlog items from the current sprint plus the value of the increments of all previous sprints.
Scrum & Agile Terminologies
The Scrum Team
- Product Owner (PO)
- The Development Team
- The Scrum Master
The Scrum Events
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
- Product Backlog
- Sprint Backlog
A final note
The best way to master Agile & Scrum is to take a look at The Scrum Guide and to practice, practice and practice.
Devista – Your way into the future!