Some organizations are curious about agile and want to know the benefits of working with this methodology. While there are a number of benefits and opportunities from going agile, there are also a few challenges that organizations need to manage.
Agile will create teams and leverage multiple developers against each project, which may mean that the organization can no longer sustain as many projects as it once tried to support. Development teams, compared to individual developers that are working alone, have an easier time pushing back on unrealistic workloads, and this will require managers to start paring down the lower priority projects and products.
This will require leadership to facilitate discussions to help the organization start “doing less, better”—that is, focusing the organization on increasing the quality of fewer products. Below are five benefits of “going agile” to add to the discussion in your organization.
1. Managing Uncertainty
Agile provides a great way for organizations to manage uncertainty.
Agile commits the development team to only small bites of work (a sprint) typically two to four weeks in length and provides them with a method of effectively dealing with rapidly changing priorities and resource constraints.
It manages the entire backlog of work, with many of the dynamic planning tools (like Redmine or Jira) allowing for that backlog to be prioritized and enables the stakeholders and development staff to collaboratively prioritize and commit to work to be completed in any sprint. This ensures that there is forward progress, but that the development team can be flexible to changes after any sprint to meet the organization’s changing needs and priorities.
2. Improving Commitment
Agile also improves the development team’s ability to commit to work.
Many organizations, especially associations, go through some form of annual planning. While this may outline high-level goals for the office, it is impossible to outline every aspect of work associated with development for the team, let alone predict the timeline associated with all of these details.
Agile allows the development team to outline all the tasks they will complete during a 2-4 week work cycle (sprint). Since they are committing to completing it all, they will be forthright in pushing back on unrealistic technical goals or timelines. This allows the rest of the organization that depends on development to ensure that whatever work they are completing is the highest priority tasks.
3. Improving Teamwork
Agile provides a framework to improve teamwork.
Regularly occurring ceremonies associated with agile help manage stakeholder expectations (sprint planning and sprint reviews), ensure daily performance of the team (daily scrums), and provide a venue for continuous improvement of the team (sprint retrospectives).
Sprint planning sessions ensure that stakeholders are prioritizing the team’s activities, and sprint review sessions allow the stakeholder to immediately view the results of their requirements. The next sprint planning session takes the results of the prior sprint review into account, focusing requirements and prioritization on actual results and working software or product.
The development team meets daily to ensure that everyone is actively engaged—typically allowing everyone on the team to describe what they’ve just accomplished, what they will accomplish, and any issues that are preventing their productivity. The venue also allows the team’s leadership or organizational management to solve whatever issues that may be preventing the team’s productivity. Scrum helps ensure that issues are identified quickly and that problems are solved at the lowest possible level.
Lastly, a sprint retrospective (or “retro”) provides a closed and safe environment for just the development team to discuss ways they can improve. They can identify activities they should start doing, continue doing, and stop doing. This framework, if managed in a “five whys” way, can avoid finger-pointing and instead focus on root causes and opportunities for continuous improvement.
4. Improving Innovation
Agile provides a method for organizations to take on more difficult technical goals, enabling innovation while focusing on actual technical outcomes.
While a developer working alone will typically provide a solution they are comfortable working against, a team can work together on technical solutions, allowing group learning and experimentation, generating novel solutions to difficult problems. Agile also shortens the planning timeline, allowing managers to focus on potential solutions and goals, rather than defining precise timelines for completing a long-term project. This allowance for uncertainty provides space for exploration and innovation. Agile provides the space for managing uncertainty and teams for generating innovative solutions.
5. Improving Transparency
Agile improves the transparency of a development team.
Many organizations struggle with knowing what their development teams are currently working on, what their priorities might be, and who is shaping those priorities. The agile ceremonies, like sprint planning and sprint review sessions, along with planning software tools, all expose the work and priorities of a development team. This will help build trust between the development team and their stakeholders, but it will also create some conflict as stakeholders start to understand and manage organizational priorities.
Without the ability to see priorities in a backlog managed in a system that prevents everything being “priority number 1,” stakeholders may have felt their work was important and going to be accomplished. Agile will improve commitment and transparency of what will actually be accomplished, and this will force stakeholders and leaders to start managing the priorities that their limited development resources will support.
Reprinted from DigitalGov: https://digital.gov/2018/04/03/thinking-about-going-agile-5-benefits-your-office-will-reap-with-agile-methods/