From idea to feature

When I decided to build the “iLearn: English” app, I had just an idea about what it could be, but I didn’t have a clue about the features it would need to have in order to be useful.

In this post, I would like to share the process I used to define the features I added to the first version of my iPhone application.

Define a deadline

In the past, I failed at launching a couple of pet projects. All of them failed for the same reason: I lost the motivation. Losing the motivation triggered the “I don’t care" state of mind, where I would basically try to finish my projects, without worrying about quality anymore. After a some time, I would just throw it away. It was sad, but my past experience helped me to not repeat the same error.

All the failing projects had the same root cause: they didn’t have a deadline. Without a deadline, I would keep working on something forever, always adding a new feature or changing something that was already finished.

With “iLearn: English”, I defined a deadline before I even start considering the features I would work on. It helped me to simplify everything else.

Understand the problem

To understand my wife’s problem, we spent a few hours discussing about what would help her to study english and what would be the easier way to do that. The outcome of this discussion was a series of post-its with ideas that would be interesting to have in the application.

Find the core

Even though our conversation was responsible for the creation of a couple of dozen post-its, they were really vague. They had all kinds of possible features that my wife could think about. We clustered the posts-its by similarity, breaking a really vague list of ideas into a small list of features. It helped us to understand what was the core problems the app would have to solve. Later on, we used the deadline constraint to polish our features list, adding only what would be extremely valuable and viable at the same time, cutting everything else from the scope.

Human descriptions

To avoid jumping into the development with half understood ideas, I asked my wife to write down the features we decided to have, using her words. It was not easy. At the beginning, she would write descriptions like “I would like to have a button...”. We repeated the exercise a couple of times, until we have a really clear and implementation-free description.

How do you choose the features you are going to work on? Send me your thoughts to elvio@elviovicosa.com.

You might also like

Mamae is now free

I started working on Mamae on Mar 2014. At the time, my wife and I developed the application based on common issues reported by new parents...

Finding time for pet projects

Second post of the series where I write about pet projects and how to start, keep motivated and release them

The pet project

First post of the series where I write about pet projects and how to start, keep motivated and release them

Download free e-book

Learn different strategies on API versioning with "Versioned APIs with Phoenix" free e-book