One of my colleagues at iHub has an interesting work philosophy. He usually says:
I will not work on any project that is obviously a waste of time no matter how much I am paid.
This obviously reflects a great craftsmanship ethic. Such a philosophy does remain useful throughout the entire organisation. No one wants to waste resources on projects that are not going to bear any fruit.
In this entry, we will be looking at how you can test if your application is fit for its purpose.
That is, does your application generate value for your users?
Are your users able to achieve the stated goals?
User stories are a potent way of expressing requirements. I have previously talked about them in more details here Invest in user stories.
They specify what a user is trying to achieve and why.
As you are developing your application, you need to continuously reflect on your user stories and the emerging application asking yourself the following questions:
- Can the user meet their goals?
- Are there any barriers?.
An example of an issue that may be noted is particularly slow load times. If a user has to wait more than a few seconds to say input a new item on their shopping list, they may quit the application having not met their goal.
How are users using the application?
A software application is a type of system and thus displays systems behaviour. In particular, no matter the goals of the designer, once the system is live it starts manifesting its own goals.
This will be evidenced as users using the application in ways that were not envisioned by the designers.
For you, this is a great learning opportunity. The new uses can be detrimental to your own interests or they can be beneficial and thus help shape the product roadmap. Either way, you gain value from observing how people use the application in the wild.
How are the users already solving the problem?
Evolutionary biologists have a saying:
Evolution is cleverer than you are.
Humans are incredibly creative. Your target user has probably found a way of solving their problems in some other way. It may not be as effective or efficient as yours but be assured that it is there.
Before word processors, there were text editors and before that there were notepads. More generally, ideas are conventional, they have a history that you can track to gain the deeper understanding of the problem and how the solutions have evolved over time.
By looking at how users are currently solving the problem, you can minimise the learning gap and have your users being productive in your application ASAP.
Can you test competing ideas?
In the course of development, you are likely to come across two or more viable ways of solving the problem. If they both seem to have equal weights, why not let the users decide?
For web applications, this is particularly simple, you can use A/B testing.
In this method, you go through the following steps:
- Define what you are trying to test eg Home page with carousel of your products or one with your latest offers
- Define what metrics matter to you eg click through rates
- Develop the MVP for both pages
- Roll it out randomly assigning incoming users to the pages
- Monitor your metrics on both pages
- Make a judgement call based on the data
This simple method gives you unambiguous feedback on how to proceed with development.
How do you gauge the effectiveness of the applications that you build? Talk to me in the comment section below or on my twitter @jchex