Every programming project has its own life cycle. It normally consists of the following phases:
- Analysis/evaluation - the initial phase of the project allows you to describe the stages and requirements in order to determine the time frame and proposed solutions,
- Building - project implementation,
- Tests - checking the design in terms of quality, safety, applied solutions - the aim is to enable its implementation in production,
- Deployment - launching and providing access to the target group of users,
- Technical support - assistance in launching the solution for any warranty period agreed with the customer in order to solve possible technical problems,
- Closure and decommissioning - an important, often overlooked stage in the life cycle that needs to be considered.
It is also important that the people involved are aware of their roles during the project life cycle. An example of a division may look like this:
- Business partner,
- Project owner (on the contractor's side),
- Development team,
- Support team,
- Security team.
The analysis phase begins with the identification of the project assumptions.
We set the date of the meeting with the Client in order to specify project assumptions. Together we define business requirements, including wireframes and specifications of Internet resources, we preselect the necessary resources and tools. We also try to predict the risks associated with the project, the sooner the better.
The next step in the process is to estimate the costs and plan the work schedule. In order to fine-tune the details, it is necessary to get in touch with the client.
During this phase, we prepare the following documents:
- Application map - contains the layout and way of navigating in the project,
- Wireframes - Consist of clickable blocks with function annotations,
- Analytics - contains a description of analytical data that will be collected while using the application,
- A project schedule that includes the essential tasks and milestones of the project,
- Functional specification - approved wireframes and functional document for all front-end and back-end functionalities.
Once the cost estimate is accepted by our client, the next phase can begin...
The opening meeting (Kick off meeting) is organised for project participants to verify expectations, roles, responsibilities, communication, asset provision, stage schedule and training, change control procedures and development plans.
A test plan for the user interface (UI), security tests, End-to-End tests and User Acceptance Tests (UAT) is being developed and the functionality of the solution is being tested. Test scripts are created for the Customer and full testing is performed before UAT tests begin.
After the opening meeting, the development team starts programming. Every week there are conversations and e-mails about the status exchanged. The client stays up-to-date with the progress.
The following types of tests are taken into account depending on the complexity of the project:
- User interface - verification whether the application user interfaces have been designed and work as intended for desktop browsers and mobile devices,
- Administrative functionality - check that all administrative functions work properly. For example, content management,
- Verification that the application creates appropriate error messages and acknowledges that in the event of an error, the integrity of the data is not compromised,
- Performance - verifies that the application is working optimally and efficiently,
- Reporting - verifies that all necessary reports are prepared and operate as required.
Additional modifications can be incorporated as required:
- Integration - checks whether any integration with external data sources is working as expected,
- Security - verification that the application has appropriate built-in security solutions,
- Compliance with applicable laws - checks that the solution supports relevant regulatory, legal, and privacy requirements.
During the testing phase, the developed solution is tested for quality, optimised for search engine positioning, tested for safety and approved for production. Internal UAT tests allow our team to internally test the solution before it is sent to the customer.
UAT testing allows for full, formalised testing of the solution by the user. It is carried out in order to check the full functionality of the solution, based on test scripts created during the development phase.
After the UAT tests are successfully completed by the customer, the project is ready for implementation.
Project implementation depends on the complexity of the project and should assume a period of 1-2 days for the web application and 3-5 days for the mobile application. Together with the client, we determine the moment of launch, so that the client is fully aware of this fact and for instance can inform their users about it.
Automatically, when the application is launched, it enters the phase of technical support.
Technical support and maintenance
During the technical support phase, the implemented solution shall be maintained for any agreed guarantee period to solve technical problems and then either be closed or the support period be extended. Another solution is to keep support on the customer's side.
Closing the project
When planning an application, take into account the situation in which it is no longer needed. Then you should consider what to do with the users who rely on it, how to save or share the collected data, etc.
During this phase, the application is closed and withdrawn.