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.