Gathering and analyzing requirements is one of the critical initial stages in the software development process. A well-defined problem and clear requirements will go a long way to creating an effective solution that adds value to the business.
The two key players in this requirements-gathering and analysis process are the product owner and the business analyst. But what, exactly, do these two roles entail in the context of agile development?
There is a common misconception that the product owner is just a business analyst with a new suit and a better title. But while the two do share many skills in common, the roles are really quite different. Let’s break them down.
First, we’ll iron out key responsibilities of the product owner (PO). This role originated in Scrum, but it is often used in other agile approaches, as well.
The Scrum Guide describes the product owner as the party responsible for maximizing the value of the product. It’s the product owner’s job to ensure the solution provides value to the customer and stays in line with the vision for the product. This role also leverages the PO’s knowledge of the product, the business, and the industry, as well as information gathered through direct customer contact.
These are the product owner’s primary activities:
Defining the Vision
The product owner is the person who owns the overall roadmap, a high-level view of where the complete product will be over the next few years. It is primarily the product owner who interacts and collaborates with the users to understand their requirements; thus, it is important for the PO to translate the product vision into a form the development team can clearly visualize to ensure the user’s expectations are met.
Managing the Product Backlog
The product owner’s most essential responsibility is managing the product backlog in order to maximize the value of the end product. A well-prioritized agile backlog not only makes release and iteration planning easier, but it also broadcasts all the things the team intends to spend time on, including internal work that the customer will never notice.
Once the product backlog is built, it's important to regularly maintain it to keep pace with the program. Product owners should review the backlog before each iteration planning meeting to ensure prioritization is correct and feedback from the last iteration has been incorporated. The product owner is free to reprioritize work in the backlog at any time due to customer feedback, refined estimates, or new requirements. However, those changes need to be well thought out so as not to disrupt the development team and affect focus.
Overseeing Development Stages
Product owners are key players and overseers in every stage of product development, including planning, refinement, review, and sprint. During the planning stages, the agile product owner works with stakeholders to identify and organize the steps required for the next iteration. They will then meet with their team to refine the process, identify areas for improvement, and support the sprint.
Anticipating Client Needs
Anticipating the client’s needs enables product owners to more effectively manage the development process. Deep market knowledge and a clear understanding of the competition and the users’ pain points helps to determine what features should be implemented, pinning down the items customers want but are not able to visualize or ask for themselves.
Evaluating Product Progress at Each Iteration
The product owner is accountable for each stage of the development process and the final product, evaluating progress and performance and deciding whether the team can move on to the next steps.
Business analysts (BA) are facilitators, investigators, and fact checkers; they find gaps and perform traceability and impact analyses, working closely with product owners to determine the scope of the project and establish the requirements and standards the project must meet. A high-performing business analysis professional on the team increases the likelihood that the resulting product will effectively meet true business needs and fit in well with the current business environment.
These are the business analyst’s major responsibilities:
Research & Requirements Elicitation
While the product owner has subject matter knowledge, the business analyst has software requirements and design/solution experience. The business analyst can help ensure the right questions are asked, and the product owner can work with the project team to provide answers and make decisions. The business analyst brings good product and systems understanding and may advise the PO on requirements analysis, scope, minimum viable product, user stories, and prioritization to bring more value to end users.
One of the business analyst’s primary responsibilities is to document requirements formally or informally depending on the need of the project. For example, the BA may be tasked with creating the requirements in the form of user stories with appropriate acceptance criteria. If the product owner has already created the user stories with acceptance criteria, then the business analyst is responsible for reviewing them to make sure that every business rule is covered and the acceptance criteria meet the user story functionality.
Requirements Management and Communication
During sprints, business analysts provide everyday requirements and solutions support to the Scrum team and may step in when the PO isn’t immediately available. The business analyst guides the team, partnering with the PO to communicate the product vision and helping the development team understand the requirements, flow, complexity, and dependencies.
Solution Assessment and Validation
A business analyst can work with project stakeholders to review the software as it develops. By doing walkthroughs, play acting, and other testing activities, a business analyst can aid in ensuring that the project meets all the specified requirements.
Like most aspects of software development, every organization does things differently, and the lines are often blurred. However, we believe close collaboration between product owner and business analysts yields the best results as the problems and solutions we tackle in today’s software and technology-driven world are extremely complicated. These types of complex projects require both the business experience and the technical expertise to develop the right solutions.
Product owners and business analysts interact frequently in the course of a software development project, and their roles often even overlap. Experience shows that sometimes business analysts may take over responsibilities of product owners, or, vice-versa, the product owners may be so immersed in a project that the role of business analyst becomes redundant.
It is common practice for the product owner, besides managing the backlog, to manage requirement collection from other stakeholders. The product owner may help the team obtain access to experts in subject matters in which the team doesn’t already have sufficient expertise The product owner might also assume responsibility for budgeting, sponsorship, and advocacy of the project.
In defining roles and expectations, it is essential to keep in mind team members’ personality traits and soft skills. It is always easier to work with business analysts and product owners who are willing to brainstorm and collaborate than it is to work with a genius who has no teamwork skills. Experience proves time and time again that communication is of utmost importance in a team — even coming ahead of area-specific knowledge and individual professional skills.