The company is a software Development company delivering value proposition through quality process and people at the core of Afrosoft’s business practices. Our emphasis on productivity results in reduced cost of development for application development and maintenance projects. Our clients describe us as reliable, competent and simple. Our approach is to work as a partner and seek growth in our client’s growth.
We cherish and nurture our values and interactions with all our employees and clients. We have high regards for individual value which creates a transparent atmosphere ensuring outstanding teamwork and rapport, built within the company. We promise to live up to our values.
Afrosoft uses effective methodologies in its software development process. Usually we suggest our clients to split the whole process into several stages or iterations. The stages, their duration and other details are always approved as the project is being discussed with a client, but the most common approach used within our company includes the iterations that are presented on the picture below.
1. Requirements Definition
This is the very first stage of the development. It usually includes such important processes as creation of the detailed specification of the system capability, timeline defining, computational processes types determination, identification of the specific operational scenarios. Documents: System and Operations Concept document, System Concept Review, System Requirements Review.
2. Requirements Analysis
At the next stage the information about project requirements and specifications is being analyzed by Afrosoft project management. This stage also includes the identification of the reusable architectures, designs, codes and approaches. Documents: Requirements Analysis Report, System Requirements Review.
3. Preliminary Design
This stage involves the definition of the software architecture and optimum design selection. All the project requirements are organized into major subsystems. Documents: Preliminary Design Report, Preliminary Design Review.
4. Detailed Design
This iteration is fully based on the previous one and involves such important processes as elaboration of the preliminary design to produce “code-to” specifications, creation of the project functional (object-oriented design diagrams) and identification of the operational procedures. Also the descriptions for all user input, system output, input/output files are being defined. The stage involves also processes concerning all the units of the project: functional and procedural descriptions of each unit are determined and all the internal unit’s interfaces are described. Documents: Implementation Plan, Detailed Design Document, Critical Design Review. Implementation The implementation stage includes coding of the components from design specifications, revision of the existing components to meet new requirements, integration of the components into the system. Also at this stage different levels of software testing are being performed: unit and integration testing, testing of each subsystem, testing of the complete working system. Documents: Implementation Plan, The User’s Guide Draft.
5. System Testing
This stage includes testing of the completely integrated system. If any bugs uncovered by system tests arise, they are corrected. Documents: The User’s Guide Draft, Initial System Description Document.
6. Acceptance Testing
The final version of the software is being tested. If any bugs uncovered by the previous stages arise, they are corrected. Documents: Acceptance Test Plan, Test Results Report, User’s Guide, System Description.
The final stage of the software development process includes the identification of support and maintenance requirements and development of the help desk. Documents: Patch Releases, Test Results Report, Software Upgrades.