Presentation of Our Development Process

At Roots we follow a process oriented development methodology designed to minimize project risks and development time. We focus on business solutions that fulfill business goals, instead of merely providing technical solutions. All our applications are built on the basis of 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. This presentation gives a brief overview of the process.

We have defined processes for requirements 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, client requirements are gathered. This is done on the basis of 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: 

+ Requirements Analysis with Business Application Goal and High Level Requirement gathering.
+ Creation of Visual Scope Document and Feature List.
+ Providing 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 feature 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 specifcation, 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 Diagram.
+ User Interface - The prototype is developed and validated against the requirements 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 on the live server.
 
+  Integrated Application and Deployment plan 
+  Implementation on client Premises or Hosting Server. 
+  Implementation Signoff 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.

Roots Solutions will submit a detailed project schedule in accordance with the above deliverables. The project schedule will clearly indicate the responsibility of the client and the developer and indicate the dates by which each person will submit their deliverables.

Roots Solutions has been following the above spiral iterative methodology while developing applications in the past. Read our Success Stories to know more.