Efficient Process
Nova has developed its own outsourcing software development methodology integrating
the philosophy of Agile & Iterative Development. It is proved that with our long-term
project delivery experience, we have built an appropriate balance of cost and quality
in the development process.
1. Analysis
Purpose
- To make sure the team has the correct understanding of the client's requirements.
- To detail and freeze the original requirements.
Task
- Fix system scope.
- Requirements analysis.
- Requirements documentation.
2. Design
Purpose
- Transform the requirements into a design which the system will adopt.
- To confirm the solution with customer.
Tasks
- Technical research.
- Solution deployment and static prototype development.
- Architectural Design.
- Communicate and verify the solution with client.
- Structure the Implementation Model.
3. Implementation
Purpose
To implement the solution and design element, integrate the modules produced by
individual developers into an executable system.
Iteration
Iterative and evolutionary development is a flexible (and less risky) way adopted
by Nova to facilitate the implementation progress. It is proved to be of great help
to successfully deliver products, and eventually deliver a series of implementations
that are gradually finished. Each passing through a sequence of activities is called
iteration.
Tasks
- Implement the solution and design elements.
- Refine the System Design and architecture.
- Tech lead and artifact review.
- Test Case design and creation.
- Integrate subsystems.
4. Test
Purpose
The primary purpose of testing is to evaluate or access product quality, this is
realized through the following core practices:
- Understand the requirements and deployment environment, and use scenarios.
- Advise on the perceived software quality.
- Find and record defects in software quality.
- Validate and prove the assumptions made in design and requirement specifications
through concrete demonstration.
- Validate the integrated system works as expected.
- Validate that the requirements are implemented appropriately.
Tasks
- Execute the test case as designed.
- Implement exploratory testing.
- Discover and report issues.
- Test Case refinement.
- Bug fixing and verify bugs.
- Testing results analysis and report.