Resist The Desire To Pile On Functionality
It’s human nature to want an application to have as much functionality as possible at launch. You want it to be great. You want users to love it. The more the better, right? In most cases, no. Version 1 of your application should do as little as possible to meet the needs of users and it should do it really well.
Focus On The Core That Drives User Value
What is the minimum your application needs to provide value to users and achieve the desired business objectives? The answer to this question should drive your Version 1 functionality.
Try to limit the core functionality to no more than five areas, beyond things like user authentication, etc. Within those five areas, focus on the three primary pieces of functionality for users to receive value. You will end up with at most a list of 15 key functionalities for Version 1 of your application.
Don’t build more than you have to. It’s hard, I know. I think most of us are wired to think more has to be better. When it comes to creating an application, the opposite is true. An application requires marketing, support, user adoption and more. These become harder and more complicated the bigger your application becomes. Likely you won’t have the infrastructure and processes for all of the stuff that supports and circles around an application with the release of Version 1. You will probably be better prepared to support a more complex application as you evolve with the size and scope of the application.
Gather and define the requirements for your application based upon your core functionality. As you run across functionality you believe might be important for the application in the future, make it part of the application’s roadmap. Unless you discover a piece of functionality that is required to make the core work, avoid including additional functionality to the core you have established. Once you start making functionality concessions, it will be easier to include a bunch of stuff beyond the core, and before you know it your application will have swelled to an unrecognizable state.
Execution On A Core Saves Time & Money
Now you have clarity of effort, resources and time for Version 1 of your application. All of your attention can go toward absolutely nailing Version 1 and providing users with a valuable experience.
Execution on a small, well-defined functional scope is much easier than trying to deliver every piece of functionality you can think of and ultimately might want included in the application. If you expand the functionality for the first version of an application, it will also take longer to launch the application and it will cost more to create.
Once you begin creating Version 1 of an application, your target should be a release date. “Shipping” has become the term of choice to represent getting your application in the hands of users as quickly as possible. A lot of really good things begin happening when you “Ship”. You have a Version 1. You are distributing it to users. Users are using. You are getting feedback. You are on your way to getting the business outcomes you wanted from the application. You might not get all of the business outcomes you wanted with Version 1, but without it you would still be idling instead of moving toward them.
Feedback vs. Value
As you begin to discuss and expose the application to users they will provide feedback. All feedback isn’t created equal. Feedback that requests new features and functionality should be noted and added to a roadmap for the application. Feedback from users where they don’t see value in the core of what you are doing is significant. Your core functionality is wrong. You missed the mark. That’s cool, it happens and more often than you probably think. Adjust and pivot your core functionality. Don’t expand your functional core. Be willing to change your core, but resist the urge to just pile on. You are better off admitting your original core functionality wasn’t right and going in the direction of what you know is right.
Be Human, Resist Human Nature
The better you can focus on core functionality and really nail it for Version 1 of an application, the faster you will achieve the business outcomes you want and add value for users. Minimizing the functionality for Version 1 of your application will be hard. I see it all the time in our application consulting and creation engagements. Clients that can resist the urge to expand the scope of their application and focus on shipping Version 1 almost always have a smoother launch and achieve their desired business outcomes faster than those that don’t.