DEVELOPMENT PROCESS
It is more than clear that each project is unique, therefore it should be planned and executed according to adequate methodology which has already been proven on targeted type of project. Choosing the right software development methodology is an integral part of our team’s expertise. Soprex team had the opportunity to work on wide variety of project types and our knowledge base related to software development methodologies represents a real treasure for each team member.
After we get to know the project details from our client our team of experts analyzes all relevant aspects of this project (requirements maturity, targeted technology, project complexity, team size, deadline, development cost limitations, component reusability, risk clearness, scope clearness, required documentation …). The result of this analysis is a selected method of software development.
Verification & Validation (V&V) Lifecycle Methodologies represent one good example of group of software development methodologies used by Soprex team for enterprise projects.
Requirements Engineering – Requirements Validation. At this stage of the process the customer requirements are transformed to system requirements. A requirement validation based on predefined checklist is performed after the system requirements are completed.
System & SW Architectural Design – System & SW Architectural Validation. A high level design and architecture of the system is created. At this stage all technologies and third party components that will be used must be defined. A high level architecture diagram is created. Design validation is performed to determine if any conflicts or oversights were made in the design
Component Software Design – Design Validation. Each system component is designed in detail. All implementation details are documented at this stage. A low level design validation of each component is done to assure the design is correct and that it is compatible with other components.
Code development – Unit Test. Implementation based on the high and low level design is performed. Each component part will be covered by a unit test that assures that the individual component is implemented as designed.
Integration Build – Integration Test. After all code is completed a build that integrates all components is created. Integration testing is performed to verify all components still work correctly after the integration and to test scenarios that use more than one component.
Target Build – System test. A release candidate build is created. This build is a potential final version of the application. After the build is deployed on a test location a system test is performed. The system test covers all individual and integrates scenarios and it is the last test performed before the application is delivered
Deployment Build – Acceptance Test. Release version of the application is built and deployed on the User acceptance environment. Based on the User acceptance plat testing if performed by the client to verify the application is ready for production.