| Strategies for Quality in Software Development |
|
Dr. Bill Curtis, Director, Consortium for IT Software Quality (CISQ) and the co-author of Capability Maturity Model (CMM), in an email interview with Geetaj Channana, talks about the need for standards in software development. Q:What was the thought process behind creating the CMM for software enterprises? A: By the mid-1980s most large projects that involved software were late, over-budget and defective. Although most organisations were focusing on better tools and methods or hiring better programmers, Watts Humphrey, who joined the Software Engineering Institute (SEI) after retiring from IBM, focused instead on improving software development processes. His critical insight in developing the Process Maturity Framework, the foundation for CMM, CMMI and the People CMM, was that no improvement program could succeed if developers were given unachievable commitments or baselines were not controlled. Thus,
rather than focusing on organisation-wide processes, he first focused
on stabilising projects by developing the skills of project managers to
plan and manage their projects. Only after projects were stable did he
address standardised organisational processes and quantitative project
management. This critical insight was a departure from existing models
of improvement and led to the impressive success of the various staged
maturity models built on his foundation. Around the turn of the century, CMMi was developed to integrate these different approaches into one model that could apply to any domain of engineering integrated into a large systems development project. I proved the applicability of Humphrey’s Process Maturity Framework to domains other than engineering projects by developing the People CMM for improving the capability of an organisation’s workforce. Q: Almost 20 years after CMM’s inception, how relevant do you think is it for enterprises? Where does it fall short? A: CMM
and its successor CMMi have been adopted globally. CMMi is especially
relevant to enterprises building large software-intensive systems. It
remains the only comprehensive model available for guiding the
improvement of software and system development organisations. It is
often used in conjunction with other models such as ITIL or COBIT at
the enterprise level to supplement their lack of depth in software
development. Many organisations, especially smaller ones, find the number of practices challenging, especially the large number of repetitious institutionalisation practices. Hopefully some of these issues will be addressed in upcoming revisions. Though, CMMi has a published record of successful implementations. Q: How is CMMi different from Six Sigma? Is one better than the other or do they complement each other? A: There are three key differences between the CMMi and Six Sigma:
Nevertheless, both Six Sigma and CMMi share the same heritage, they emerged from the quality practices pioneered by Walter Shewhart and his protégé W. Edwards Deming. Watts Humphrey once told me he was trying to figure out how to get software organisations to adopt the same statistical quality management and continuous improvement practices that he had seen work so effectively in other parts of industry. As I mentioned earlier, his critical insight was that he had to eliminate the problems that hindered their adoption, the first of which was poor project management. His Process Maturity Framework emerged as a staged improvement strategy that eliminates the barriers to continuous improvement through a staged transformation of the organisation’s processes. While some Six Sigma practices can be implemented at each maturity level, CMMi Level 4 is the full implementation of statistical process management, while CMMi Level 5 is a full implementation of plan-do-check-act based improvement and innovation. Q:Why was CISQ formed? A: There is a growing sense of unease about the cost and about the risk of the software being developed and acquired by IT organisations. CISQ was formed to create industry standard measures of software size and quality for use in benchmarking, guiding internal development and evaluating the software delivered by outsourcers and package vendors. These measures must be defined to a level that can be automated in order to reduce the cost and subjectivity experienced with current measures such as Function Points. The following factors explain the rationale behind CISQ:
Major industry players such as GM, AXA, US Department of Homeland Security, IBM, Capgemini and Tata Consultancy Services (TCS) are driving this forward to ensure the standard can and will be applied in practice. In fact, TCS became the first member. CISQ supplements CMMi by providing the automated quality measures needed in a mature development process. Q:How will CISQ help the software industry achieve quality excellence? A: CISQ provides a neutral forum for all stakeholders in the IT industry to develop standard, automated measures of software quality. Measures will not be adopted into standard practice until they are automated, because of the prohibitive cost of collecting and reporting measures manually. If we can get product measurement to be a standard
application development practice, weaknesses in software will be
detected long before they become expensive defects that cause outages,
security breaches, corrupted data and degraded performance. To support
this objective, CISQ will: Q:How will CISQ beneft the Indian IT industry? A: CISQ is an industry-led forum sponsored by SEI, the Object Management Group (OMG) and supported by NASSCOM in India. Indian outsourcers are beginning to see software quality measures written into outsourcing contracts as the equivalent of Service Level Agreements. If each customer uses a different defnition for a quality measure, an outsourcer may be faced with 50 different defnitions of the same quality characteristic. If there is a standard measure used across customers, it is much easier for an outsourcer to train their people, develop appropriate methods and tools and manage their relationships. The alternative is a nightmare of expensive special adjustments for each different customer with no economy of scale in using measures to manage the delivery of software. Q: How are standards like CISQ helpful in reducing the costs of the IT organisation in an enterprise? A: Automating standard measures of application size and quality dramatically reduce the cost and increase the adoption of software measures. Automated quality measures allow weaknesses in the software to be detected much earlier when they are 10 times cheaper to fix. When presented
with objective measures on the quality of their work, application
development teams learn much quicker and eliminate various types of
defects in their work. Standard measures have also proven to reduce the
time spent arguing in customer supplier relationships over what was
expected versus what was delivered, thus reducing the overhead while
improving the quality of acquired software. Q: Some say that standards reduce the level of creativity and innovation in an organisation – true/false? Why? A: There
are two ways to hinder creativity and innovation in an organisation
when implementing a standard. The first is to do a sloppy job of
implementing practices so that no benefit is achieved and the problems
hindering creativity and innovation do not change. The second way is to
implement a thoughtless, bureaucratic mountain of practices that get
in the way of everything. We have seen this transformation in many organisations. CMMi Level 5 is a state of continuous search for innovative solutions that close the gap between an organisation’s current capability, and the capability they require to achieve the strategic business objectives. When the standard software measures that CISQ will develop are used to guide learning and product improvement, they will have this same impact on creativity and innovation.
Cross posted by the CTO Forum and Infosec Island
Only registered users can write comments. |
||||