Your application isn’t finished when you release it to the public
TL:DR; When your application reaches the fingers of your audience, the work has just started. Figure out what parts are successful, what isn’t, and work towards making the user experience more satisfying. If you’re expecting to be relevant a year from now, be sure to budget for monthly maintenance, quarterly improvements, and big releases in the future.
Many months ago you started the process of undertaking a software development project. You identified a problem worth solving, gathered funding, hired a development team, and created a custom application. Now that the application is out in the wild, being used by real humans, it seems like a good time to figure out what’s next.
Sometimes the answer is obvious. For example, when there is a debilitating bug to squash or the application’s rush of traffic is overwhelming your server. However, most often the answer to ‘what’s next’ is more subtle, and takes time to arrive at.
Learning from your users
If you are not paying people to use your application, it can be assumed you are solving a problem or facilitating an activity for them. The better you solve their problem (real or perceived), the higher retention you can expect. Observing the reaction to your users’ experience should inform future development. Depending on how much testing was done before this moment, the learnings from the application usage and user feedback can come as a shock. Are they clicking the buttons in the order you expected? How often are users coming back? Are there unexpected dead-ends?
Just when you think you’ve figured things out
The landscape within which your application lives will change. The technology available will be leveraged by competitors and continue to advance. The devices people chose to integrate into their lives will affect their experience with your application. The problem you have addressed may also continue to mature. Staying relevant often requires change, but when change is part of the plan the pressure for instant success can be shifted to measured improvement over time.
Budget for change
Once software is in the wild there are three common routines used to keep it stable and relevant.
The nature of software leads it to have bugs that require attention. Applications with more complex application logic and a large number of content pages, need more time allocated for maintenance than smaller, less complex applications. Maintenance budgets typically enable items of the highest priority to be accounted for, but rarely are built to enable all updates to be accomplished.
The goal of incremental improvements is often to improve the user experience with the existing feature sets. Unlike maintenance, this category has less to do with stability of the application, and instead focuses on identifying opportunities to better solve the original problem set. Such improvements are typically addressed on a quarterly routine, keeping goals small enough to be easily managed, but allowing a substantial block of time to allow for significant work to be done.
As your application evolves and matures it can be beneficial to make drastic changes. Major changes tend to be jarring for your user base, but in the long run can ensure you are continuing to compete in your market. Common updates in this category include user interface overhauls, adding new features, and expanding the problem set being addressed. Depending on the landscape of the problem your application is solving, change could be slow (years), or sometimes very rapid (months).
Putting it all together
Getting to an initial release can be boxed into a project that starts and finishes, but the product produced requires ongoing support to be successful. Once in the wild, any bugs will become magnified and may become visible for the first time. A maintenance plan will make sure you have access to your development team and are able to clear any blockers for your users. As you learn from your users, you may benefit from improving aspects of the existing experience with some incremental changes. Then, every once and a while when a big idea comes about, a major release can help keep the application competitive in an ever-changing digital landscape.