In agile, you do not make long term commitments, unless it involves making economic decisions that may impact for a long period of time. You certainly do not make any hard commitments when delivering to the user.
The concept of having fixed deadlines is considered obsolete in agile as you have to keep your scope of work as flexible as possible and to be as adaptable to changing requirements.
Most of the development is done in short iterations lasting for two weeks, focusing on producing what would currently be required to create a Minimum Viable Product (MVP) for the end user.
Managing enormous requirements can be challenging, however the activities provided within any agle framework have made this slightly easy. In this article, you shall find four aspects of any agile framework that ensure that the requirements or goals are met within your planned iterations.
1. Making Projects Small that Keeps Goals Achievable
Increasing the project size is never a good idea and for the following reasons:
- Leads to unpredictable outcomes.
- Decreases alignment among teams.
- The scope of work that needs to be done expands, which in turn increases the dependencies, chances of risks and disturbs overall morale of teams.
- Having fixed deadlines forces teams to rally towards meeting the deadline and in the process cutting corners of the work they did, that affects the overall quality.
When working on a large project, you split it into small chunks and by working in timeboxed iterations, of maximum two weeks, you deliver value incrementally and consistently to the customer. The benefit would be to make the team’s work more manageable by having only the items that need to be delivered and resulting in the end user being happy as they consistently receive increments of the final product
Velocity helps manage the predictability of what the team will deliver and can be used for long term planning as well.
2. Obtain Regular Feedback
According to the principle listed in the Agile Manifesto:
“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.” Collaborating with the customers and business owners by frequently demonstrating to them the progress of the work done, is an essential agile feature. It keeps everything transparent and keeps crystallizing the idea of what the customer really needs and if it can change over time.
3. Have Face to Face Communication
People dread having face to face communication. They would rather communicate on emails with one another, even if they are sitting a few feet apart in the same office.
The following principle listed in the Agile Manifesto, “Individuals and interactions over processes and tools.”, validates that it is absolutely crucial having face to face communication.
In Scrum, ceremonies like the Daily Scrum, Sprint Review, Sprint Retrospective and Inspect and Adapt provide opportunities to have these open communications where impediments are openly shared and made transparent to everyone. Amid this time of the Covid-19 pandemic, where it is difficult to have person to person communication and having people in the same room, using video calling tools can really help get the job done quite seamlessly.
4. Estimating the Work that Needs to be Done
Estimation is done during sprint planning where Fibonacci numbers are used to assigned to an epic, features or a user story in order to assess the time it would take to complete. Setting a value doesn’t set a fixed deadline that has to be met, rather only aims to give an idea and provide clarity on how long it would take to get a work item done and also provides the opportunity to plan future work items accordingly.
Conclusion
To reap the benefits of agile, every agile framework needs to be implemented fully from the top to the bottom. Many organizations fail to embrace the true essence of agile which often leads to getting poor results. Along with executing and performing the activities that we discussed, there is a dire need of harvesting an agile mindset, which is quintessentially the foundation of any agile framework.