As software development continues to evolve, so do the methodologies used to manage and deliver projects. One such methodology is Agile, which breaks down projects into smaller, more manageable parts. This approach allows teams to deliver projects incrementally, rather than all at once. In this article, we’ll explore the benefits of using Agile methodology in software development and how it can improve project outcomes.
- Software is broken down into features.
- To develop all the features, SDLC is followed for all features. Each feature is developed and tested in a separate cycle called iterations. These cycles can be started simultaneously or one after the other. For example :
Feature 1: Plan -> Design -> Develop -> Test -> Review
Feature 2: Plan -> Design -> Develop -> Test -> Review
For each feature, based on the review. If satisfactory, we either add it to the final product or move back to planning to add improvements and start the cycle again.
There are three roles in Scrum methodology:
- Product Owner:
- Responsible for the project and the completion of the project.
- They are the contact point for all stakeholders.
- Responsible for understanding the project vision and gathering requirements.
- Understand customer needs and be in communication with the customer throughout the project.
- Responsible for handling the product backlog.
- Keep track of product releases.
- Scrum Master:
- Acts as the bridge between the product owner and the development team.
- Ensure scrum methodologies are being followed.
- Responsible for dividing the work accordingly.
- Manages backlog and makes sure tasks are completed.
- Scrum Team:
- People responsible for developing the project, including developers and testers.
- Complete tasks within given deadlines.
- Be in constant communication with the Scrum Master.
- Product Backlog: A list that contains all the requirements for the project. It contains the user stories for the entire project. It is an ongoing list that constantly changes, and features are constantly added according to customer feedback. Prepared by the product owner and responsible for refining the backlog. The product owner is also responsible for prioritizing the features.
- Sprint Backlog: A list prepared by the team where certain product backlog items are selected and chosen to be completed during the sprint. It is created during the sprint planning session.
- Sprint Burndown Chart: They show the remaining work. The scrum master updates it and shows how much work is yet to be done.
- Sprint: This is an iteration. Each iteration is an SDLC for one feature. Sprints have a timeframe of 2-4 weeks. Sprints enable predictability by ensuring inspection and adaptation of the progress towards a sprint goal.
- Sprint Planning: Used to define the work required to complete the sprint and how it will be done. The entire scrum team attends it, and the Sprint Backlog is created during this session.
- Daily Scrum. These are daily 10-15 mins meetings to evaluate where the team stands currently and track the progress. Three questions are answered individually: What did I do yesterday? What am I going to do today? What help do I need? The Scrum Master should try to solve problems or obstacles that arise.
- Sprint Review: This shows the work completed on the product backlog for future deliveries. The finished sprint is reviewed, and there should be a completed feature to show it to the client.
- Sprint Retrospective: This is done to discuss the good, the bad and learn about the mistakes. The purpose is to highlight back at the previous sprint and learn what can be improved and how we can make the next sprint better.