Feature Request Management for Software Development Projects
How to effectively manage your product backlog and incorporate new feature requests.
Join the DZone community and get the full member experience.Join For Free
More and more software development teams are switching from the traditional Waterfall approach to Agile project management. Agile helps teams to become more flexible and adaptive which is essential for staying competitive in today’s business environment where customer needs are constantly changing and evolving. But what exactly do we mean by being “more flexible and adaptive?”
Request Management: Product Increments
Let’s imagine a team that is working on a software product. The product is going to be released in several versions, and the Product Manager creates a roadmap to plan the timeline for these releases (please see the picture below). Each release itself can be broken down into smaller chunks of work that are usually called product increments and form a Sprint (typically 2-4 weeks long).
Sounds in some ways like a waterfall, right? The difference is that since detailed planning is required only for the coming sprint, the cost of a change is usually way smaller. At the end of each Sprint we can review the increment and go back to our high-level roadmap and product backlog to ask our sponsors/customers: “Is it still what we want, or any changes should be implemented?”. And this is where feature requests and prioritization can come into play. Someone can come up with a new feature request that was not initially in the plan, but it might significantly increase product value. In waterfall projects this is usually called “scope creep” and potential changes are supposed to go through a comprehensive change request process before they could be possibly approved. In Agile, the process is more efficient: we can put this feature request in our product backlog, evaluate it against other backlog items, and based on the priority decide whether we should work on that and if yes, when exactly.
How to Determine the Priority?
There are quite a few prioritization techniques that can help your team make the right decision. The examples include but not limited to Value/Complexity Matrix, Kano, Opportunity Scoring, etc. But today I want to focus on the right mindset in general. You should always try to look at this from the perspectives of different stakeholders:
- Company’s Leadership: what’s your company’s high-level strategy? It is very important to always keep in mind leadership priorities as they are supposed to drive your roadmap decisions.
- Customers: what’s important to your clients? Customer needs are another key point. You don’t want to develop something that your customer doesn’t need, right?
- Project Team: how hard is going to be to implement this feature? This is where resource and time management play their important role. Your project has its own constraints in regards to the time and resources that you have available. Sometimes it is simply not worth it to spend several months on developing one feature, especially if it stops your team from working on other important things.
The bottom line is that feature request management is a key to product success. The Agile approach allows product managers to effectively incorporate new features even when the requirements gathering phase has been passed and the product is already in development. However, you should be mindful of your project timeline and resource capacity, client needs, and the high-level vision of your company before you decide to make any changes to your product release items.
Opinions expressed by DZone contributors are their own.