280 likes | 297 Views
Learn about defining, measuring, and evaluating software processes to enhance productivity and quality. Explore process description, measurement types, metrics normalization, and quality assessment.
E N D
Computing and SE IIChapter 15: Software Process Management Er-Yu Ding Software Institute, NJU
Main Contents Activities of Process Management Defining Process Process Measurement Process Evaluation
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 ---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, consultedwith, 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 process project metrics process metrics measurement product metrics product Making the process visible and controllable!
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 Process model SPI Process improvement recommendations Improvement goals Process metrics
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) 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
The End Activities of Process Management Defining Process Process Measurement Process Evaluation
The End Readings None Next Lecture Software Quality Management