Lecture Software process improvement: Lesson 30B provide students with knowledge about: software baselines; the development of software; software benchmarks; baselines collect similar data; baselines collect quantitative;... Please refer to the detailed content of the lecture!
Software Baselines Lecture # 30B 1 Software Baselines • A baseline is a milestone in the development of software • Software benchmarks and baselines collect similar data • Baselines compare a company against its own history for several years in the past 2 Software Baselines • Baselines collect quantitative and qualitative data on a number of important topics, including investments, staffing levels, development schedules, staff efforts, costs, quality, and customer satisfaction 3 Software Baselines • Software baselines are normally used as a starting points when beginning process improvement programs • Accurate baseline provides a firm quantitative basis for productivity, schedules, costs, quality, and user satisfaction to judge rate of improvement 4 Software Baselines • Another very common use of baselines is when outsource agreements include a contractual obligation for the vendor to improve quality or productivity • Baselines are technically very challenging and difficult to create with acceptable accuracy 5 Software Baselines • This is because most companies do not routinely collect accurate quality and productivity data. In fact most companies don’t even collect accurate cost data on how much they spend on software projects 6 • In addition to the fact that the effort and costs for many activities are incomplete, there are several other significant cost elements that are seldom recorded at all • One of the most important missing pieces of information is the amount of unpaid overtime applied to software projects. This is very important factor for international software comparisons 7 • Another missing piece of information is the work that software clients themselves perform during development cycles 8 • Because leakage is so common, initial baselines are often very unrealistic • For example, if a software organization’s actual productivity is 5.0 FPs per staff months but their cost tracking system only captures lowlevel design, coding, and testing costs, their apparent productivity might look like 15.0 FPs per staff months 9 • Many software cost tracking systems omit requirements, highlevel design, project management, creation of user manuals and documents, and the work of specialists in areas such as software quality assurance, database administration, change control, and administrative support • Sometimes, the activities omitted actually accumulate more costs than the activities that are tracked 10 10 • The bottom line is that the baselines are very challenging to create well and accurately • If they are going to serve a purpose in contracts between outsource vendors and clients without leading to litigation, then baselines need to be accurate and reliable 11 11 Summary 12 12 References • Software Assessments, Benchmarks, and Best Practices by Capers Jones (Chapter 3) 13 13 .. .Software? ?Baselines • A baseline is a milestone in the development of? ?software • Software? ?benchmarks and baselines collect similar data... levels, development schedules, staff efforts, costs, quality, and customer satisfaction 3 Software? ?Baselines • Software? ?baselines are normally used as a starting points when beginning? ?process? ? improvement programs • Accurate baseline provides a firm ... information is the amount of unpaid overtime applied to? ?software? ?projects. This is very important factor for international software? ?comparisons 7 • Another missing piece of information is the work that? ?software? ?clients themselves