How we work
A formal process reduces overall development time and results in a
lower total cost of ownership, besides allowing us to clearly define
client expectations early on in the project. This process model works
for projects of all sizes. For small and some medium sized projects,
some of the steps can be combined or reduced.
The Project Lifecycle for every project is audited Internally every
3 months and Externally by American Quality Assessors (AQA) every
year.
The following is a description of each phase of the cycle and the
outputs of each.
The aim of the Initial proposal phase is to understand broad project
requirements and to advise the client on high level issues and rough
costs and schedules that will be required to complete the proposed
application.
The deliverables for this phase are:
- An initial Feature Listing of the entire project
- A rough estimate for effort or price
- A rough schedule for all phases of the project
The objective of the Requirements Analysis phase is to identify and
document the user requirements for a proposed system. The process
involves a Requirements Analyst(RA) who communicates with knowledgeable
user(s) to understand what the requirements are. Existing systems
if any are reviewed and considered at this stage.
The list of various Actors , Use Cases and Non functional requirements
(such as the maximum hits a site can expect or the maximum time a
program can take to execute) is documented , refined and updated until
the user is satisfied that it represents the essence of the proposed
system.
The deliverables for this phase are:
- A final Software Requirements Specification(SRS) document delivered
for approval
- Small prototypes to demonstrate technical feasibility
- A test plan for final product acceptance
The designers determine methods to implement Functional and Non functional
Requirements mentioned in the SRS. The design defines specifically
how the software is to be written including an object model with properties
and methods for each object and a detailed database design. Our design
stage is planned and involves Verification according to detailed Design
checklists, Validation and design reviews.
The deliverables for this phase are:
- A final Design Specification.
The development phase involves the actual coding of the entire application.
This is the most resource-intensive phase.
All Objects of the source code are named, versioned and carry a history
log , which has details of name, date, time and reason for each change.
This allows our source code to be instantly Identifiable and traceable,
which is an important aspect of our ISO 9001:2000 implementation.
Daily builds on Sandbox servers ensure that product is tested
every day from the first day of development. This allows developers
to instantly identify problems in the code , much before they go to
the Testing phase.
As components of the application are complete, they are reviewed by
the customer for accuracy as well as usability, according to a milestone
schedule. There is also an alpha deployment test phase embedded in
the Development Phase.
The deliverables for this phase are:
- A beta version of the application
- Preliminary manuals and user documentation
The application is checked against each Functional and Non-functional
requirement specified in the SRS. This is done first by our Testers
(Testers do not take part in developing the project), and then verified
by the customer.
The deliverables for this phase are:
- A final version of the completed application
- Final manuals and user documentation
The deployment phase is a roll out of the new application(or components
of the new application). This involves delivery of the software and
walk-through of the installation process. It may also involve initial
training of users.
The support phase of the project is the last component and it continues
as long as a warranty or support contract is in place.
|