With extensive software development experience, SmartOutsourcing has refined the software development methodology, based on best practice models and lessons learnt. The development methodology, as everything else is open to change and further improvement. A brief overview of our development process:
The development methodology
Inception of a project occurs when a prospective customer contacts SmartOutsourcing recieves regarding a development project. Depending on the nature of the project a differring development approach may be used. However, all projects go through the four phases outlined.
The initial stage of a project lays the groundwork for the rest of the project, and plays a critical role in the success of a project. The main purpose of this phase is to set the framework, and constraints of the project, and involves:
- Identifying key goals, objectives and priorities
- Risk assessment
- Determine success criteria
- Requirements elicitation
- Resource requirement estimates
- Initial project plan, schedule, and milestones
- Low fidelity prototyping
Following the inception, the project requirements and analysis is refined. A significant outcome of this phase is the requirements definition document. The requirements definition document is signed off by the customer in acceptance that the document fully reflects the expectations of the project.
The key activities in the elaboration phase are:
- Elaboration of requirements
- Architecture selection
- Functional analysis (scenarios, use cases etc.)
- Risk analysis
- Sign-off on development specifications
The primary output of the construction phase is a the completion of the coding of the project. Construction involves both design and implementation in different sub-phases. The primary aim of work done prior to implementation is to ensue that the time spent on implementation is minimal. Implementation ideally is only be the production of quality code to meet previously stated requirements.
Consutction includes the design, implementation, and testing of:
- Object models
- Dynamic models
- System design
- Object design
The transformation phase commences when the solution is ready for deployment in the customer organisation. The major activities performed during tranformation link to the user acceptance of the solution, and support for the organisational change management required to complete a successful project.
- Finding acceptance catalyst/champion
- User instructions and training