How to Define the Features of your App

Posted October 25, 2016 by Dan Moore in Product Management, Startups

You've created the next Facebook. Billions of users are logging into your app every month to get the latest news and updates from the world -- but you didn't always have this success. What were the first two features that you launched?

Minimizing your feature list is one of the most difficult and critical decisions product owners make in the beginning. What features do you build and what do you forgo? How do you make your Minimum Viable Product, the first version of your app, be completely minimum? At Vaporware, we receive feature list documents in all shapes and sizes, and work with founders to focus a large feature list into the 2 most impactful features. It's important to start this minimization process, which we opened for your use at, with a common understanding and vocabulary.

What is an App's Feature List?

A feature is a unit of functionality of a software system (app) that satisfies a requirement, represents a design decision, and provides a potential configuration option.

Borrowing from App development Agile methodology, Vaporware defines features as User Stories, that describe what an end-user would see and expect a system to do.

As a <type of user>, I want <some goal> so that <some reason>

For example, here are a sample of some features for a Photo Contest Marketplace App:

  • Company hosts photo contest
  • Users can login through social media
  • Users upload photos to contest
  • Users can vote on photos
  • Users can comment on photos
  • Company can download all photos uploaded
  • Contest shows a map of all photos
  • Contest photos can be ranked by popularity
  • Users can contact company host for feedback
  • Users can see a directory of all contests
  • Users can search for contests
  • Contest links to other relevant contests
  • Users get emails when people vote for their photos
  • Users can flag a photo as inappropriate
  • User wins contest after a week goes by
  • Many users can login as a company

Adding Intent

Right away, you will notice that these do not follow the ideal format. While not very detailed, they also skip the reasoning behind the feature. Representing a feature with the story allows designers and developers to understand its context, which launches discussion for solutions.

For example, the first feature

Company hosts photo contest.

is better represented as:

The company admin can host a photo contest on behalf of their company brand so they can get more brand engagement.

Your team now sees the intent behind the requirement. With just 5 more key words the context, intention, and goal is clear. Try adding some extra detail to your feature lists through our tool here. When work begins, your developers and designers will thank you for the context.

Breaking down App epics into features

Even the detailed version of this feature didn't convey the original intent our client had for this feature.

A company administrator can host a photo contest on behalf of their company brand so they can get more brand engagement.

With this technique and level of detail, we learned that this feature was actually an epic, or collection of features, waiting to see even more detail. Here's an example breakdown list of what this one became through conversation:

The company admin can define terms of a photo contest so that users clearly understand the rules.

A company employee can share and market the photo contest so that more people can find and enter the contest.

A company employee can view all photo entries so that the best photos can be selected and improper photos can be removed.

The company admin can select a winner of the photo contest and contact the winner with details to the winnings so that the contest can end and a prize can be awarded.

Right away we can start to see a separation of user roles within a company, learn about the workflow process behind a photo contest, and find some auxiliary functionality with sharing and managing photos.

Length of Feature Lists

While dreams are beginning to look more like reality, limiting a feature list helps product teams focus on a manageable scope and deliverable. Breaking modern products down with three phases helps us define limitations to high-level feature lists.

For a Minimal Viable Product we recommend focuses on 2 high-level features. For a marketable product, we recommend a list of 16 features maximum. Anything more than 16 becomes more valuable as a suite or collection of products that are separable at some level as they target multiple users and a variety of use cases.

Feature lists are great marketing tools as products target larger markets. Squarespace is a great example of a modern Content Management System (a suite of products) with quite a full feature set. Start defining your feature list with DefineMyMVP. It's the perfect process for product owners to focus their MVP (the 2 main features) of a large feature list.


Related Insights