Agile Methodology
Agile Methodology
What is Agile?
There are millions of ways in which we can define Agile. Simply put, Agile is an iterative approach to software development and project management which is focused on delivering value to customers faster with fewer issues. In the traditional waterfall approach, there was excessive pre-delivery preparations and the output delivered may not be of customer expectations which leads to excessive time wasted in providing a workable product. Agile focuses mainly on iterative development with periodical review and feedback from the customers or stakeholders which helps in providing a valuable product to the consumer within a short span of time.
Scrum vs Kanban
Scrum and Kanban are the two widely used strategies for implementing agile development or management systems. Scrum focuses mainly on a timeboxed approach whereas Kanban focuses on Continuous delivery.
Scrum | Kanban | |
Cadence | Regular fixed length sprints (ie, 2 weeks) | Continuous flow |
Release methodology | At the end of each sprint | Continuous delivery |
Roles | Product owner, scrum master, development team | No required roles |
Key metrics | Velocity | Lead time, cycle time, Work in Progress Limit (WIP) |
Change philosophy | Teams should not make changes during the sprint. | Change can happen at any time |
Ceremonies
Ceremonies are often meetings held to discuss or present the work delivered or planning for the deliverable. These ceremonies are conducted in a continuous cycle until all the requirements and feedback of the customers are met. Both Scrum and Kanban follow agile ceremonies yet they differ from each other on various aspects. Below are the common ceremonies followed in Scrum methodology
- Product Backlog Refinement
- Kickoff Meeting
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Product Backlog Refinement
A product owner is someone who is part of the agile team who gets requirements from the customers and translates that into a workable description. Product owner plays a key role in acting as a bridge between customers and the agile team.
A product backlog is a decision making artefact with a projected list of deliverables which should be completed as part of a project or product development. The product backlog refinement will be conducted to estimate, refine, and prioritise everything you might sometime in the future want to complete.
Kickoff Meeting
This is where the agile development team along with the product owner decides to take a couple of requirements from the product backlog and commit themselves to complete that in a sprint time (i.e 2 weeks). The team normally sets a goal to themselves which is called sprint goals and they try to achieve that within the sprint timeline.
Mostly the individual requirements selected here constitutes one workable product. The various factors discussed here are risk, estimation, dependencies, complexity and availability etc.
Daily Scrum
Daily scrum or standup meeting is one of the key ceremonies in agile method where the development team along with Scrum master together stand in a common place and discuss on the below points.
- What did I accomplish yesterday?
- What will I do today?
- What obstacles are blocking my progress?
Scrum master is someone who is responsible for making sure the team is following agile principles and understands its values. This meeting is mostly held by having all members standing to avoid wasting time and have it precise and consice. The outcome of this meeting is to have all the team members aware of each other’s work, help each other in terms of blockers and to build a cohesive environment.
Review and Retrospective
Review and retrospective are the outcome of the sprint cycle where during review, the team explains and demo the work completed in the sprint cycle to the customers and get their feedback. In retrospect, the team discusses on what went well, what went wrong and what needs to be improved in the sprint cycle so that they can take their learning and apply to improve on the next sprint.
Summary of agile methodology:
The concept of Agile approaches is used for product development that is consistent with the values and principles outlined in the Agile Manifesto for software development. Agile approaches aim to deliver the right product, with increasing and frequent delivery of workflows, through small self-organized small groups, allowing for regular customer feedback and course preparation as needed.
In doing so, Agile aims to address the challenges faced by traditional “water” methods of delivering larger products in the long run, where customer needs change frequently, leading to the delivery of the wrong products.
Agile Manifesto is a statement of basic values and principles for software development. The Agile Manifesto software development was established in 2001 and promulgates 4 key rules and 12 rules that serve as a guide for people developing agile software. It is made up of 17 experts who are already working on agile methods such as XP, DSDM, SCRUM, FDD, etc., collected in the icy mountains in the US state of Utah, compiled by Kent Beck.
https://www.digite.com/agile/agile-methodology/?__cf_chl_captcha_tk__=pmd_An1HkJ.7ktXV4kETCYPixt9_jtJIr8HqdZehqK0FzFY-1632894039-0-gqNtZGzNAtCjcnBszQi9