The Best Freelancing Feature Prioritisation Strategy as Software Developer
In this article, I will share how I prioritise features when developing software for freelancing. This is important when doing client's work. That is to develop the features that client want to see the most first to keep them intrigued in the process and not feel like the project is taking so much time.
If you do feature prioritisation effectively, you will be able to utilise more time to develop in the project. When things are looking to be going well, it's natural to give it more time so that other things turn out well like this. If things don't go well as your feature prioritisation was poor, no matter your work is good, it wouldn't seem like you are doing anything to a non-technical person. Learn how to communicate with work in hand.
It's fairly common to work with non-technical clients in freelancing journey or sometimes in some work places, it is common to have non-technical boss as well (he might pose like he knows everything but in real, he doesn't). This is common issue and the best way to mitigate is effective feature prioritisation. You will show what matters first. Categorise important and non important features. Decide what to build first. It's also great when building MVPs of software.
This step is taken after system and app design. Specifically when you have successfully decided all the features you want to include in your app. In this step, we simply rank what to build first. We can also determine if a feature should not built for now.
80/20 Rule
If you know the 80/20 rule, it's almost everywhere. There are many places where you would find it, in estimate of course. The 80/20 rule suggests that most things take input of 20% and give 80% output estimated. In this case, for feature prioritisation, your 20% of software features will be used the most by 80% of audience. Write it down. It's important consideration.
This would help to focus on main functionality of the application and make sure it works well. The other 80% will be used less so you can focus on them less. In these times, time is money. With this rule, you will save money. I mean time.
Models
MoSCoW Method
It's a simple yet very effective way to categorise features. It is done through a combination of lists like must have, could have, should have, and won't have. This way you can categorise which feature goes where and decide when to build it. Do this before creating task list on Trello.
- Must have: Essential features for the system to function and meet its basic requirements. These are non-negotiable.
- Should have: Important features that add significant value but are not vital for the initial release.
- Could have: Desirable features that are nice to have but can be deferred if time or resources are constrained.
- Won't have: Features that are not a priority for this release but could be considered for the future.
Value vs. Effort (or Complexity)
This involves plotting features on a matrix based on their estimated value to the client and the effort required to develop them.
- High Value, Low Effort: Quick wins to prioritise first.
- High Value, High Effort: Major features to tackle strategically.
- Low Value, Low Effort: May be considered if there is spare time.
- Low Value, High Effort: Generally avoid or defer these.
Kano Model
This technique helps understand how different features impact customer satisfaction.
- Basic (Must-be): Features expected by users (e.g., user authentication). Their absence leads to dissatisfaction, but their presence doesn't necessarily increase satisfaction.
- Performance (One-dimensional): Features where satisfaction increases proportionally with functionality (e.g., faster loading times).
- Excitement (Delights): Unexpected features that create a strong positive response and differentiate your product (e.g., a unique, innovative feature).
Final
Combine these models or use one of them to create feature prioritisation. Develop them on order and deliver. Make client fully satisfied and keep them on surprises.
I wrote 3 articles that are interconnected with each other for full software development process for freelancing. This is Communication. Links: The best freelancing software development strategy The best freelancing communication strategy as software developer
More Articles You Might Like
The Best Freelancing Software Development Strategy
A comprehensive blueprint for freelance software development, covering system design, technology selection, MVP, and iterative enhancements.
The Truth about Writing "Good" Code
This article challenges conventional wisdom about 'good' code, arguing that all code is technical debt, inherently temporary, and its value lies in functionality rather than perfection. It explores the impermanence of technology, the true worth of source code, and the harsh realities of developer recognition.
The Best Freelancing Communication Strategy as Software Developer
Learn effective communication strategies for freelance software developers to keep clients satisfied, manage time, and handle conflicts.
Subscribe for new articles.