Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Construction & Development lecture #3:Software Process Improvement , Slides of Software Development Methodologies

Software Process Improvement Objectives • To explain the principles of software process improvement • To explain how software process factors influence software quality and productivity • To explain how to develop simple models of software processes • To explain the notion of process capability and the CMMI process improvement mode

Typology: Slides

2022/2023

Available from 04/24/2024

razaroghani
razaroghani 🇵🇰

4.5

(4)

151 documents

1 / 46

Toggle sidebar

Related documents


Partial preview of the text

Download Software Construction & Development lecture #3:Software Process Improvement and more Slides Software Development Methodologies in PDF only on Docsity! Software Process Improvement Software Construction & Development Objectives • To explain the principles of software process improvement • To explain how software process factors influence software quality and productivity • To explain how to develop simple models of software processes • To explain the notion of process capability and the CMMI process improvement model Process attributes Process characteristic Description Understandability To what extent is the process explic itly defined and how easy is it t o understand the process definition? Visibility Do the process activities culminate in clear results so that the progress of the process is externally vis ible? Supportability To what extent can CASE tools be used to support the process activities? Acceptability Is t he defined process acceptable to and usable by the engineers responsible for producing the software product? Reliability Is the process designed in such a way that process errors are avoided or trapped before they result in product errors? Robustness Can the process continue in spite of unexpected problems? Maintainability Can the process evolve to reflect changing organisational requirements or identified process improvements? Rapidity How fast can the process of delivering a system from a given specification be completed? The process improvement cycle Process improvement stages • Process measurement • Attributes of the current process are measured. These are a baseline for assessing improvements. • Process analysis • The current process is assessed and bottlenecks and weaknesses are identified. • Process change • Changes to the process that have been identified during the analysis are introduced. Quality factors • For large projects with ‘average’ capabilities, the development process determines product quality. • For small projects, the capabilities of the developers is the main determinant. • The development technology is particularly significant for small projects. • In all cases, if an unrealistic schedule is imposed then product quality will suffer. Process classification • Informal • No detailed process model. Development team chose their own way of working. • Managed • Defined process model which drives the development process. • Methodical • Processes supported by some development method such as the RUP. • Supported • Processes supported by automated CASE tools. Process applicability Prototypes Shor t-lifetme systems 4GL business systems rocess p Smale dium-szed systems Mana ged Large systems process Long-lifetime pr oducts Methodical Wel-nderstood TOCCSS applica tion domains , Reamg ea edswens Process measurement • Wherever possible, quantitative process data should be collected • However, where organisations do not have clearly defined process standards this is very difficult as you don’t know what to measure. A process may have to be defined before any measurement is possible. • Process measurements should be used to assess process improvements • But this does not mean that measurements should drive the improvements. The improvement driver should be the organizational objectives. Classes of process measurement • Time taken for process activities to be completed • E.g. Calendar time or effort to complete an activity or process. • Resources required for processes or activities • E.g. Total effort in person-days. • Number of occurrences of a particular event • E.g. Number of defects discovered. Goal-Question-Metric Paradigm • Goals • What is the organisation trying to achieve? The objective of process improvement is to satisfy these goals. • Questions • Questions about areas of uncertainty related to the goals. You need process knowledge to derive these. • Metrics • Measurements to be collected to answer the questions. Process analysis techniques • Published process models and process standards • It is always best to start process analysis with an existing model. People then may extend and change this. • Questionnaires and interviews • Must be carefully designed. Participants may tell you what they think you want to hear. • Ethnographic analysis • Involves assimilating process knowledge by observation. Best for in- depth analysis of process fragments rather than for whole-process understanding. Process model elements 1 Activity (shown as a round-edged rectangle with no drop shadow) An activity has a clearly defined objective, entry and exit conditions. Examples of activities are preparing a set of test data to test a module, coding a fu nction or a module, proof-reading a document, etc. Generally, an activity is atomic i.e. it is the responsibility of one person or group. It is not decomposed into sub- activities. Process (shown as a round-edged rectangle with drop shadow) A p rocess is a set of activities which have some coherence and whose objective is generally agreed within an organisation. Examples of processes are requirements analysis, architectural design, test planning, etc. Deliverable (shown as a rectangle with drop shadow) A deliverable is a tangible output of an activity that is predicted in a projec t plan. Condition (shown as a parallelogram ) A condition is either a p re-condition that must hold before a process or activity can start or a post-condition that holds after a process or activity has finished. Process model elements 2 Role (shown as a circle with drop shadow) A role is a bounded area of responsibility. Examples of roles might be configuration manager, test engineer, software designer, etc. One person may have several different roles and a s ingle role may be associated with several different people. Exception (not shown in examples here but may be represented as a double edged box) An exception is a description of how to modify the process if some anticipated or unanticipated event occurs. Exceptions are often undefined and it i s left to the ingenuity of the project managers and engineers to handle the exception. Communication (shown as an arrow) An interchange of information between people or between people and supporting computer systems. Commu nications may be informal or formal. Formal communications might be the approval of a deliverable by a p rojec t manager; informal communications might be the interchange of electronic mail to resolve ambiguities in a document. Process exceptions • Software processes are complex and process models cannot effectively represent how to handle exceptions: • Several key people becoming ill just before a critical review; • A breach of security that means all external communications are out of action for several days; • Organisational reorganisation; • A need to respond to an unanticipated request for new proposals. • Under these circumstances, the model is suspended and managers use their initiative to deal with the exception. Process change • Involves making modifications to existing processes. • This may involve: • Introducing new practices, methods or processes; • Changing the ordering of process activities; • Introducing or removing deliverables; • Introducing new roles or responsibilities. • Change should be driven by measurable goals. The process change process Introduce process change Prontse impr ovements Identily improvements ‘ine process changes Process Process change ‘yanng Feedback on Revsed pr ocess model plan plan impr o vements model Process capability assessment • Intended as a means to assess the extent to which an organisation’s processes follow best practice. • My providing a means for assessment, it is possible to identify areas of weakness for process improvement. • There have been various process assessment and improvement models but the SEI work has been most influential. The SEI capability maturity model • Initial • Essentially uncontrolled • Repeatable • Product management procedures defined and used • Defined • Process management procedures and strategies defined and used • Managed • Quality management strategies defined and used • Optimising • Process improvement strategies defined and used Problems with the CMM • Practices associated with model levels • Companies could be using practices from different levels at the same time but if all practices from a lower level were not used, it was not possible to move beyond that level • Discrete rather than continuous • Did not recognise distinctions between the top and the bottom of levels • Practice-oriented • Concerned with how things were done (the practices) rather than the goals to be achieved. CMMI process areas 1 Process management Organisational process definition Organisational process focus Organisational training Organisational process performance Organisational innovation and deployment Project management Project planning Project monitoring and control Supplier agreement management Integrated project management Risk management Integrated teaming Quantitative projec t management CMMI process areas 2 Engineering Requirements management Requirements development Technical solution Product integration Verif ication Validation Support Configuration management Process and product quality management Measurement and analysis Decision analysis and resolution Organisational environment for integration Causal analysis and resolution CMMI goals Goal Process area Corrective actions are managed to closure when the projectÕs performance or results deviate significantly from the plan. Specific goal in Project Monitoring and Control Actual performance and progress of the project is monitored against the project plan. Specific goal in project monitoring and control The requirements are analysed and validated and a definition of the required functionality is developed. Specific goal in requirements development. Root causes of defects and other problems are systematically determined. Specific goal in causal analysis and resolution. The process is institutionalised as a defined process. Generic goal The staged CMMI model • Comparable with the software CMM. • Each maturity level has process areas and goals. For example, the process area associated with the managed level include: • Requirements management; • Project planning; • Project monitoring and control; • Supplier agreement management; • Measurement and analysis; • Process and product quality assurance. The staged CMMI model Level5 Optimizing Level4 Quantitativ ely managed Level3 Detired Level2 Marmged Level l Initial Institutional practices • Institutions operating at the managed level should have institutionalised practices that are geared to standardisation. • Establish and maintain policy for performing the project management process; • Provide adequate resources for performing the project management process; • Monitor and control the project planning process; • Review the activities, status and results of the project planning process. Key points • Process improvement involves process analysis, standardisation, measurement and change. • Processes can be classified as informal, managed, methodical and improving. This classification can be used to identify process tool support. • The process improvement cycle involves process measurement, process analysis and process change. • Process measurement should be used to answer specific process questions, based on organisational improvement goals. Key points • The three types of process metrics used in the measurement process are time metrics, resource utilisation metrics and event metrics. • Process models include descriptions of tasks, activities, roles, exceptions, communications, deliverables and other processes. • The CMMI process maturity model integrates software and systems engineering process improvement. • Process improvement in the CMMI model is based on reaching a set of goals related to good software engineering practice.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved