| |
Software
Development Life Cycle |
 |
| |
A Software Development Lifecycle
(SDLC) can adopt various development models - ranging from
the traditional Waterfall model to more rapid, iterative
and agile approaches. At CCS, we tailor a project plan to
suit your needs and allow you to derive maximum benefit
from the engagement.
We begin a project by working
in close coordination with the client to ensure that we
clearly understand the business problems and what the
client is trying to achieve. We recognise that business
priorities and approaches may change over time, thereby
requiring a flexible approach to application design and
development.
We have outlined the CCS SDLC
by way of a diagrammatic representation of the same. The
following sections then describe the various stages of
the SDLC.
-
Project Team
Formation and Investigation Phase
-
Project Planning
-
System Requirements
Analysis
-
System Design
and Project Tracking
-
Quality Assurance
(QA)
-
Software Configuration
Management (SCM)
-
Testing
-
Release
-
Maintenance
|
| |
|
The typical
phases of Systems Development include:
1. Project Team Formation and Investigation
Phase
After signing the contract with
a client, identified individuals are brought together to
form a team for the project. The Project Team identifies
different roles to be performed for the current software
development, along with the responsibilities of each team
member.
The following documents are generally
prepared to start the project:
- Functionality Matrix Document
- Project Understanding and Solution
Approach
- RFP Guide and Template
|
| |
|
2. Project
Planning
While planning, especially in the
software development outsourcing environment, we realize
that communication often has the biggest impact on the outcome
and smooth delivery of the project. To highlight and streamline
the communication process, CCS prepares the communication
plan, which is to be approved by the client at the time
of commencement of the project.
The major deliverables of this stage
are:
- Software Project Management Plan
- Software Development Plan
- Risk Mitigation Monitoring and
Management Plan (RMMM Plan)
- Communication Plan
- Project Team Structure
- Project Schedule
- Project Review Plans
- Software Engineering Facilities
and Support Tools Plan
|
| |
|
3. System
Requirements Analysis
We do a thorough analysis of customer
requirements to determine needs (elicitation), address needs
(triage) and document the desired external behavior of the
systems (specification). If these specifications are provided
by the client, then our team understands these requirements
and analyzes the requirements for completeness.
The various documents that are created
or referred by the team during this phase are:
- Analysis and Requirement Document
- Designer Repository (Logical)
- Data conversion Analysis
- Project Vocabulary
|
| |
|
4. System
Design and Project Tracking
The design and execution of any
project is carried out as per the decided software process
model. CCS ensures that the delivery of any given project
is as per the laid down plan, and that the status of the
project is being communicated to the client on a regular
basis. The project is monitored for risk and anticipatory
actions are taken by project co-ordinators.
The various deliverables during
this phase are:
- Detailed System
Design
- Designer Repository
(Physical)
- Data Conversion
Design
- Presentation Profile
|
| |
|
5.
Quality Assurance (QA)
At CCS, the Quality
Assurance Process focuses on customer satisfaction, results
through processes and the involvement of each team member.
We have implemented organization-wide project management,
and development follows industry best practices.
For more details, please
have a look at the CCS QA
Guide.
6. Software Configuration
Management (SCM)
We understand software
development as a process where bugs are inevitably injected
in the application (under development) and continuous modification
is done while in debugging mode. Under such an incremental
change scenario of code development, version controlling
becomes one of the important aspects of software development.
The documents created
and used by team members are:
- SCM Activities Plan
- SCM Policy
- Changes to Baselines
Procedure
- Software Baseline
Library Product Creation and Release Control Procedure
- Configuration Items
/ Units Status Review Procedure
- Standard Software
Configuration Management Reports
|
| |
|
7.
Testing
Once the various project
components are developed, they are integrated and rigorously
tested as a complete solution. Application behavior is compared
with initial specifications and any deviations are identified
and corrected.
The different testing
approaches undertaken are:
- Unit Testing
- Integration Testing
- System Testing
- User Acceptance
Testing
|
| |
|
8.
Release
After the project is
completed, it is deployed by working closely with the clients
internal IT team.
Subsequently, training
is imparted to the end-users of the system.
Thus, the project release
includes:
- Enterprise-wide
deployment
- End-user training
- System / Helpdesk
training
- Documentation handover
|
| |
|
9.
Maintenance
This (final) phase
covers system health maintenance - including database, application
and network maintenance. Application feature enhancements
(whenever requested by the client) are planned and developed,
keeping in consideration the existing system and its existing
data.
Thus, project / system
maintenance includes:
- System health maintenance
- Feature / Application
enhancements
|
| |
| The
SDLC model adopted at CCS provides consistency of success in
regards to Time, Cost, and Quality objectives. We provide a
method of thought such that all requirements are addressed through
a comprehensive work definition process, simultaneously ensuring
that client expectations are met. |
|