Development 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 & Design
Purpose
- To make sure the team has the correct understanding of the client's requirements
- To detail and freeze the original requirements
- Transform the requirements into a design which the system will adopt
- To confirm the solution with customer.
Tasks
- Requirements analyzesis and technical research.
- Solution deployment and static prototype development
- Architectural Design
- Communicate and verify the solution with client.
- Structure the Implementation Model
2. 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
3. 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
