As a business owner, product owner, or key stakeholder in a software development project, you may be unaccustomed to the roles, responsibilities, expectations, and flow of the Agile process. This post will provide you with some useful tips on how to orient your thinking and activities to get the most out of your Agile project!
Gone are the days of attempting to ferret out every minute detail of a project, producing lengthy and voluminous documentation to spell out the exact course of development, and waiting until the project has been completed only to find out exactly how wrong your plan was. Agile focuses on incrementally delivering working software which adds business value. By understanding the business goals, reviewing the success of each delivery, and planning the next delivery around what supports the greatest value at that moment, Agile software development continuously provides the greatest flexibility and most value to your project, while keeping management overheads to a minimum.
A Unified Project Team
The success of your project relies upon a highly functional team, where all members are aligned toward a common set of goals. A great way to unite all the participants and foster a cooperative and collaborative project dynamic is by adopting the mindset that stakeholders, project managers, designers, and developers are each critical components of a complete project team. Every member of the team must be entrusted and empowered to carry out their function within the project.
If you enter into a project with a defensive mindset that positions the client against the provider or the stakeholders against the production team this invariably leads to defensiveness and disharmony. If you as a product owner aren’t able to see the value in what each member of the team provides, you may question your own investments in the project. Ultimately this distrust will lead to volumes of unnecessary back and forth as groups within the team are called upon to defend their value to the project. While periodic review is a healthy and necessary component of the Agile process, continuous generation of documentation to detail out the minutiae of daily activities is time consuming, costly, and seldom provides any greater comfort or insight to the stakeholders.
With an empowered, trusted, and skilled team on your side, the sky’s the limit! A team that enjoys working together will always produce the best results for your project!
Know Your Goals!
Establishing and communicating clear goals is the key to developing a common understanding of the project, as well as for determining priorities as your project develops. From the outset of the project, the high-level goals of your business will serve as the litmus test for the creation of the most valuable functional tasks: If the task doesn’t support one of those goals, does it need to be created? As features are released, users are engaged, and feedback is received, that feedback should guide task priority and establish new functional goals to improve and extend the functionality and usability of your site.
The absence of clear goals not only muddies the general understanding of the project across the entire team, but creates difficulties in justifying and prioritizing tasks. Working through a project based on spur-of-the-moment ideas, intuition, or an uncommunicated vision ultimately leads to a meandering, disorganized (and ultimately more costly) project flow.
Your goals are the motivating force for creating and enhancing your software platform. With these goals in mind, your team will be able to get the most value out to your audience first, and provide known objectives against which that success can be measured!
Know Your Role!
By embracing the responsibilities of product ownership, you ensure that you’re always firmly in command of the vision, goals, and direction of your project. When you respond to questions from the production team in a timely manner, you not only help keep development from stalling, but you demonstrate the priority and importance you give to the project. Product owners must retain the knowledge of budgetary constraints and important deadlines, and must communicate these to the production team. In cases where there are multiple stakeholders collaborating to drive the direction of the project, it is always wise to designate a single person to gather, consolidate, and prioritize requirements from across the product group before handing them over to the production team for execution.
If you aren’t clear and communicative about your vision, the production team will rely upon their background and experience to keep development moving forward. As these efforts are completed, you will need to take extra time to bring the team’s understanding in line with your own, and extra development to refine the software. Needless to say, extra effort means extra project budget!
Your role as the product owner is the driving force behind every project. Listen to all the information your team’s subject matter experts provide, give clear direction, and you’ll be ensuring a clear path forward for your project!
As an integral member of the project team, regular communication is a necessity! Make participation in sprint planning a part of your routine. Meet with your product team as a group in advance of sprint planning to make sure they’re up to speed on the progress of your project. Collect the group’s questions, priorities, and concerns, and be prepared to discuss them with the production team. During the meeting, make sure you follow all of the information presented, ask questions about anything that isn’t clear, and be ready to report back to your product team with a status report. The Agile process is all about reviewing, understanding, and adjusting - so don’t be afraid to ask for different information or explanations of process steps from the project manager. Your project manager will be happy to modify the meeting format or presentation to suit the needs of your organization.
If you’re not experiencing the value of the sprint meetings, aren’t following what is presented, or don’t have an open and cooperative dialogue with the project team, you are an unengaged product owner! This is possibly the greatest source of disharmony in the process, as it frequently causes a disconnect in the overall understanding of the project - and often leads to the ‘product team vs. production team’ sentiment. No project will succeed without participation and feedback from the product owner!
You will enjoy immense benefits from actively participating in the Agile process with your team. Not only will you be doing your part to build a collaborative team, you’ll experience faster delivery, fewer misunderstandings, and be able to tailor the process to the needs of your project!
Prioritize for Success
Prioritization can feel like a daunting task for product owners, but consistent delivery of meaningful business value depends on it. Getting your software out into the world sooner may help you achieve some of your business goals earlier, even if the complete vision of the project has yet to be realized. Additionally, getting the software in front of real-world users allows the project team to solicit invaluable feedback from the user community, which may alter the course of development in the short or long term. By separating the features necessary to support a ‘Minimum Viable Product’ from all the rest of the nice-to-have product features, you’ll be creating a sound foundation for good incremental delivery.
Hanging on to a perspective of ‘I need everything, and the software isn’t “done” until I have everything’ can make it seem like everything is of equal priority and no progress is really being made. This rigid, binary thinking that focuses only on “when is it going to be done?” can often cause product owners to gloss over progress reports, important questions, and recommendations from the production team. Failing to prioritize limits the ability of the project team to deliver incremental business value and make project alterations based on new information.
Once you fully adapt to the practice of delivering the most valuable software features first, you’ll quickly begin to see your software grow, change, and succeed!
Manage Your Pace
Throughout the lifespan of your project, ask yourself: “Which is more important to my business today: increasing the speed of development to meet important deadlines or reducing incremental costs?”. Understanding your short and long-term budget and balancing those against your business-critical milestones and deadlines is an incredibly valuable and necessary function of the product group. Staying in tune with the volume of work performed each sprint as well as what is scheduled for subsequent sprints prevents invoice surprises and lets you manage your monthly budget. Understand that when you request an increase in pace from the production group, you will need to increase your budget for that time period to keep expectations of cost and timing consistent across the entire team. If at any time you're not sure how a change in pace to meet a deadline will affect your budget, go through the numbers with your project manager and get a firm handle on it.
Losing touch with the pace of your project can lead to frustration when deadlines are missed or large invoices arrive - and nothing creates an adversarial environment faster than disputes over costs. Often, the project will stall until all disputes are resolved. Any time there is a break in the momentum of a project, there is a ramp-up period where the production team gets back up to speed on where the project left off and what the next set of priorities are. This ramp up slows overall development time and costs project budget.
Managing the pace of your project may not seem like the most critical facet of working within the Agile process, but as a product owner who is attuned to the time and cost-sensitive needs of your business, keeping the expectations regarding project cost and speed the same across the entire time will eliminate stoppages, ensure deadlines are met, and make for a smooth project lifespan.
You Are Prepared!
Agile may not be perfect for every project - but if you’ve got a good handle on these tips for Getting the Most Out of the Agile Process, you are prepared for a successful and harmonious project experience.