The first step in a project lifecycle is the client’s request to build an application with tech specifications and requirements. The client describes the idea of the application he wants to be built, its required functionalities and its main purpose.
On the next step, Optimum-Web analyses the information received and offers a draft plan on how the project will be developed and an approximate cost per hour.
If the client agrees with everything and gives a more detailed overview of the required technology or software, Optimum Web makes a precise cost estimation. After the agreement, the developing team starts to work on the new project.
If the client gives just a general idea and a short description of the project, we are working on a draft version of all the documentation needed. Afterward, both parts together prepare a list of specifications. Based on them, a more concise calculation can be made. An agreement follows after that the development phase begins.
Architecture and system design, are the first steps to developing a quality product. The number of components and the development phases of the project are also planned on this stage.
The process continues with a list of tasks which totally correspond to the architecture designed.
We use an agile approach to the application development process. That is why we are creating sprints (plans for 1-2 weeks) with a list of tasks which need to be done during this period. Each new change and feature has to pass several steps before it goes to production.
The task is being implemented based on the required specifications.
The leader of the team is responsible for verifying the correctness of the task, from both points of view, logical and technological as well. He does a code review with all the members, to make sure the task is done without overheads. If bugs are being found, the task goes back to the developer, for fixing.
- Integrational test
After the task is verified and approved by the team leader, it goes straight to the CI (Continuous Integration server), where it needs to pass a set of several tests. The task will return to the developer even in case of minor errors. The team leader is also notified that the code did not pass all of the required tests.
- Integration into applications
After the code passes successfully the whole set of tests, it is being integrated into the main application.
At the end of the sprint period, the updated application is deployed to the staging environment for testing. It represents a copy of the production server created for developers and allows them to see how the system will work after the new data will be added.
If for some reasons a functionality doesn’t work properly- a “hot-fix” task is created. After the bugs are 100% corrected and no other errors appear, the application can be deployed to production and a new sprint can be started.