Presentation on theme: "Project Management and Software Quality See accompanying Word file “Software PM tools 3”"— Presentation transcript:
Project Management and Software Quality See accompanying Word file “Software PM tools 3”
Quality problems? W Edwards Deming, Joseph Juran, Phil Crosby, and most other quality experts have asserted that the main source of quality problems can be assigned to management rather than to technical workers. The following correlations have been noted for a sample comprising more than 100 companies and more than 1,000 software projects
PM and poor SQ correlation Use of manual project estimation methods Use of manual project planning methods Failure to estimate or consider software defect potentials Failure to estimate or even know about software defect removal efficiency Failure to perform even rudimentary risk-analysis Failure to provide time for pre ‑ test inspections No historical quality data from similar projects available Milestone tracking absent or perfunctory Defect tracking absent or perfunctory Management focus was concentrated only on schedules Schedules (and costs) tended to be overrun
PM and good SQ correlation Use of automated project estimation methods Use of automated project planning methods Use of early and automated estimates of software defect potentials Use of early and automated estimates of software defect removal efficiency Formal project risk ‑ analysis Provision of adequate time for pre ‑ test inspections Historical quality data from similar projects available Milestone tracking automated and thorough Defect tracking automated and thorough Management focus was concentrated on achieving excellent results Schedules (and costs) tended to be achieved
Project management tools To a surprising degree, software quality levels can be correlated with the usage of a robust set of project management tools, although the correlation with a set of quality assurance and testing tools is even stronger. Seven software project management tools stand out as having a significant impact on software quality.
The seven Project planning Project estimating Risk analysis Milestone tracking Resource tracking Methodology management Assessment support
Project planning tools The standard general-purpose tools for performing critical path analysis, producing Gantt charts, and in general laying out the sequence of activities associated with projects of any type, including software. These tools are often called "project management" tools but for software they perform such limited functions that "project management" is actually a misnomer.
Project estimating tools Specialised predictive tools aimed specifically at software projects. These tools include sizing capabilities, schedule and cost estimating capabilities, and for several, quality and reliability estimating capabilities as well. Many support both function point and lines of code estimates and include automatic conversion in either direction.
Risk analysis tools Either special custom-built tools usually found within large corporations or add-on features associated with software project estimating tools or methodology management tools. Whether they work in standalone mode or as part of another tool, they usually predict technical risks (i.e., inadequate defect removal, requirements volatility). A few can also predict sociological risks (i.e., excessive schedule pressure, staff burnout).
Milestone tracking tools Record both planned and actual events that are deemed critical for software projects. Typical milestones include –completion of high-level design, –completion of design inspections, –completion of low-level or detailed design, –completion of coding, –completion of code inspections, –completion of first drafts of user manuals
Resource tracking tools One of the oldest forms of project management capability, and have existed in standalone mode since the late 1950s and have been part of other project management tools ever since. Resource tracking tools accumulate data on the human effort and costs expended on software projects.
Resource tracking tools... One strong criterion for precision in the quality domain, which is often lacking, is that these tools should capture unpaid overtime and show this as a separate category. Unpaid overtime is a major component of quality control, because more than half of the total volume of unpaid overtime usually occurs during late-night and weekend testing marathons.
Methodology management tools A fairly new category of software project management tool. These tools may include planning and estimating support and also aspects of risk management and even quality estimation. They are usually keyed to one or more of the standard software development methodologies such as information engineering, rapid application development (RAD), Merise, or conventional structured analysis and design.
Methodology management tools.. Within this context, they provide guidance for what deliverables are needed, scheduling, planning, and other management topics. The concept of the methodology management approach is to aggregate a number of managerial functions under one umbrella. They may be coupled to software project planning and software estimating tools, or planning and estimating capabilities may be integrated into the methodology management tool itself.
Assessment support tools Another fairly new class of automated tools that are keyed to one or more of the standard forms of evaluating software methods and approaches, e.g. –the Bootstrap approach, –the ISO 9001 approach, –the Software Engineering Institute Capability Maturity Model (SEI CMM), or –the Software Productivity Research (SPR) assessment method.
Assessment support tools... When used near the beginning of major projects (i.e., > 5,000 function points) they can highlight both strengths and weaknesses. The weaknesses will need repair prior to moving into full development. Assessment tools can either be standalone tools or add-ons connected to software estimating tools or software methodology management tools. (The most sophisticated assessment tools can also serve to gather data that can modify cost, schedule, and quality estimates.)