Managing Changing Priorities During the Agile Software Development Process

Speed and functionality are the driving forces behind agile software development process. Within an agile scenario, small teams  rapidly deliver functioning product within a short time frame. These outcomes are achieved when teams are given flexibility and self-governance. However, even the most independent agile teams must bow to customer demands and changing markets. So, what do agile teams do when priorities change?

They default to their agile processes. Indeed, agile methodology has change management in its DNA. Here are the agile processes that your team can leverage when change is afoot.

High_speed_rail_23471432

The Development Cycle

Agile methodology speeds up the development cycle. Instead of completing each step at a time, all steps are taken on by various team members simultaneously. Through timely communication, regular check-ins and a focus on adaptability, the team attempts to create a functioning end product within a set time frame, usually three weeks.

If the product isn’t functioning in three weeks, then the development phase of the cycle begins again. Each new beginning marks the beginning of a new iteration, or sprint.

When it comes to managing changing priorities, early phases of the development cycle are important but the end of a sprint is critical.

Agile Phases

Most agile team leaders agree that establishing clear goals and transparent metrics keeps all stakeholders, including customers, aware of progress and facilitates collaboration. During the first phase of the agile process, goals are clearly established between all parties involved. This is done by determining the project’s feasibility, which is then followed by the next phase: planning.

During the planning phase, stakeholders determine how expectations will be met, and when. The team establishes the protocol and forecasts reasons for potential changes in priorities. Here are a few reasons why priorities might change:

  • The client might not be aware of what they really want but suddenly figure it out mid-development.
  • The marketplace undergoes unexpected changes.
  • During the testing stage the client finds defects and missing features.
  • Regulations and security features might change, especially for those in heavily regulated and data-intense industries.

Discussing these potential scenarios with the client gives the team a chance to explain how agile methods are designed to address changes in priorities.

After planning, the team dives into development. Development strategies are dependent on the type of team, product, expectations and plan, however, the meat of development is the same across projects. According to Gregory S. Smith, author of Becoming Agile, development involves building, testing and demonstrating product features. Yes, demonstrating. At the end of each iteration, all stakeholders meet face-to-face and participate in a demonstration of the project.

Then, priorities are officially changed. In other words, the agile process includes, invites, encourages a priority shift every three weeks (or the time determined by your team during the planning stage).

What Could Go Wrong?

If not handled appropriately, then shifting priorities might mean that your team will experience a backlog of unfinished tasks that continually get moved down the stack.

How to handle shifting priorities appropriately? This can get tricky as each stakeholder has different priorities. Developers might have solutions that the client thinks are too costly or time-consuming, usability designers might want to push ahead and prioritize other elements that are related to their tasks, while upper level management might be concerned about timelines and expenditures.

Ultimately, if all stakeholders are unable to reach a conclusion, the Scrum master, or product owner, or product manager (there are a variety of titles for the person in charge) has to make a decision. This person is usually part developer, but mostly part business analyst.

The business analyst/product manager must determine how to make the customer happy, how to deliver a quality product and how to nurture talent. It’s not the easiest role to have in an organization, but a good product manager is able to balance the needs of all parties and manage priorities while keeping to the established timeline.

In most instances, the team is able to self-govern successfully, stick with the plan that was devised early in the project and deliver the best product in the shortest amount of time. To find out more about agile methodology and how to manage priorities, please contact us.

Comments are closed.