Quality has always been the cornerstone of Saigun’s endeavor to provide technologically superior services and products that are constantly at the threshold of leveraging market opportunities and delivering customer satisfaction.
At Saigun, Software Quality department carries out the review of software products and related documentation for completeness, correctness, reliability and maintainability. It also includes the assurance that the system meets the specifications and the requirements for its intended use and performance. Our quality process includes all quality system elements required by CMMI Level 3.
A process for reporting quality problems, escalating them to appropriate levels of management, and controlling further distribution of nonconforming product until the problem is corrected.
- Procedure for following up corrective actions to rectify process defects.
- Documented procedures for review and authorized release of documents and product.
- Procedures for defect detection and correction and subsequent re-test following rework including configuration control.
- Documented procedure for a supporting process whose purpose is to identify, define, and baseline items; control changes and releases of these items; report and record status of the items and change requests; ensure completeness, consistency and correctness of the items.
- Policies and procedures for conducting internal audits. Joint reviews with the customer of project, technical progress and deliverables.
The Path to Excellence
A deliberate and focused effort that extends across the entire development organization and touches each and every individual developer is required to achieve industry-leading quality standards. It also requires quantitative metrics to measure success, along with systematic feedback to effect ongoing quality improvements.
Saigun recognizes that the quality of a software product is largely governed by the quality of the process used to develop and maintain that product. Set out to redefine how quality is integrated into the Saigun development process by extending and improving existing processes. Saigun adopted an internationally recognized model to evaluate the quality of its processes and injected key measures to inform process improvements. The result: a fundamental change in how software is developed, tested, and delivered.
The foundation for this change was a corporate-wide commitment to make quality the top priority. Goals were set for improving the predictability, productivity, and speed of execution within Saigun’s organizational and developmental processes, and a strong emphasis was placed on enhancing the total customer experience. Ultimately, it is through maintaining a focus on external customer satisfaction that we at Saigun, are able to look inward and implement needed changes most effectively.
Customer – Based Design and Testing
By working with “trend-setting” Saigun customers-enterprises that are leaders in their respective industries such as Insurance, banking, and Energy-Saigun has been able to garner valuable input on their software processes. These “trend-setting” customers represent the highest levels of demand on high standard, our organization is well assured of addressing the issues that are commonly experienced by the vast majority of other enterprises in similar markets.
To maximize the effectiveness of testing, the Saigun has also implemented customer-based solutions testing. That is, test methodologies have been enhanced to better reflect the experiences that typical customers would encounter, such as installation and updates, recovery, and data migration. Methodologies have been expanded to fit customer profiles, moving toward 3- to 4-tier Internet applications. Software testing has been expanded beyond the core Software system to include more comprehensive application stacks.
Implementing the Capability Maturity Model
Internal changes within the organization were facilitated by adopting the Capability Maturity Model Integrated(CMMI) developed by the Carnegie Mellon Software Engineering Institute. This comprehensive and well-established model provides an objective basis for evaluating the maturity of an organization’s software processes, and it helps an organization identify the key practices necessary to elevate that maturity level.
Despite the challenges, however, the effort has paid off on many levels-most importantly, with a higher-quality product for our customers. We have a defined, consistent, organization-wide process, with the flexibility to tailor that process for individual projects.
Higher quality also has an impact on productivity within the our organization. With quality built into the development lifecycle, the defect/fix workload has been significantly reduced; development work proceeds more efficiently; and, as a result, more time is available to focus on functionality and delivering greater value to our customers.
The Saigun Quality Process
The primary goal of the Saigun is to achieve continuous high quality and productivity. The maturing of the Saigun’s development process required implementation of multiple key practices, which direct specific actions affecting quality throughout the process.
By implementing key practices, the Saigun has a systematic method of detecting and eliminating defects, with a goal to do so as early in the development lifecycle as possible.
Inspections and Peer Reviews
Inspections and peer reviews are the key to having maximum impact on quality. At Saigun, every individual is trained in the inspection process, and inspections are used at every stage of the development lifecycle. All design documents are methodically inspected, and peer reviews following established checklists are required on all code. The entire inspection process is coordinated by a select group of specially trained inspection moderators, and the results are captured for analysis and subsequent action.
Retrospectives are a proven method for improving quality and processes, and they have long been employed by Saigun. This key practice provides important insights into specific aspects of the process that were successful or unsuccessful, and it documents specific areas requiring change. As part of the CMMI model adoption process, we added the formal task-at the program level-of tracking the top three recommendations through completion.
Defect analysis is another critical practice Saigun, providing a formal means to uncover defects, identify the most common types of defects, determine their root cause, and set a course of action for preventing such defects from recurring. This analysis explores specific changes that can be made in review cycles, training, testing, and other areas. In addition, defect analysis at the subsystem level has led to vital improvements in project management and better communication of dependencies among various teams.
Project Management Fundamentals
All managers and the majority of engineers Saigun are trained in project management fundamentals. This effort ensures that each project is well organized and managed, with all milestones, risks, and dependencies clearly identified and tracked. As a result, quality assurance tasks are planned from the beginning, and feature sets can be adjusted to ensure that all quality assurance tasks are retained in meeting the schedule.
Applying a testing methodology that shifts the focus away from “catching defects before they get out the door”-and toward catching them early as possible in the lifecycle instead-has had a profound impact on both quality levels in Saigun, as well as on the cost-efficiency of the Saigun’s development process.At a fundamental level, developers are writing code with the forethought to make it easier to test. In addition, developers are charged with ensuring a high percentage of code coverage, testing functionality throughout every primary branch. This important step sets the stage for a more streamlined testing process down the line.
Mainline Stability Test
Of primary importance is ensuring quality in the top-of-branch-or mainline-of the software configuration management system. The fact is, quality in the mainline affects quality throughout the entire development process. By raising the quality of the mainline, Saigun has been able to perform more thorough customer-based testing downstream while reducing the cost of correcting defects introduced by individual branches of code.
To elevate quality in the mainline, a mainline stability test was implemented. This test validates functionality and reliability based on a variety of high- and low-end configurations. Testing is progressive, with individual branches of code tested as they are submitted into the mainline. If a test fails as a result of any submission, the process is halted until the offending branch of code is identified. The problem is corrected or the branch removed, mainline stability is re-validated, and then testing is opened again for branch submissions.
Project managers are held accountable for the number of mainline test shutdowns caused by their code submissions, thus shifting the measure of success from functionality of submissions on-time, to quality of submissions on-time.
Saigun has clearly secured a position as the one of the most progressive development center for enterprise solutions. The documented improvements in process quality, and the valuable impact on customers that Saigun has achieved are solid assurance to any enterprise that Saigun is the best choice to support mission-critical applications.
The focus on meeting customer requirements-in terms of functionality as well as performance and availability-is paramount to the current and ongoing development processes. Customer input is central to both product design and quality assurance tools, and it feeds the quality assurance process.
Saigun has adopted customer-based design and testing-and a highly disciplined quality assurance process-to drive continuous improvements in all phases of the software development lifecycle, from requirements planning and product development through testing and documentation. The result of this effort is the highest-quality software products ever.
With a strong commitment to meeting customer needs, by making quality the primary objective in the development process, and by adopting a disciplined and rigorous quality model, the world-class Saigun intends to lead the industry in quality, productivity, and predictability.