Our Development Process
At Insight, we follow a process oriented development methodology designed to minimise project risks and development time. We focus on business solutions that fulfil business goals, instead of merely providing technical solutions. All our applications are built based on this philosophy.
The approach that we adopt is the spiral iterative methodology, where the project goes through one or more iterations of all project stages. The above presentation gives a brief overview of the process.
We have defined processes for requirement capture, analysis, design, development, testing and deployment. We generate UML diagrams representing the Use Case Model, Analysis Model, Design Model, Implementation Model and Test Model.
Requirement Definition
In this stage, the requirements of the clients are gathered. This is done based on information provided by the client in the form of documents, existing systems & process specs, on-site analysis interviews with end-users, market research and competitor analysis. This stage has the following steps:
- Requirement analysis with business application goal and high level requirement gathering
- Creation of visual scope document and feature list
- Provide technical recommendations and high level requirement specification
Analysis
In this stage, a detailed analysis is carried out from the information in the vision & scope document and features list. This stage has the following steps:
- Analysis and creation of Software Requirement Specification
- Creation of Use Case Specification & Diagram and generating the Use Case Model
- Design business rules and flow diagrams
- Establishment of Requirement Traceability Matrix
- Validation of the Scope and Estimates against the contract and revisions made if necessary
Design
In this stage, the application design is developed on the basis of the Software Requirement Specification, Use Case Specification, Business Rules & Diagrams and the scope agreed upon in the Requirement Definition stage. This stage has the following steps :
- Designing Architectural Diagrams
- Creation of High Level Design and Low Level Design class diagrams
- Establishment of Entity Relationship Diagram, Data Flow Diagram and Deployment Diagrams
- User Interface – The prototype is developed and validated against the requirement and presented to the client for approval
- The use cases elaborated in the analysis model are represented using collaboration diagrams
- Design model elaborations are made from the analysis model. Validation of the scope, estimates against the contract and revisions are made if necessary
- The Implementation Model is generated from design
- The Test Model is generated from use cases
Development
In this stage, the actual code based on the design is created and tested against design requirements and test cases. This stage has the following steps:
- The development of code base proceeds as per implementation and design models
- The application source code is tested according to the test cases and test plan
- Documentation of processes
- Creation of Use Case Test results
Integration and Testing
- In this stage, the developed application is tested through test cases, test plans and user acceptance criteria in the deployed environment.
- Integration and quality testing is carried out resulting in test reports.
- Client acceptance tests carried out.
- Client feedback and debugging.
- Client acceptance
Deployment and Acceptance
In this stage, the developed application is deployed in the live server.
- Integrated application and deployment plan
- Implementation on client premises or hosting server
- Implementation signed off by client
- Creation of archived software articrafts
- Transition of application to the maintenance team.
The steps above are iterated through until the final deliverable is completed.
We submit a detailed project schedule in accordance with the above deliverables. The project schedule clearly indicates the responsibility of the client and the developer and indicates the dates by which each person will submit their deliverables.
Insight has been following the above spiral iterative methodology while developing applications in the past. Read our Success Stories to know more.