The life cycle of the project after the first release
Every start-up or individual at the stage of idea only or in progress of the development is mostly focused on the development process itself. And for sure it is a very important part of any software life cycle. Prior to your first release you will have to go through formation of the development strategy, specification guides, mock-ups, selection of the methodology of the project, formation of the development team, monitoring, controlling. However, what would be after your first release?
What to expect?
Working at Code Inspiration as a Business Development Manager I have noticed that for most of start-ups the life cycle of their project after the release is not clear at all. In this article we will go through some main points you need to know. You will learn what to expect in advance, as well as take into consideration how to plan better your budget for the software.
Of course, a lot would depend on whether the project is large or small, complex or not and any other important details, however, in this article we would try to make a general overview.
Maintenance
In the very beginning, when your start-up is at the stage of selecting the software development company and the model of work, it makes sense to discuss with them some important points:
– What would be included into the maintenance package?
– How much will it cost?
– Would it be the same team doing maintenance of the software?
– How urgent will they react in case of emergency?
Usually, maintenance itself includes only tasks to update the software, latest versions of frameworks and plugins, update SSL when needed and other general scope.
What is important, most of the customers confuse Maintenance with Support
Support
Support of the software usually will include possibility to have some up-development in parallel with maintenance. For the software at the stage of active development customers usually form dedicated teams which provide maintenance and support of all the product.
Amount of releases
It is an important point to discuss in advance how many releases per month there would be included into your SLA contract. Usually, customers expect that any little issue, even tiny issue should be updated immediately, and when it comes to mobile applications, for example, it means doing new builds and uploading to the app store. The optimal amount of releases per month is 2, in case your software at the early stage, the more releases you would have in the contract the better for you.
Versions
From the first release, you should always keep in mind that from now you will always have one version of the software running and the other version would be in a so-called “development branch”. The life of your software would be divided into “production” and “development” branches.
Time and Material vs monthly fee for SLA
The last point I wanted to cover in this article is how will the model of work affect the development process. One of the most popular questions after the software is released:
– What for do I need an SLA? I prefer to pay according to the hours spent on the development upon request.
The main problem is, according to Time and Material you can have a pre-estimation and a calendar timeline for completion, however, it doesn’t mean it will be done immediately. Also, SLA protects you from any urgent issues which massively affect users, even not protects you, but provides you with urgent reactions from your development team, which will look into the problem immediately, roll back the changes if needed until the issue would be fixed.
Let’s finish the article with few tips :
Tip 1
Plan your budget keeping in mind after the release maintenance of the software will not be for free
Tip 2
If after the first release you are planning complex up-development, think about formation of a dedicated team which will work exclusively on your project
Tip 3
Discuss SLA together with the general contract, so that you know what to expect when the software is released
Tip 4
Before the first production release, try to do at least few rounds of usability testing, to improve your functionality and customize according to the expectations of end user