Building a Launchable Web Application
That web application has to be absolutely PERFECT before you can launch it, right? I have found one of the biggest factors preventing a person from getting their web application, website, or mobile app launched is feature creep. Feature creep, also known as scope creep, occurs when an idea starts with a few necessary and useful features. Over time, additional features and ideas begin to cloud the scene. These new features get squeezed in there somewhere, and then those new features breed ideas for other features that also 'need' to make it into the web application before it can be launched to the public. Any experienced web developer reading this is likely cringing right now. That's because it happens on 99.9% of projects.
Here are just a few problems with feature creep:
- Budget: Adding new features is going to cost more money. Whether you're doing a fixed price project or hourly, it's going to take more programming logic and layout designs. If the unlucky/inexperienced web developer entered an agreement where scope creep isn't accounted for, the project could just fail entirely when the developer throws in the towel.
- Timeline: Adding new features is going to extend the timeline. Usually the timeline extends more than you would expect considering new features can introduce new bugs and/or interactive with current features in unexpected ways. If your web application is supposed to generate income right away, you'll be losing money in real costs and lost income.
- Complexity of the Application: I can't think of any web application that came out of the gate with a perfect user experience. That's because we can't always predict how a user will interact with the application or what the users will deem important. We can do our best to plan for this, but the best way to build an application is to start small and add/adjust the features users want. If the application has every feature under the sun, you may discover users aren't using half of what you paid to develop, and your application is now extremely difficult to use.
So how does a person combat feature creep? The first step is to be aware that it exists. After that, you'll want to discuss with the client the minimum viable product (MVP). This MVP is the most basic version of the web application that solves a problem, delivers content, sells a product, or provides a unique piece of functionality. Once that is established, it's a matter of keeping the reigns in so you don't stray too far from the MVP. It's a very subjective call what's 'too far', but keeping the communication open and staying aware of feature creep will take you a long way.
Still think that all successful web applications started with a blaze of glory and limitless features? Have a look at this slideshow: What the World's Biggest Websites Looked Like at Launch. The one for Amazon is absolutely shocking. I'm pretty sure every client that I've built e-commerce for has requested modern Amazon features.
Are you ready to have your web application built?