Software Design and Development
Implementation and Testing
In this stage different teams are formed to work on different modules of the system. Each of the modules stated in the requirements document submitted from requirement analysis stage are selected independently and more details are collected and added to the module requirements. Detailed functionality, inputs, and outputs of the module are collected and implemented. In this stage the Agile SCRUM method is adopted and used to keep the client involved through early stages of the product.
Different teams work on different modules at the same time. So the development process goes in parallel. Each module takes around 2 weeks to be implemented and a demo is presented to the client. Feedback is collected from the client and integrated into the module.
Based on this approach close communication is kept between the client and the software company. The client is aware of what is happening all the time. Client can see results at early stages of the development life cycle. Any comments or changes need less effort to be integrated in the system compared to delivering the end product once at the end of the SDLC.
During deployment the working solution is installed on the online servers. The database, the application, and other supporting software and files are installed on the online servers. First the infrastructure is placed, network established and secured and then the application is installed. The application is installed during different intervals in what is called releases of the application. Each release of the application contains a new module that end users can use and test. Feedback is collected and integrated in the second installation of the application. Bugs, errors, and enhancements are also documented. The final installation of the application ensures that there are no bugs or errors and that the application meets the requirements.
This stage has as part of its core all internal and external quality assurance activities, all internal and external testing are done based on a pre-defined Test Case Scenarios that are prepared in the project early stages.
Throughout the project cycle continuous quality checks are conducted. After the requirements document is finalized it is verified with the client to ensure that all the needed functions and modules are stated in the requirements document. Then when the detailed analysis and design document is issued it is checked to make sure that it incorporates all the modules stated in the requirements document and that all screens and reports are linked to a module in the functional requirement document. This cross reference between the requirements document and deign documents ensures that no details are missed while moving forward in the development life cycle. Later during the implementation phase where code is written different tests are conducted to test the application from its UI design and user friendliness to its logic and complex engines. When the final application is released tests are also conducted by ArabiaGIS team and end-users to verify that the application meets requirements in a simple smooth way.