In my corner of the market– the smartphone and tablet application development corner–I’m seeing a growing, more persistent fear within project managers to hold releasing an app until it’s pitch-perfect, 100 percent done. In other words, the software industry seems to have forgotten the purpose of a beta release.
It’s imperative that you define what functionality means at the outset, so when you get there, you’ll know it. Sure, the development process can get tricky and you should adapt to changing conditions and requirements, but the essential objective and basic components of your app likely won’t change much unless you have substantially changed your business model or approach.
To help figure out if you’ve hit 80 percent functionality, try this exercise:
Picture a square. Draw a circle within the square so that the circumference of the circle is flush with the sides of the square. The area within the circle represents your app’s 80 percent targeted functionality. The areas outside the circle represent your app’s “corner cases,” the bugs that don’t affect the core functionality of the app.
There’s a bug in every piece of software ever created, and yours will be no exception.
Going into the project, understand that your app will never be 100 percent done.
The purpose of a beta release is to collect customer feedback and uncover issues that you and your team are going to miss because you are too close to the project. During this stage, use analytics to monitor usage and go back and fix the most pressing bugs to make your app better than it would have been without that user input.
Some may argue that the costs associated with delaying a release pale in comparison to the potential damage that unflattering reviews of your app may cause because, to be fair, many reviewers are ignorant to the purpose of a beta release, as well. But the majority of these reviews may be the result of poor quality software development, not the beta process.
If you follow the agile mindset–which we do–then it’s the software development team’s job to ensure the quality and performance of every iteration during development. If the team works efficiently and transparently and fixes problems as they occur, negative feedback during beta should be largely confined outside the core functionality of the app.
You will benefit from releasing early and releasing often.
The point of app development isn’t to create a finished, stagnant product, but to create a useful, adaptable resource. According to a statistic recently put out by mobile apps marketplace analysis firm Mobilewalla, there are nearly a million apps available to consumers. But, how many of these apps are actually updated and maintained, 20 percent…40 percent?
Wouldn’t you prefer to have your app exist within that minority percentage? Especially knowing that that minority represents the truly useful, graceful and fundamentally cutting-edge section of the development space. I know I would.