How do you deal with on-demand tasks when working on a website/mobile app development project? And what about last-minute changes coming from your clients? How should you manage feature requests so that you maintain the balance between keeping your clients happy and avoiding scope creep?
How should your feature request workflow look like?
- what collaboration tool or project management app to use for keeping a close track of all these requests?
- what agile strategies for handling bugs and feature requests should you implement from the get-go?
When to say no (if ever)? How to prioritize these incoming requests?
These are all old, yet evergreen questions that keep “tormenting” so many product teams, freelance app/web developers and project managers. So, let me try to give you some answers:
1. Use a Feature Request Tracking System
Have you gone from irritated, to frustrated to... totally discouraged and feeling that:
- you risk jeopardizing your relationship with your client/co-workers
- you risk jeopardizing the quality of the project that you were working on
… since you kept getting interrupted from your work with unplanned feature requests?
“Could you make the font bigger?” or “Could you make button X make that and that?” Or even more time-consuming feature requests?
Been there, done that!
And I can honestly say that the best solution to put an end to this “turmoil” (“to say No or to put everything on hold and focus on the newly requested functionality”) is:
To deploy a good tracking system.
One that should:
- enable your customers to easily enter their requests and grade them according to their gravity/urgency right on their applications
- provide you with chat interfaces for better communication with your team
- help you keep a record of all the requests, prioritize them and assign issues to your co-workers
- you won't get disrupted from your work by the incoming “flood” of requests
- your clients can monitor the status of their filed tickets themselves, right in their dedicated channel set up in your issue tracking system
2. 7 Tools for Keeping Track of the Incoming Requests
So, you have your client asking you: “Can you make my app do X or Y, as well?” What system should you use for tracking and prioritizing such requests?
Here are a few popular options:
- Trello: it's easy to use, comes with both web and mobile apps and it enables you to set up discussions nice and easy
- Forest Admin: provides you with feedback integrated right into the platform
- Feature UpVote: it easily integrates into your existing systems and offers your clients a dedicated channel where they can suggest and upvote new features and functionalities
- GitHub Team Discussions: the ultimate convenience comes from the fact that you get to have these discussions on the same platform where your team plans your sprints; collect your clients' feature requests and then discusses them and eventually prioritize them within your team
- Tonkean: thanks to its AI-powered chatbot, this team management tool would reach out, via Slack, to the team member assigned with implementing a newly requested feature, asking for updates/status of that task; as a product manager you get to visualize the statuses of all the assigned tasks in your custom dashboard
- ClickUp: one tool for all your product management tasks
- FogBugz: a handy tool to manage feature requests and streamline all customer interaction
3. Make Sure the Contract Clearly Defines the Scope of Your Work
A clearly defined contract will:
- prevent scope creep
- prevent setting unrealistic expectations
- clearly state what your deliverables are (and aren't)
- cover all future maintenance requests
This way, any extra time that you'll be asked to invest in implementing the clients' feature requests will be accounted for.
Tip: keep open ends to a minimum in your contract.
4. Prioritization: The Best Way to Manage Feature Requests
Now, you can't just rush and manage feature requests in a bulk, now can you?
Prioritization is key in any feature request workflow.
See who those improvement requests come from. Is there a critical bug involved there, as well?
Weigh the impact of these suggested changes on the software product and set up a hierarchy that will help you prioritize its roadmap without risking scope creep and over increasing its complexity level.
5. Steer Clear of Being a “Yes” Man
Putting your current tasks on hold and rushing to address every new feature request, with no exception, is the shortest path to... scope creep.
Instead, the best way to manage feature requests is to turn them into “mini projects” ran alongside the main project.
- you get to bill these auxiliary projects separately
- they won't impact the main project
6. Be Flexible, Though: Make Room for Some Unavoidable Changes
Mind you don't fall to the other extreme: becoming too rigid:
Saying “no”, from the start, to every improvement suggested by your client, to every new feature request.
For, I have news for you:
That won't help you prevent scope creep in your project.
Instead, take balanced decisions and ensure you leave enough room for those future changes that are just... unavoidable.
Keeping a rigid approach to your project will only make things unnecessarily challenging and time-consuming when unexpected changes need to be dealt with.
7. Set Up a Solid Scope of Work for Realistic Project Expectations
The more solid your scope brief is, the fewer are the chances for you to be challenged to manage feature requests and re-works while working on the project.
In other words, make sure you question everything when you work on the scope of work with your clients.
Help them clearly articulate their requirements, ask for feedback and come up with a solid project plan that will enable them to set realistic project expectations.
- a good feature request tracking system
- a solid scope brief
- a prioritization of the improvement suggestions
- a balance between the instinct to say “yes” to every new request and the stubbornness to ignore all un-planned requests