The motive of writing this blog on Agile is to make this blog a comprehensive read for all you readers. All the necessary links and material is linked below. This will help you to understand the agile software development methodology in detail here. I have covered traditional waterfall methodology, scrum and reasons stating the stark differences between the two. Understanding agile is Incomplete without having a fair idea of traditional software methodologies.
Table of Contents
What is agile?
In general terms, Agile means ‘Flexible’. Agile is a software development methodology. Both the self-organised and cross-functional teams adopt this methodology. In order to deliver product frequently, continuously and quickly. The term Agile was introduced in the Agile Manifesto in the year 2001.
Agile is an ability to listen, act and deliver as often as you can. You can also find the above abilities in the form of Project Management stages. These stages can be Initiation, Planning and Development.
PRINCIPLES OF AGILE
- Customer is God
- Scope to address the last-minute requirement changes also known as enhancements
- Provide customers with a competitive advantage
- Delivery to happen in shorter sprints say 15 days
- Collaboration among stakeholders like the business teams and developers
- The individuals at work should own their tasks
- Trust each other for the timely delivery of the product
- Provide the team with the right infrastructure and environment to work
- Working software is the primary measure of progress
- Let the face to face conversations drive the project delivery
- The maintenance of continuous cycle of detailed designs, approval and development
- Simplicity is the best policy – Document and tracks the work not done
- Self-organizing teams to work upon best architectures, designs and requirements
- Teams to internally coordinate and improve the existing skills, processes and practices.
What is waterfall Methodology?
Agile Methodology was first introduced in the year 2001. The prominently known traditional methodology in the Software development life cycle was Waterfall. The term ‘traditional’ means ‘a believe or the behavior passed down within a group with a symbolic meaning’.
The work moves from one phase to another in a traditional waterfall model. The stages of waterfall methodology are Requirements, Design, Development, Testing and Maintenance. What makes it unique? It is the components. Educating the team members on better alignment of resources and processes. It allows the team to own the product, keeping the customer happy and acknowledging change.
Who are the stakeholders?
Stakeholders are the individuals who are directly or indirectly affected by the progress of the project. These individuals can influence the direction of the project. We shall keep our focus on the Scrum team here by stating the different roles present in the scrum team like Product Owner, Scrum Master and developers. If I have to lay down a crisp description of each role here. It would go like this:
- Product Owner – Represents stakeholders, users and customers. The vision of the product is entirely on the shoulders of this team member and he ensures a smooth user experience. He is not responsible for the technical tasks. He/she is responsible to document the user perspectives. He/She assigns responsibilities and priorities to the tasks.
- Scrum Master – A person who ensures timely completion of the tasks stated by the Product owner. He/She tracks the velocity of tickets. He/She handles conflicts within the team, helping the product owner with the stories, updating boards like Scrum boards and burn-down charts.
- Developers and Testers – The developers start the work on the understood user stories. They provide an estimated timeline fo the completion of these user stories. The product owner aligns them in a series of sprints for development. Development is accompanied by testing to ensure continuous delivery.
How to freeze the schedule of the project?
Project scheduling revolves around three factors namely resources, cost and time. One benefit is clarity. The focus is the delivery. The timelines play a crucial role in the traditional waterfall methodology. It leaves very less scope to accommodate change requests. One can use the Work breakdown structure to schedule the project. Next, the stories are broken down into smaller tasks. Any change in the resource shall affect the budget thereby leading to re-calculation.
In an agile setup, sprint planning is used which allows flexibility and addresses changing requirements from the clients. Sprint planning presents a list of tasks from the product backlog to the team and the team can independently pick up the tasks. This planning method empowers the team to own the product and delivery after each sprint. Sprints are cyclical in nature. The number of sprints decides the budget calculation. Any change in the resource does not affect the budget directly.
The budget of the entire project is split into sprints in an agile environment. The sprints are repetitive in nature. The end results in product delivery after each sprint is complete. Release planning helps define the budget for the entire project. In conclusion, the delivery of last sprint tasks lead to the planning of next release. Developers assign each story with points. These story points define the number of hours. These hours define release plan cycles needed to complete the project.
What can go wrong mid-sprint?
- Weak requirements gathering and poor estimation of user stories at the beginning
- No buffer time kept to solving old bugs
- Don’t forget about the new bugs
- Changing the prioritisation of user stories on individual level
- High priority change requests with low emphasis
- Lack of resources to accommodate the changes specified by the client may result in a delayed delivery
This was a summary of all you should know about agile and waterfall software development methodology. This content shall help you a great deal in your interviews. I love to read and reply to your comments. Do let me know your inputs on this one blog.
Timothy
October 24, 2021 at 2:42 am
The elaborate description of how to best deal in such situations are highlighted above.