COSC 310: Sftware Engineering Dr. Bwen Hui University f British Clumbia Okanagan bwen.hui@ubc.ca
Brief Review f Refactring What is an example f refactring? Shuld we perfrm refactring when tests are unstable? If yur team's cde is nt smelly, and n refactring has been dne, what des that tell yu abut upfrnt design? Is yur team mre likely t be agile r plan driven?
5 Years Frm Nw... Yu run a small cmpany based n an awesme idea (several investrs and clients) All the emplyees wrk hard Frm yur perspective, yu see that: budget is always tight, mst f yur time is spent finding mre investrs things aren't prgressing as fast as yu want/expect emplyees are always verwrked, yet deadlines are almst never met quality f prducts vary (smetimes drastically)
Then Yu Hear... Imprved On-Time Delivery Raythen Nrth Texas Sftware Engineering imprved schedule perfrmance by 8%, with a 50% decrease in variatin
Then Yu Hear... Imprved On-Time Delivery Raythen Nrth Texas Sftware Engineering imprved schedule perfrmance by 8%, with a 50% decrease in variatin Decreased Csts TATA Cnsultancy Services saved $4.6M acrss all develpment centers
Then Yu Hear... Imprved On-Time Delivery Raythen Nrth Texas Sftware Engineering imprved schedule perfrmance by 8%, with a 50% decrease in variatin Decreased Csts TATA Cnsultancy Services saved $4.6M acrss all develpment centers Imprved Quality Siemens Infrmatin Systems Ltd. reduced defect density an average f 71% in three technical areas
What's the Magic? What needs t change? Yu start t remember all thse cncepts frm 310... SDLC? Prject Management? Peple Management? Planning and Prgress Mnitring? Quality Assurance? Where d yu start? Wh can help?
Capability Maturity Mdel Integratin (CMMI) Apprach t prcess imprvement Prvides rganizatins with essential elements f effective prcesses imprve perfrmance Develped by CMU's Sftware Engineering Institute in 2006 Overcmes limitatins f the riginal CMM (1990)
CMMI Multiple mdels = cllectins f best practices and prcess imprvement gals Fundatin - cre cmpany prcesses Acquisitin - supply chain management Develpment - prducts/services fcus Services - superir service delivery
Example Organizatinal Prcesses Cre Prcess Areas Organizatinal training Prject Planning Measurement and Analysis Cnfiguratin management Decisin Analysis and Reslutin... Acquisitin Prcess Areas Develpment Prcess Areas Services Prcess Areas
Example Organizatinal Prcesses Cre Prcess Areas Acquisitin Prcess Areas Slicitatin and Supplier Agreement Develpment Agreement Management Acquisitin Technical Management... Develpment Prcess Areas Services Prcess Areas
Example Organizatinal Prcesses Cre Prcess Areas Acquisitin Prcess Areas Develpment Prcess Areas Prduct Integratin Requirements Develpment Technical Slutins Validatin Verificatin... Services Prcess Areas
Example Organizatinal Prcesses Cre Prcess Areas Acquisitin Prcess Areas Develpment Prcess Areas Services Prcess Areas Incident Reslutin and Preventin Service Cntinuity Service Delivery Service System Transitin...
Prject vs. Organizatinal Prcesses Recall: Cde & Test repeat Plan Design Cde Test Plan User Eval. Risk Analysis Build Cntrast t rganizatinal prcesses Maintenance Hw things happen acrss teams, prjects, departments
Main Idea The mre mature an rganizatin is... the easier it is t repeat prcesses systematically the easier it is t measure what wrks well and nt the easier it is t ptimize prcesses What makes an rganizatin "mature"?
Prcess Maturity Cnsideratins: What types f prcesses are there? Where d prcesses cme frm? Are they well defined? Hw much variance is there each time a prcess is implemented? D they wrk well? Significant emphasis n "maturity f prcesses" within an rganizatin, nt just individual prjects
Prcess Imprvement Invlves understanding existing prcesses Intrduce changes t imprve quality, reduce cst, accelerate schedules Prcess imprvement cycle: measure current prcess utputs and metrics analyze metrics t discver areas f imprvement change existing prcess t imprve utputs MEASURE CHANGE ANALYZE
Visualizing Prcess Imprvement Quality Time
Hw t Cnduct an Assessment? Measure perfrmance f prcesses and quality f wrk prducts using metrics Ex: Cnsider a manufacturing prcess building cars n an assembly line. Hw culd we measure the perfrmance f the manufacturing prcess? Cst: what is the cst per car? cst per cmpnent? Time: hw lng des it take per car? Output rate: hw many cars per day? Defect rate: hw many defects per car? thers?
Appraisal Past: assessment via rganizatinal questinnaire
Appraisal Past: assessment via rganizatinal questinnaire Nw: assessment thrugh appraisal Scpe jintly defined, s assessment is tailred Verifies/validates bjective evidence Prvide benchmark quality ratings accrding t defined prcesses and maturity levels Cmparisn with ther rganizatins in the industry Fcus n imprvements that are mst beneficial t the current state f the rganizatin Derive rganizatin's capability and maturity levels Outline risks fr the current state f the rganizatin
CMMI Maturity Level 1: Initial Ad-hc apprach Entire prcess is unpredictable Case-by-case Anything ges Develpment withut an explicit prcess Uncntrlled Teams put in extra hard wrk t achieve results (strnger team; dn't like guidelines) Reactive management: Respnses t crises Mst rganizatins wrldwide are at this level!
CMMI Maturity Level 2: Managed (Repeatable) Management f rganizatinal requirements Prcesses that are planned, perfrmed, tracked, cntrlled Applies basic sftware management Decisins based n previus similar experiences Basic PM measurements are made When prblems arise, crrective actin is taken Sme repeated prcesses Guidelines are dcumented r well-established, s can be repeated next time Measurements can be used in future prjects
CMMI Maturity Level 3: Defined Imprvement ver Level 2 Describes rganizatinal prcesses in standards, prcedures, tls, methds Fcus n reusability Standard prcesses are fully dcumented Managerial and technical aspects are clearly defined Bth prcess and prduct activities are defined Effrts t standardize activities acrss cmpany Cntinual effrts are made t imprve quality and prductivity CASE tls are applied
CMMI Maturity Level 4: Quantitatively Managed Prcess cntrl via quantitative measures Quantitatively recrd measurements n varius aspects Prject (metrics?) Prduct (metrics?) Human resurces (metrics?) Set quality and prductivity gals Quantitatively analyze measurements Mnitr quality and prductivity Statistical quality cntrls are in place Make plans and predictins using metrics
CMMI Maturity Level 5: Optimizing Cntinuus prcess imprvement Incremental and innvative technlgical imprvements Quantitative tls and bjectives t manage: Planning and resurce allcatin Quality Prcess cntrls Feedback frm ne prject t the next Cmpare: Level 2 (Repeatable): Detectin and crrectin f faults Level 5 (Optimizing): Preventin f faults
CMMI Maturity "Grades" Level 1 (Initial) Ad-hc, ften chatic prcesses Level 2 (Managed/Repeatable) Organizatinal requirements, basic PM Level 3 (Defined) Standards, prcedures, tls, methds established Level 4 (Quantitatively Managed) Prcess cntrl via quantitative measurements Level 5 (Optimizing) Imprvement guided by quantitative measurements
Example: Cmpany FUN - Which Level? 15 emplyees and 1 PM 7 prjects at any ne time Prject plans are smetimes created Prject (final) reprts are smetimes written Design, cde, test as needed Dcumentatin - nwhere t be fund Requirements and deliverables negtiated regularly with the client New emplyees start wrking right away
Example: Cmpany GAMES - Which Level? 10 emplyees, 2 PM's, 2 majr prjects Everything is heavily dcumented Design, cde, test as individual prgrammer sees fit Requirements are develped thrugh detailed elicitatin and analysis steps Deliverables stick clsely t prject plans Regular prject meetings and prgress reviews Train new emplyees thrugh dcumentatin
Example: Cmpany CHAINS - Which Level? 7000 emplyees, 900 PM's, 3 majr prjects, tns f small prjects Dcumentatin everywhere, everyne writes in their wn preferred way Meetings and reviews fr everything Requirements are derived frm cntracts Deliverables vary, deadlines and budgets are nt met Lng training perids with new emplyees thrugh dcumentatin
SEI/CMU Appraisal Results 2012
Why Assess Cmpanies? Aside frm cst reductin, n-time delivery, imprved quality, what are ther benefits? Knw yur wn strengths and weaknesses Strategy t meet yur business bjectives Set measurable gals Measure, analyze, imprve,... Sme cntracts require at least a Level 3 (e.g., U.S. Department f Defense)
CMMI Maturity Levels Prvide a staging f prcesses fr imprvement acrss an rganizatin Imprvement invlves achieving the gals f the prcess areas at each level
CMMI Capability Levels Fcus prcess imprvement effrts by prcess area Level 0 = Nt perfrmed
CMMI Advancement
Hw t Mve Up Levels? One level at a time Level 1 cmpany can't jump t Level 4 CMMI: Appraisal result Assessment designed fr elicited business bjectives Achieve all the gals fr prcess areas assciated t specific levels Custmized strategy fr advancement
Example: Requirements Develpment (RD)
Prcess Area Cmpnents Each prcess area has: Required cmpnents Expected cmpnents Infrmative cmpnents
Required Cmpnents Essential t achieving prcess imprvement Gal satisfactin determine whether prcess area is achieved in appraisal Specific gals - unique t prcess areas EX in RD: "Develp custmer requirements." Generic gals - applies t multiple prcess areas EX: "The prcess is institutinalized as a managed prcess." Hw t knw if gals are achieved?
Expected Cmpnents Activities in achieving a required cmpnent Presence f these practices indicate whether crrespnding gals are satisfied Specific practices - unique t prcess areas EX in RD: "Elicit needs." Generic Practices - applies t multiple prcess areas EX: "Establish an rganizatinal plicy." Hw t knw if practices are perfrmed?
Infrmative Cmpnents Help t understand required and expected cmpnents Cnsist f: Examples Detailed explanatins Subpractices References Example wrk prducts
Prcess Area Cmpnents
Nt Just fr Business Owners When things dn't wrk smthly and yu wnder what exactly is wrng r hw things can be imprved CMMI can help thers t Prject managers Requirements engineers / Analysts Business prcess analysts Prduct manager Quality assurance manager Organizatinal change manager
Experience Appraisal highlight shrtcmings and suggest ways t imprve the prcess It takes: 3-5 years t get frm Level 1 t Level 2 1.5-3 years t get frm Level 2 t Level 3 Typically takes lnger frm Level 1 Level 2 than frm Level 3 Level 4 Level 5 (why?)
Experience Appraisal highlight shrtcmings and suggest ways t imprve the prcess It takes: 3-5 years t get frm Level 1 t Level 2 1.5-3 years t get frm Level 2 t Level 3 Typically takes lnger frm Level 1 Level 2 than frm Level 3 Level 4 Level 5 Initial "learning curve" Hesitatin twards prcesses (task/self-riented types)
Prfitability Hughes Aircraft Spent $500K mving frm Level 2 t Level 3 (1987-1990) Savings: $2M per year Raythen Mved frm Level 1 in 1988 and then eventually t Level 3 in 1993 Prductivity dubled Return f $7.70 per dllar invested in prcess imprvement
SEI Early Reprt Data frm 13 rganizatins
Summary Main CMMI cncepts: Prcess imprvement Organizatinal prcesses CMMI levels Measure, analyze, change lp Prcess advancement Next class: review fr midterm
References http://www.sei.cmu.edu/ http://www.sei.cmu.edu/reprts/10tr033.pdf http://www.sftwaretestinggenius.cm/articaldetails? qry=68 http://www.eecs.qmul.ac.uk/~nrman/papers/ qa_metrics_article/sectin_7_standards.html