Email us : contact@digitalsabre.net  Call us at : 877-630-7371
Software Engineering CMMi Delivery Process

Digital Sabre Solutions executes a proven Software Development Process to conduct off-shore Development projects for clients in the USA and Europe. We use the Capability Maturity Model Integration (CMMI) CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization. It helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes.

The benefits you can expect from using CMMI include the following:

  • Your organization's activities are explicitly linked to your business objectives.
  • Your visibility into the organization's activities is increased to help you ensure that your product or service meets the customer's expectations.
  • You learn from new areas of best practice (e.g., measurement, risk)

Digital Sabre’s use of CMMI is most evident in two key areas: the Software Development Life Cycle, and Project Monitoring and Control and Measurements.

1. There are three major components in the process of the Software Development Life Cycle (SDLC) –

A. Requirement Management
B. Project Planning
C. Software Engineering

A. Requirement Management Phase

  • During this phase we develop a Size Estimation, derived from Use-Case points associated with High-Level Client Requirements.
  • A proposal is submitted to the Customer which includes High Level Requirements and the Size Estimation.
  • An authorized stake holder from the Client’s end will be assigned to coordinate projects activities and validate requirements. This person is typically a decision maker, or a high-level person in the company’s structure that has a close working knowledge of the issues being addressed or problems being solved by the proposed software solution.
  • Once the Client has given the go-ahead, the Group Manager will call a project initiation meeting and describe roles, responsibilities and provide a high level overview of what is expected to be
  • delivered.

B. Project Planning Phase

  • The Project Manager (PM) prepares the Project Plan and identifies the skill requirement for project execution.
  • Resources are requested for the project and benchmarked with expected skill levels. Skill Gaps are identified and action is taken to close skill gaps before committing resources.

C. Software Engineering Phase

  • In the Software Engineering Phase, the Requirement Traceability Matrix (RTM) is created and is maintained throughout the project life cycle to monitor bidirectional traceability of initial and evolving requirements.
  • A Detailed Work Breakdown Structure (WBS) is prepared and the overall project effort is estimated using the Three Point Estimation method. Based on this estimation a detailed schedule with resource allocations is prepared. The Acceptance Test Plan is also prepared and shared with the Client at this stage.
  • Requirement elicitation is carried out with the designated person from the Client’s end. A detailed Software Requirement Specification (SRS) is prepared and gets approved by the Client. The System Test Plan is prepared and System Test Cases are written considering the approved SRS and System Test Plan.
  • A High Level Design (HLD) is created concentrating on architecture and interfaces. The Detailed Design (Unit Specifications) and System Integration Plan is derived from the baseline High Level Design and SRS. Unit Test Cases and Integration Test Cases are derived from the Unit Specifications and System Integration Plan.
  • All development work carried out by the Engineers of Digital Sabre will strictly adhere to the Coding Standards defined at organizational level. Different types of reviews are carried out by experienced employees based on project context, state and the source of review.
  • Once the code is unit tested and reviewed, the components identified as required for a particular release, is integrated based on the System Integration Plan. Integration Test Cases are executed. If all critical features set to be implemented for a particular release is working as expected, the build is released to the QA Team for System Testing/Regression Testing. Release numbers are version controlled. The QA team executes Test Cases and reports bugs. All reported bugs are followed up with the Bug Life Cycle defined at organization level. QA will produce Release Notes to the PM and the Management Team by analyzing quality metrics. If this analysis is satisfying with organizationally defined standards, recommendation is made to do a Client release and Client approval will be taken as acceptance of the release /project.

Change Management

Requirements can evolve throughout the project and Change Requests (CR’s) are raised for any changes are made to baseline requirements. Change Control Coordinator will conduct Impact Analysis after identifying all Impacted Configuration Items (CI’s). CR’s have to be approved by the Change Control Manager and releases are planned accordingly. Project schedule is updated to reflect new tasks and new baselines are created. All affected CI’s (SRS, HLD and Source Code) are updated to reflect changes. The revised schedule is shared with the Client and confirmation is obtained.

II. Project Monitoring & Control and Measurements

  • We believe that the success of a project is highly dependent on Project Monitoring and Control. Projects are broken down to manageable milestones and client expectations are monitored at each milestone. Risks and Issues are identified throughout the execution and tracked to closure. Corresponding decisions are made to avoid or mitigate risk and issue resolution is also tracked to closure. A Project Work Book (PWB) is used to record all of the above and CR’s. The PWB is shared with the Client and the Digital Sabre management team to monitor project health.
  • You cannot not plan for something that you are unable to measure. Therefore at organizational level we defined certain project, process and quality parameters to be monitored throughout the project life cycle. (Effort variance, Schedule variance, Delivered Defect Density etc.) Data is captured throughout the project life cycle on a weekly and monthly basis. Project Status reports are given to the top management and discussed. Issues identified, decisions made and corrective actions assigned are tracked to closure using the PWB.

Process Quality Assurance and Quality Improvement

  • Process Quality Engineers conduct process audits and configuration management audits to ensure project adherence and compliance to the Organizational Quality Management Process (QMS) (Policies, Process, Check lists, Guide lines and Standards).
  • A key factor for success and survival in this competitive yet thriving industry is continuous learning, innovation and process maturity. All projects in project closure reports have to contribute to organizational knowledge assets as lessons learnt, best practices, reusable components. PM’s have to check this database consistently before initiating a new project. Further, the Process Consultancy Group encourages projects to submit CR’s for organizational process. This will be used to refine the current process for continuous improvement, followed up with the PDCA cycle.

Our QMS helps us deliver a consistent, high-quality product ensuring exceptional value to our clients and partners.

 
© 2010 DIGITAL SABRE SOLUTIONS. All rights reserved.          Terms of Services          Privacy Policy          Sitemap
Catch us on