computing and se ii chapter 15: software process management er-yu ding software institute, nju
TRANSCRIPT
Computing and SE II
Chapter 15: Software Process Management
Er-Yu DingSoftware Institute, NJU
Main Contents
1. Activities of Process Management2. Defining Process3. Process Measurement4. Process Evaluation
1. Activities of Process Management
StaffingTracking
Resources Multiple People Schedule Budget Others
Specific work to do Life Cycle and Process Model
Deliverables Artifacts pieces Integral Product
Project Plan Resources Plan Specific Work Plan Deliverables Plan
Process Management
Configuration ManagementQuality Assurance/Management
EstimationSchedulingRisk
Project Scope
Project Planning
1. Activities of Process Management
• Specific work to do– Definition tasks
• Defining Process
– Monitoring executions of tasks• Process Measurement
– Evaluation executions of tasks• Process Evaluation
2. Defining Process
• A set of processes is chosen that will meet the organization’s unique needs– Common software process models are
references• Process definition may be the bulk of the
work, especially for lower-maturity organizations– Software life cycles are references
• Processes must be relevant, correct, consistent, useful, flexible, extensible, and adaptable.
2. Defining Process
RolesActivities
Work Products
Composed of
2. Defining Process ---Process Description
• Policy – A statement of the organizational expectations for the process, when and under what conditions the process is to be followed, and why it is needed
• Process – Used to name the “what” level of process description. Outlines what the process accomplishes, activities, roles, deliverables, and portraying component interconnections
2. Defining Process --- Process Description
• Procedure – defines “how” each component part of the process is conducted; a step-by-step description is made that identifies specific techniques, methods, and tools to be used.
• Role – a defined set of role titles and descriptions should be used consistently; roles may be responsible for, accountable for, consulted with, or informed of an event
2. Defining Process --- Process Description
• Activity – “Work that is performed to carry out a process. This generic term is used to refer to a breakdown into phases, steps, tasks, and so on, and sometimes organized into a hierarchy of work detail into a process description.”
• Work Products – “The tangible items consulted while performing an activity or produces as a result of performing the activity. Synonyms are ‘deliverable’ and ‘artifact’.”
3. Process Measurement
measurementmeasurement
Making the Making the process process visible and visible and controllable!controllable!
project metricsproject metrics
process metricsprocess metrics
processprocess
productproduct
product metricsproduct metrics
3. Process Measurement ---Measurement, Measures,
Metrics• Measurement– is the act of obtaining a measure
• Measure– provides a quantitative indication of the size of
some product or process attribute
• Metric– is a quantitative measure of the degree to
which a system, component, or process possesses a given attribute
3. Process Measurement --- Types of Measures
• Direct Measures (internal attributes)– Cost, effort, LOC, speed, memory
• Indirect Measures (external attributes)– Functionality, quality, complexity,
efficiency, reliability, maintainability
3. Process Measurement --- Process Metrics
• majority focus on quality achieved as a consequence of a repeatable or managed process
• statistical SQA data– error categorization & analysis
• defect removal efficiency– propagation from phase to phase
• reuse data
3. Process Measurement --- Project Metrics
• Effort/time per SE task• Errors uncovered per review hour• Scheduled vs. actual milestone dates• Changes (number) and their
characteristics• Distribution of effort on SE tasks
3. Process Measurement --- Product Metrics
• focus on the quality of deliverables• measures of analysis model• complexity of the design
– internal algorithmic complexity– architectural complexity– data flow complexity
• code measures• measures of process effectiveness
– e.g., defect removal efficiency
3. Process Measurement --- Normalization for Metrics
Normalized data are used to evaluate the process and the product (but never individual people)
size-oriented normalization —the line of code approach function-oriented normalization —the function point approach
3. Process Measurement --- Typical Size-Oriented Metrics
• errors per KLOC (thousand lines of code)
• defects per KLOC• $ per LOC• page of documentation per KLOC• errors / person-month• LOC per person-month• $ / page of documentation
3. Process Measurement --- Typical Function-Oriented Metrics
• errors per FP (thousand lines of code)• defects per FP• $ per FP• pages of documentation per FP• FP per person-month
3. Process Measurement --- Object-Oriented Metrics
• Number of scenario scripts (use-cases)• Number of support classes (required to
implement the system but are not immediately related to the problem domain)
• Average number of support classes per key class (analysis class)
• Number of subsystems (an aggregation of classes that support a function that is visible to the end-user of a system)
3. Process Measurement --- Measuring Quality
• Correctness — the degree to which a program operates according to specification
• Maintainability—the degree to which a program is amenable to change
• Integrity—the degree to which a program is impervious to outside attack
• Usability—the degree to which a program is easy to use
3. Process Measurement --- Defect Removal Efficiency
DRE = (errors) / (errors + defects)
where
errors = problems found before release
defects = problems found after release
3. Process Measurement --- Example : Productivity and
Process Quality
4. Process Evaluation
• “The quality of a software product is governed by the quality of the process used to develop and maintain it”
• Focus on process as well as product.
• Evaluating process and improving it
4. Process Evaluation ---Software Process
Improvement
SPI
Process model
Improvement goals
Process metrics
Process improvementrecommendations
4. Process Evaluation --- CMM(I) Assessment
A software process assessment is • an appraisal • by a trained team of software professionals • to determine
– state of an organization's software process, – high-priority software process-related issues
and to obtain – support for software process improvement
4. Process Evaluation --- The Five Levels of CMM(I)
2. Repeatable
1. Initial
3. Defined
4. Managed
Disciplined Process
Standard, Consistent Process
Predictable Process
Continuously Improving Process
Unpredictable and poorly controlled
Can repeat previously mastered tasks
Process characterized, fairly well understood
Process measured and controlled
Focus on process improvement
5.Optimizing
Project Management
Integrated Engineering Process
Product and Process Quality
Managing Change
The End
1. Activities of Process Management2. Defining Process3. Process Measurement4. Process Evaluation
The End
• Readings– None
• Next Lecture– Software Quality Management