|
With a well-defined software development process
and quality management system in place, Syntax’s
commitment to quality is absolute. Quality has
always been the foundation of Syntax's endeavor
to provide technologically advanced services and
products that constantly leverage market opportunities
to deliver complete customer satisfaction. Our
software management and engineering processes
follow the industry-standard specifications and
are aligned to the key process areas of the SEI-CMM
quality model.
Backed by a team of highly qualified professionals,
who put together processes to strengthen all our
offerings, we provide a framework for application
development that ensures the solution is “to
customer specification, on time and within customer
budget”. This framework offers cost benefits
without any compromises on value or quality.
Our expertise spanning multiple application domains
and technologies complement our quality processes
to ensure reliability in product development and
large custom application development projects.
We have developed and delivered software applications
using customized software development paradigms
– beginning with Requirement Analysis to
Implementation. Following are some of the key
practices followed to ensure quality and timely
delivery.
The Requirement Analysis framework enables a
common and formal understanding of the functionality,
features and boundaries of the application. A
conceptual model defining the processes and the
interpretation of data is developed. The requirements
gathered are integrated and documented in the
Software Requirements Specification (SRS) document. This document undergoes a multi-stage formal review
process, from the customer and other stakeholders.
A formal sign-off from the customer is obtained
after incorporating all the changes specified
at the review process. The formally approved Software
Requirement Specifications will then be an integral
part of the baseline process - as per the software
configuration management framework. A Requirements
Management tool is used to baseline all the requirements
and track the same throughout the software development
lifecycle.
The Project Management Practice provides a framework
for project execution, operational processes and
methodologies for managing the same. The key objectives
of this phase is to have an agreement of project
scope, definition of project milestones &
priorities, agreement on project standards/procedures,
definition of roles and responsibilities and decide
on the acceptance criteria. Some of the key elements
are as below:
The project estimation is carried out using appropriate
industry-standard techniques like Function Point
Analysis, wherever applicable. The ultimate conversion
of the effort is in terms of person days/months
of effort required to execute the project. The
project estimation is based on the scope of the
requirements agreed and signed-off during the
Requirement Analysis phase.
The process done during the estimation phase
is further decomposed to all phases of the software
development lifecycle. A detailed project schedule
with a Work break down Structure (WBS) is created
covering low-level activities for all the iterations
and project phases.
A Software Development Plan is prepared covering
key elements like project methodology, project
deliverables, risk identification & mitigation,
iteration planning, infrastructure requirements,
resource requirements and product acceptance criteria.
This plan will be the basis for project execution
and will address all the key areas of delivery
management. The software development plan undergoes
revisions as driven by the changes to the original
project scope.
Projects are monitored and their status is updated
on a regular basis. All project-related meetings
including the weekly progress review meetings,
management reviews and other project interactions
are documented through Minutes of the Meetings
(MOMs) covering all the action items and their
respective closure dates.
The project effort is captured and tabulated on
a weekly basis using the timesheets filled in
by the project team members. A time sheet authorization
process ensures validity of the effort captured
using the timesheets. The approved timesheets
will be used to update the status of all the activities
as laid down in the project schedule.
The Software Configuration Management Practice
ensures maintenance of integrity for all the work
products throughout the project development lifecycle.
A SCM plan is prepared containing the procedures
for identifying, tracking and reporting of all
configurable items in the project. All the SCM
activities covering Version Control, Change Control
and Release Control along with the schedules and
frequency of these activities, responsibilities
and related procedures are also documented in
the SCM plan.
Version Control process is applied to all the
configurable items in the project. The Version
Control process enables strict control of multiple
versions generated for all the configurable items
during the different phases of the development
lifecycle. The control is established using the
technique of creating a baseline at different
stages of the development lifecycle. The Microsoft
Visual SourceSafe is currently used a standard
tool for version control throughout the organization.
Change Control process is applied to all projects
for tracking and controlling requirement changes.
The process comprises of various steps covering
Change Initiation, Change Verification, Categorization
& Prioritization, Impact Analysis, Change
Assignment and Change Closure Tracking. A Change
Control Board (CCB) approves and manages requirement
changes throughout the project lifecycle.
Release Control process is applied for all the
projects to ensure compliance of the project completion
criteria as defined in the project management
practice. A Release Control document is prepared
to capture the release criteria for all the projects. The Release Certification process ensures that
the Software Quality Assurance group formally
certifies all the projects before release.
A testing strategy and plan is prepared for
every project. The plan is compiled with test
cases that are mapped to requirement specifications
& use cases. The test plan and
test cases ensure that functionality & business
cycle is completely tested for various
scenarios.
The testing strategy consists of the following
testing types:
- Data and Database Integrity Testing
- Functional Testing
- User Interface Testing
- Performance Profiling
- Load Testing
- Volume Testing
- Security and Access control Testing
- Configuration Testing
These tests are applied at unit levels, system
levels and are also conducted on an
iterative scale based on the project.
A defect management procedure is defined for
all projects. Defect logging and tracking tools
are used to capture, manage and track defects.
The SQA practice provides visibility to the depth
of process implementation in the organization.
The SQA activities involve reviewing and auditing
the software products/activities to verify compliance
with applicable standards. The results of the
findings are shared with the project teams and
the management to focus on continuous process
improvement in the organization.
The SQA Plan covers all the projects in the organization
and details the involvement of the SQA in the
entire software development lifecycle. The involvement
covers document reviews, process audits, configuration
audits, change control and release certification.
|