CMM and Software Process Improvements Supplement materials
Contents • Global Software Industry – Status & Trend • Status of China’s Software Industry • The Reasons Why China’s Software Industry Is Behind India’s • Opportunities And Challenges • How Does Software Workshop Become Software Enterprise • How CMM Can Help China’s Software Industry Maturity • CMM And ISO 9000/9001 • USDP & UML As A Tool & Helper Of CMM & SPI
Questions What is the software? What is the software process? What is the maturity?
Global Software Industry • Software and IT industry will become the number • one industry in the world. Its output value is about • 595 billion by 2001. • Yearly growth has maintained up to 10% ~ 20% • since 1991. Average yearly growth 17.1% from 1997 • to 2001. • Software Industry Size: Employment reached 2.6 • million by 2001. For example, over all employment • growth of USA was 1.6% in 1996, but employment • growth of software industry reached 11.4%. • Software Industry Structure: Hardware central structure • in computer industry is changing to software central • structure.
Global Software Industry Spending and growth by world region (billions of USD per year): North America Western Europe Japan Asia/Pacific Latin America Middle East Africa Eastern Europe $817 $600 $350 $190 $100 $50 $20 7.3% 5.7% 19.5% 12.7% 15.9%
Global Software Industry 603.8 600 575.5 533.7 Global U.S.A. India 240 228.6 China 220 200 (Billion $USD) 50 10 8.9 8.4 6.8 6 7.2 6.8 5.3 2001 1999 2000
China USA Japan Ireland India Korea Global Output 71.7 2400 572 89.0 88.5 83.2 5960 Percentage 1.2 40.2 9.6 1.5 1.48 1.39 100 Global Software Industry 2000 Year: Total Output Of Major Software Produce Countries. Unit: $billion/10 Note: China’s export is only 0.4 billion, and India’s export is 5.7 billion.
Market at 1998 Market at 2003 Predication & Comments System Software 41 Billion Growth 14.9% 79 Billion Average yearly growth 14% from 2000 ~ 2005 Backend System Software 31.2 Billion Growth 8.4% 52.5 Billion The major market is rational database. Application Software 63 Billion Growth 15.4% 124 Billion Average yearly growth 14~15% from 2000 ~ 2005 Information Services Market occupancy is about 65% ~ 75% System Integration (EAI) Market occupancy is growing. Networking Services Market occupancy is growing. Global Software Market
USA – a software monopolistic kingdom which is the largest software producer and consumer in the world. Software industry became the third largest industry in USA in 1996. Revenue reached 128 billion by 1998. Its software sale is over 60% of that of global software sales. USA’ software companies almost monopolizes world’s OS and database market. Software employment reached 806.9K and average income was $68.9K (Average income was 29.8K in other industries.). International software trade profit reached 13 billion by 1998, it was over 20 billion by 2000. USA has 8 of top 10 software companies in the world. Japan – the second largest software kingdom in the world, whose software products are mainly for home market The largest software company – Hitachi Ltd in the world is in Japan, which is of 331.9K employees. Japan has three in the largest 10 system software companies in the world. Software employment reached 428K. The sale revenue reached 65.8 billion in which 61.6% came from software development. Europe – emphasizes software application technology SAP (a German Software Company) is the one of the top 10 software companies in the world. India – the direction of its software industry is to export Software and IT services. The second largest software export country in the world (The number one is USA.). India’s export software is number one in the world at export amount, quality and cost index. Its software sale revenue was 4 billion in which export software revenue was 2.75 billion which is 4.5% of India whole export trade revenue. The 91.2% of India’s export is to contract outsourcing projects – both software development and providing application services. Other 8.8% is export of software products. Major Software Marketplaces
Top 10 Employers Rank Company Employers % Change 9 Hitachi Ltd 344,907 2.1% 1 IBM Corp 316,303 2.9% 3 PricewaterhouseCoopers 160,000 0.0% 4 EDS 122,000 0.8% 6 Hewlett-Packard 88,500 4.9% 7 Accenture (Anderson Consulting) 71,300 8.9% 9 Compaq 70,100 4.5% 21 Computer Science Corp. (CSC) 61,000 16.0% 8 Cap Gemini Ernst & Young 55,387 39.6% 5 Oracle Corp. 43,000 -1.8% Top 10 Software Enterprises(from the 19th Annual Software 500, 2001)
Software Outsourcing Market & Software Export • Software Outsourcing is a quickly increasing market. • USA provided software outsourcing project contracts about $40 billion by 1999. • USA provided software outsourcing project contracts about $60 billion by 2000. • India is the second largest software export country which gained $6.3 billion from outsourcing in 2001. India government predicted that India’s software export will reach 100 billion by 2005 and software outsourcing will create 2200K new work for India.
Software Industry In China 1992 ~ 2001 Unit: 1000 Million rmb
Opportunity And Challenge • China is potential large country on software produce and consume • (1) Huge software market and need for China’s economic modernization • (2) Plentiful talent resource • 2000: China’s software industry output is only 1.2% of total output of • whole world. Specifically, software export is about 7% of India’s software • export. Both China’s and India’s software industry began around 1984, • but India has become the second largest software export country in the • world. • Opportunity: (1) Need for Modernization & Informationization • (2) WTO brings the outsourcing business opportunity • If China can get 2% ~ 3% of USA’s outsourcing • projects, China can be a large country of software • export. • Challenge: (1) How to catch the world software industry • (2) How to improve China’s software engineering • management • (3) How to reach software maturity & industrialization
India vs. China Per Capital Income Foreign Direct Investments (per year) Export No. of Internet Connections PC Sales in 2000 Cell Phones(per 1000) High Way Software Export India $400 $3 billion $45 billion 8 million $1.5 billion 2 500 KM $6.2 billion China $800 $45 billion $180 billion 22 million $10 billion 34 $0.5 billion
India India government issued a preference policy to software development and export on tax, funds, talent resource, …. at early 1991. China China government released a preference policy to software industry and export on tax, funds, talent resource, …. at 2000 (file 18). Government Policy
India University Graduates: 150~180K/year Trained by 70000 IT school: 1000K/year Trained by multi-national companies: 1997: 2000 MS Engineers 2001: 100K MS Engineers China University IT Graduates: 50K/year IT Training Business is small and week. 200 Universities have IT Department and 35 Universities have IT school Professional Training
India (1) 250 software export companies passed ISO9000 (2) 29 reached SEI CMM5 (3) 43 reached SEI CMM4 China (1) 1 reached SEI CMM2 in 1999 (2) 2 reached SEI CMM5 in 2000 (3) 5 reached SEI CMM2 2 reached SEI CMM3 1 reached SEI CMM4 in 2001 (4) 1 reached SEI CMM2 1 reached SEI CMM3 in 2002 Software Quality
India (1) Industrialization model (2) The number of exporters reached 3000 companies (3) Top 13 software companies’ revenue are above $100mn (4) InfoSys reached 9500 people and market value $45 billion. China (1) Manual workshop model (2) 2000 software companies (3) less 50 people: 55% (4) 50 ~ 200 people: 42% (5) less 1000 people: 2% (6) > 1000: <1% Software Organization Model
India Official language is English Software education & training by using English It is superior in communication and digestion as well as absorption of technology. China Official language is Chinese Software education & training by using Chinese It is not most important reason, since Korea has been superior to China in software export. Languages
India More oversea Indians participants Oversea Indians bring in not only software knowledge, tech. & management experience, but also funds & outsourcing contracts. China Less oversea Chinese participants China needs more oversea Chinese to make contribution to her software industry. Oversea Participant
What is major experience in India & What Is Key Issue in China? • What is the core technology of software industry? It is that how to • produce a software with satisfactory quality – a process thinking! • Software quality is the function of talent resource, process and • technology: • Q = f (M, P, T) • where Q represents quality, M indicates talent resource and T is technology. • The major experience from India’s software industry is its software quality • assurance(SQA) which is generated by its industrialized production • and mature software engineering (process) management. • Does China lack talent resource? No. The key issue of China is that China • lower maturity of software process management and its manual workshop • production model.
How Does Software Workshop Become Software Enterprise? • Thinking In Software Engineering & Doing by SE. Software design, • development, testing, maintenance and management is a system engineering • which is a combination of multiply subjects. For example System Engineering Automatic Control Project Management Fuzzy Mathematics Computing Economy Behavior Science
How Does Software Workshop Become Software Enterprise? • Improving Software Process • (1) What is the software process? • “The set of activities, methods, and practices used in the production and • evolution of software.” (SEI CMM (Humphrey, 1989, Paulk et al, 1993) • (2) A software workshop either without process or with incomplete process • (3) A software enterprise should have a standard and complete process. • (4) The process plays a central role in software business: Business Results Process Organization Management Skills Technology Process Process is the Glue.
How Does Software Workshop Become Software Enterprise? • Improving Software Process • (5) Impact of SPI on product quality: SPI benefit report by Herbsleb et • al., 1994: • I. $490~2004 invested per software engineer per year • II. 9~67% annual increase in productivity • III. 15~23% annual reduction in cycle time • IV. 10~94% annual reduction in field error report • V. Return on investment ranging from 4:1 to 8.8:1 3+ 3+ Hi gh 2 Maturity Level Maturity Level Hi gh 2 2 2 Hi gh 1 Hi gh 1 1 1 0% 20% 40% 60% 80% 100% 0% 20% 40% 60% 80% 100% Process quality is ‘good’ or ‘excellent’ Ability to meet schedule is ‘good’ or ‘excellent’
How Does Software Workshop Become Software Enterprise? • Adapt Advanced Software Management Standard • (1) ISO 9000/9001 – International Standards Organization (ISO)’s Quality • System Requirements which is not just for software, but can be used • for software system quality requirements standard. • (2) CMM – Capability Maturity Model which is the most well-known • software process improvement roadmap and which is the Software • Engineering Institute (SEI’)’s standard. • (3) TRILLUM Model – which has been developed by a consortium of • telecommunication companies, headed by Bell Canada. It is based on • the SEI’s CMM Version 1.1.
Waves Of The Software Industry • The first wave was characterized by the waterfall lifecycle • and structured methods. The one of the most powerful features • the first wave gave us was the ability to represent software • activities diagrammatically. The step brought software • development nearer to becoming an engineering discipline. • The second wave is the process maturity movement which is • likely to push the software industry even further towards • becoming engineering discipline. • The third wave is expected to be software industrialization • where software development turns into a manufacturing and • assembly of components. • The software industry is currently in the midst of the process • maturity wave.
China’s Software Industry Maturity • China’s software industry is currently in initiative phase of • the second wave of world software industry. • The indication of the process maturity movement was that • first got the certificate of ISO9000 in 1997. • A software company first got CMM certificate in 1999
How CMM Can Help China’s Software Maturity & Industrialization • CMM Introduction – A Software Engineering Framework • CMM – Its Status And SPI Business Benefits • (USA, Europe, India) • Concept And Definition Of CMM • Key Process Area (KPA) Of CMM • Goals Of CMM • Key Practices (KP) Of CMM • CMM As A Software Process Improvement Roadmap • CMM-Based Software Process Assessment
CMM’s Historical Background 1986 1987 1989 1991 1993 1998 SEI and Mitre Corp. Process Maturity Framework SEI Description of Process Maturity Framework and Maturity Questionnaire Watts Humphrey’s Managing The Software Process SEI CMM V1.0 SEI CMM V1.1 SEI CMM V2.0
The Five Levels of Software Process Maturity Continuously Improving Process 5.Optimizing Focus on process improvement 4. Managed Predictable Process Managing Change Process measured and controlled Standard, Consistent Process 3. Defined Product and Process Quality Process characterized, fairly well understood 2. Repeatable Disciplined Process Integrated Engineering Process Can repeat previously mastered tasks 1. Initial Project Management Unpredictable and poorly controlled
What is the CMM? • Concept:The application of process management and quality improvement concepts to software development and maintenance • Model:A model for organizational improvement • Guidelines:A guide for evolving toward a culture of engineering excellence • Basis for Measurement:The underlying structure for reliable and consistentsoftware process assessments, software capability evaluations, and interim profiles
The Maturity Levels Are A Framework Of SPI • Based on Continuous Process Improvement: based on many small, evolutionary steps rather than revolutionary innovations. • Plateau:A maturity level is a well-defined evolutionary plateau toward achieving a mature software process. • Foundation:Each maturity level provides a layer in the foundation for continuous process improvement. • Priority Order:The levels also help an organization prioritize its improvement efforts.
Levels/ Process Categories Management Organizational Engineering 5 Optimizing Technology Change Management Process Change Management Defect Prevention 4 Managed Software Quality Management Quantitative Software Management Organization Process Focus Organization Process Definition Training Program 3 Defined Integrated Software Management Intergroup Coordination Software Product Engineering Peer Reviews 2 Repeatable Requirements Management Software Project Planning Software Project Tracking and Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management 1 Initial Ad Hoc Processes
The CMM Structure 5 4 3 2 Maturity Levels RM PP PT SM QA CM KeyProcess Areas (18) Goals (52) Common Features Activities Performed Commitment to Perform Ability to Perform Measurement and Analysis Verifying Implementation Key Practices (300)
Part 2.CMM Level 2 Key Process Areas Software Quality Assurance Requirements Management SoftwareProjectPlanning Software Configuration Management SoftwareProject Tracking and Oversight Software Subcontract Management
CMM Level 3 Key Process Areas Organization Process Focus Organization Process Definition Training Program Intergroup Coordination PeerReviews Integrated Software Management Software Product Engineering
CMM Level Number of Software Companies Passing CMM Certificate in World Percentage of Software Companies Passing CMM Certificate in World Level 5 41 3% Level 4 54 4% Level 3 232 17% Level 2 438 32% Level 1 600 44% CMM Profile of the Software Community In the World
CMM CMM Levels Goals on each level Key practices to reach each level’s goals Management Technology & tools ( non-CMM) China’s Kung Fu Kung Fu’s accomplish States on each accomplish Mastery & practices to reach each accomplish Internal kung External kung The CMM And China’s Kung Fu
Software Process Improvement Network (SPIN) • CMM is not a purpose, but a tool, mean and model • for software process improvement (SPI). • SPIN is an important way to execute CMM & • SPI. • (1) USA: SPIN > 50 • (2) India: SPIN > 10 • (3) China: SPIN < 5 (Beijing and Shanghai) • To improve China’s software industry, China need • to have more and more SPIN.
Business Benefits Of CMM & SPI On Time Organization Processes Increase Customer Satisfactory Profitability And Business Success Management Processes $$$ Customer And Supplier Processes Engineering Processes Support Processes Within Budget
Business Benefits Of CMM & SPI • The evidence from John Major, Senior Vice Present • of Motorola (1996): Since 1992 • More than 75% of product development at Software Maturity • Level 3 and above. • Approaching 10 times software quality improvement rate over • the last two years • More than twice productivity improvement • More than twice software cycle time improvement
Business Benefits Of CMM & SPI • The evidence from SEI Study of 13 software organizations: • An average of $5.0 net business return per dollarinvestment in • software process improvement. There is increasing evidence that • in moving their processes up the maturity levels, organizations • save more than they invest in improvements. • Software productivity increases by average of 35%. • Software error rate decreases by average of 39%. • The evidence from Humphrey’s Study of cost saving: • US Air Force Logistics Command invested $4,792,527 and gained • direct savings of $2,000,000 • Hughes Aircraft invested $445,000 for a one-year saving of • $2,000,000. • Raytheon invested $1,000,000 a year for four years and gained a • savings of $15,800,000.