1. Planning
A project is initiated when the contract is signed by the customer. From this point, the responsibility of the project will be taken fully by our company. During this phase the team prepares:
- Functional specifications
- Design process
- Work plans
- Cost estimates and schedules for the various deliverables
- Screen prototypes
The phase also deals with:
- Selecting a methodology
- Identifying goals and objectives
- Defining success measures
- Establishing project scope
- Selecting a project team
2. Business Prototype & Requirement
In this phase, the business prototypes are created as per the requirements of the customer.
The requirement documentation and verification is the important aspects of a good software engineering process. The only way to ensure that a system satisfies its requirements is to develop related prototypes and apply a mechanism to track requirement compliance from system inception through final delivery and system maintenance.
Prototype provides demonstration of the architecture and interface design. Building a prototype early in the development process has several benefits:
- Exhibit application "look and feel"
- Demonstrate system interface/functionality
- Communicate with customer
- Clarify the requirement further
- Requirement change management
3. Analysis & Design
This process combines principles of waterfall and spiral models. We use the best approaches of several standard processes and support which adhere to high quality outsourcing standards.
This phase synthesizes the user requirements specification into a detailed design specification which can be easily understood during implementation.
The primary output of the design phase is a design document. The design document should clearly convey the key elements of the proposed system to both the technical developers and the planners. A larger project typically requires a preliminary design and a detailed design. A complete design includes identification of:
- Modules and
Units
- Database Design (Logical and Physical)
- Data elements
- Data structure
- Protocols and Software Interfaces
- Algorithm Descriptions
- Variable & Function Definitions
- Integration Testing
4. Implementation
Our development process is interactive. During the implementation stage, the application will be programmed and developed in accordance with the requirements specification and design specification of the customer. That means the customers monitor the progress of development online so they won't be faced with any sudden issues at the end.
Implementation is to use the design document to produce code. It is a core process workflow in the software-engineering process, whose purpose is to implement and unit test of the code.
During this phase, the actual work of the project is undertaken to produce the project's deliverables according to the chosen solution and make it ready for testing team.
5. Testing
In this phase testing is conducted on a solution whose features are complete. Testing emphasizes usage and operation under realistic environmental conditions.
Software testing begins with the integration-testing phase, which integrates the individual units coded and tested during the implementation phase and ends with acceptance testing of the finished system.
Test plans and procedures are developed to ensure that all requirements are being tested and verified. In this phase units are combined into modules, and modules are combined to make up a build, which is tested in turn and certified. Multiple builds may be integrated and tested before a deliverable release is produced.
Testers develop the Test Plan, test cases and scripts, test the system and verify that it operates according to the specification.
The Test Plan outlines specific reproducible tests, manual or automated, to verify the accuracy of implementation. Test criteria include:
- Database Integrity
- Functional Correctness
- Fault Tolerance
- Stability and Reliability
- Performance
The software testing methodology encompasses the following types of testing:
- Integration Testing
- Regression Testing
- System Testing
- Acceptance Testing
The team focuses on resolving and triaging (prioritizing) bugs and preparing the solution for release
6. Delivery and Support
team deploys the core technology and site components, stabilizes the deployment, transitions the project to operations and support, and obtains final customer approval for the project.
The development team keeps supporting the system after installation, and we also provide a warranty.
It is not just a Product that is delivered to the customer, it is a Solution.
Usually a typical software project includes:
- Software product
- Quality Assurance documentation
- Technical requirements documentation and design documentation
- User's Guide
- Installation program and instructions
- Documented source code
- Maintenance instructions
|