Lecture Software Process Definition and Management Chapter 3

  • Slides: 23
Download presentation
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch

Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall 2012

Software Process Definition and Management - Chapter 3 Deviations between Processes Descriptive Process Models

Software Process Definition and Management - Chapter 3 Deviations between Processes Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling Desired Process Descriptive Process Model ■ Creating a Discrepancies Descriptive Process Prescriptive Process Model Actual Process Model ■ Descriptive Process Owner Modeling Alternatives Observed Process ■ Guidelines for Perceived Process Elicitation Interviews ■ Managing Risk in Descriptive Process Agent Modeling Efforts ■ Summary Results in Stimuli, Interpretations, Errors Actual Behavior Slide 2

Software Process Definition and Management - Chapter 3 The Importance of Teaching Descriptive Modeling

Software Process Definition and Management - Chapter 3 The Importance of Teaching Descriptive Modeling Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Descriptive modeling is concerned with building useful abstractions of real processes without making assumptions that are not true ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary Slide 3

Software Process Definition and Management - Chapter 3 8 Steps of Descriptive Process Modeling

Software Process Definition and Management - Chapter 3 8 Steps of Descriptive Process Modeling Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Configure the process modeling approach – relatively stable Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary For every process to be modeled 1. State objectives and scope 2. Select or develop a process modeling schema 3. Select (a set of) process modeling formalisms 4. Select or tailor tools 5. Elicitation 6. Create the process model 7. Analyze the process model 8. Analyze the process Slide 4

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 1.

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 1. State Objectives and Scope ■ Goal: Determine the goal(s) of the process modeling and the organizational context ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Activities: ■ Define what the process model will be used for ■ Identify the intended users of the model ■ Get to know what the intended users expect from the process model and explicitly state their needs ■ Identify the granularity of the model ■ Determine scope, characteristics, and organizational context ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary ■ Input: ■ Output: Process modeling goal Slide 5

Software Process Definition and Management - Chapter 3 Descriptive Process Models 1. Example of

Software Process Definition and Management - Chapter 3 Descriptive Process Models 1. Example of a Process Modeling Goal ■ Here, for instance, the structure of a GQM goal is used: ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary ■ Object (Scope): ■ Review process of a single module ■ Purpose: ■ Documentation of the process in order to use it for training ■ Quality Focus: ■ Responsibilities and workflow between developers and reviewers ■ Viewpoint: ■ Developer and reviewer of a single module ■ Context: ■ Software development company XY Slide 6

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 2.

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 2. Select or Develop a Process Modeling Schema ■ Goal: Schema that identifies and structures the kinds of information to be captured and their relationships ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling ■ Activities: ■ Identify the concepts to be described using the process modeling goals of step 1 ■ Select or develop a schema that supports modeling of the identified concepts Alternatives ■ Guidelines for Process Elicitation ■ Input: Process modeling goal Interviews ■ Managing Risk in Descriptive Process ■ Output: Process modeling schema Modeling Efforts ■ Summary ■ Example: For the described goal, the schema has to contain ■ Activities ■ Control flow between activities ■ Assignment of activities to roles Slide 7

Software Process Definition and Management - Chapter 3 Descriptive Process Models 3. Select (a

Software Process Definition and Management - Chapter 3 Descriptive Process Models 3. Select (a Set of) Process Modeling Formalisms ■ Goal: Select a process modeling language or notation ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for ■ Activities: ■ Select a language or notation that supports the aspects defined in the schema ■ If not all aspects are covered by a single language: add other languages or notations until all aspects of the schema can be modeled ■ Keep in mind the possible training effort for learning a new complex language! Process Elicitation Interviews ■ Managing Risk in ■ Input: Process modeling schema Descriptive Process Modeling Efforts ■ Summary ■ Output: (Set of) process modeling languages and/or notations ■ Example: UML activity charts contain all aspects of the defined schema Slide 8

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 4.

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 4. Select or Tailor Tools ■ Goal: Select or tailor tools that support modeling using the previously defined language(s) ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary ■ Activities: ■ Find tools that support modeling using the defined modeling languages ■ The tools do not necessarily have to be process modeling tools, they can also be simple drawing tools ■ If necessary, tailor the tools to the specific needs of the languages ■ For the selected tools, identify the functionality that should be used for modeling ■ Input: Process modeling languages or notations ■ Output: Set of modeling tools ■ Example: Microsoft Visio for modeling activity charts, SPEARMINT for the SPEARMINT process modeling notation Slide 9

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 4.

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 4. Modeling Tools ■ Commercial tools without reference to process modeling ■ e. g. , Microsoft Visio, i. Grafx Flowcharter ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process ■ Workflow management systems ■ e. g. , ARIS Toolset (event-driven process chains) Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation ■ Research prototypes ■ e. g. , SPEARMINT ■ e. g. , Modeling Support Tool (Mo. ST) Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary Slide 10

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 5.

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 5. Elicitation ■ Goal: Acquire all information needed to describe the software process ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary ■ Activities: ■ Identify all entities (agents, activities, products, …), their relationships, and their properties (e. g. , start conditions of activities) ■ Get information through: ■ Interviews (used most often) ■ Observation ■ Analysis of protocols ■ Analysis of process documents ■ Analysis of products ■ Make sure the process agents do not feel judged or evaluated by the person eliciting! If they do, they will describe an ideal process, not the actual process! Slide 11

Software Process Definition and Management - Chapter 3 Descriptive Process Models 5. Elicitation (continued)

Software Process Definition and Management - Chapter 3 Descriptive Process Models 5. Elicitation (continued) ■ Input: Real process to be modeled ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Output: All needed information about the process (interview protocols, observation protocols, process documents, …) ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation ■ Example: ■ Interviews with developers and reviewers ■ Analysis of existing review documents ■ Analysis of existing documents describing the review process Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary Slide 12

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary 5. Elicitation: Interviews ■ Structured interview, 1 - max. 2 hours ■ 2 interviewers ■ Interviewees isolated according to roles ■ no large groups ■ clear focus ■ manageable process models ■ no mutual interaction (horizontal and vertical hierarchical relations) ■ Perform interviews one after another, however, not more than 3 interviews per day Role n Role 1 Information Steps 6 -8 Process model Slide 13

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary 5. Characteristics of Example Projects ■ Project A ■ Embedded real-time system ■ Engine control ■ 14 - 100 developers ■ Project B ■ Time recording system ■ 6 -8 developers ■ 6 months development time ■ Project C ■ Telecommunication system ■ 400 developers ■ 12 - 18 months development time Slide 14

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 6.

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives 6. Create the Process Model ■ Goal: Create a process model in the defined language or notation that represents the analyzed process ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary ■ Activities: ■ Start by modeling the products ■ Model activities and product flow ■ Assign agents and responsibilities to activities ■ Model behavior (start, end of activities) ■ Review the process model together with process participants ■ If necessary, go back to the elicitation step to get needed information ■ Input: ■ Process modeling languages or notations (Step 3) ■ Process modeling tools (Step 4) ■ Elicited information about the process (Step 5) ■ Output: process model representing the observed process Slide 15

Software Process Definition and Management - Chapter 3 6. Example: Process Model for Module

Software Process Definition and Management - Chapter 3 6. Example: Process Model for Module Review Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary Slide 16

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction 7. Analyze the Process Model ■ Goal: Detect inconsistencies in the model to check whether the model correctly describes the real process and to identify improvement possibilities ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary ■ Activities: ■ Static analysis ■ Completeness (does the model contain all information needed to reach the modeling goal? ) ■ Correctness (is the model free of contradictory information? ) ■ Structural consistency (e. g. , are all products used by a refined activity used by at least one of its child activities? ) ■ Dynamic analysis (analysis of behavior during execution) ■ Identification of deadlocks, ambiguous situations, … ■ Identification of process weaknesses (critical paths, cost overruns, …) ■ If an identified inconsistency is due to a misunderstanding of the process, refine the process model ■ Input: process model; process modeling goal ■ Output: refined process model; suggestions for improvement Slide 17

Software Process Definition and Management - Chapter 3 Descriptive Process Models 7. Example: Process

Software Process Definition and Management - Chapter 3 Descriptive Process Models 7. Example: Process Model for Module Review ■ Incomplete model: ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process ■ Incorrect model: Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Correct & complete model: ■ Summary Slide 18

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary 8. Analyze the Process ■ Goal: Use the process model to track or analyze process performances, depending on the process modeling goal ■ Activities: ■ Track the performance of the process by registering starts or endings of activities or by asking developers about their current activities ■ If necessary, fine-tune the process model with the results of the tracking ■ Qualitative analysis: weaknesses of the process ■ For example: Too many responsibilities at one position, excessive feedback loops, … ■ Quantitative analysis: correlation between process attributes ■ Input: process modeling goal; process model ■ Output: depending on goal ■ Refined process model, improvement options, … ■ Example: If the goal was to create a process documentation for training, the process model is used to teach new employees the review process Slide 19

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Rules of Descriptive Modeling (1/3) ■ Obtain information about ■ the organization ■ the software domain Process Modeling ■ Creating a Descriptive Process ■ Analyze existing documents and products Model ■ Descriptive Process Modeling ■ Check the relationship between developers and quality assurance Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in ■ Ask whether one of the latest restructurings had impacts on the process Descriptive Process Modeling Efforts ■ Summary ■ Make sure that the interview partner is selected according to your instructions / guidelines ■ Begin the interviews with quality assurance people or project manager Slide 20

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Model ■ Descriptive Process Modeling Alternatives ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary Rules of Descriptive Modeling (2/3) ■ Process of an interview ■ Beginning ■ Summary ■ Explain goal and purpose ■ Confidentiality agreement ■ General questions about the process, specialties ■ Main part ■ Behave neutrally ■ Ask first about products ■ Then ask about processes ■ What are typical deviations? ■ Which other roles participate in the processes? (crosscheck) ■ Always remain precise ■ Try to identify variants Slide 21

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives ■ Introduction ■ Goals of Descriptive Process Modeling ■ Creating a Descriptive Process Rules of Descriptive Modeling (3/3) ■ Process of an interview (continuation) ■ Closure ■ Explain future steps ■ Adjust the times for the review ■ Thank your interview partner Model ■ Descriptive Process Modeling Alternatives ■ Ask questions even when you only identify small ambiguities; often, big problems are hidden behind it ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in ■ Do not try to solve all ambiguities and conflicts Descriptive Process Modeling Efforts ■ Summary ■ After the interview: give a quick feedback to the interviewee Slide 22

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives Summary

Software Process Definition and Management - Chapter 3 Descriptive Process Models ■ Objectives Summary ■ Descriptive process models should explicitly represent the actual process ■ Introduction ■ Goals of Descriptive Process Modeling ■ There exist different purposes of descriptive modeling ■ Creating a Descriptive Process Model ■ Elicitation is the most important sub-step of descriptive modeling ■ Descriptive Process Modeling Alternatives ■ Structured interviews are currently the best practice ■ Guidelines for Process Elicitation Interviews ■ Managing Risk in Descriptive Process Modeling Efforts ■ Summary Slide 23