Download presentation
Presentation is loading. Please wait.
Published byReginald Mason Modified over 6 years ago
1
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models
Dr. Jürgen Münch Fall 2012 1
2
Deviations between Processes
Software Process Definition and Management - Chapter 3 Deviations between Processes Desired Process Descriptive Process Model Discrepancies Actual Process Prescriptive Process Model Process Owner Observed Process Perceived Process Process Agent Stimuli, Interpretations, Errors Results in Actual Behavior
3
The Importance of Teaching Descriptive Modeling
Software Process Definition and Management - Chapter 3 The Importance of Teaching Descriptive Modeling Descriptive modeling is concerned with building useful abstractions of real processes without making assumptions that are not true
4
8 Steps of Descriptive Process Modeling
Software Process Definition and Management - Chapter 3 8 Steps of Descriptive Process Modeling Configure the process modeling approach – relatively stable For every process to be modeled State objectives and scope Select or develop a process modeling schema Select (a set of) process modeling formalisms Select or tailor tools Elicitation Create the process model Analyze the process model Analyze the process
5
1. State Objectives and Scope
Software Process Definition and Management - Chapter 3 1. State Objectives and Scope Goal: Determine the goal(s) of the process modeling and the organizational context 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 Input: - Output: Process modeling goal
6
1. Example of a Process Modeling Goal
Software Process Definition and Management - Chapter 3 1. Example of a Process Modeling Goal Here, for instance, the structure of a GQM goal is used: 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
7
2. Select or Develop a Process Modeling Schema
Software Process Definition and Management - Chapter 3 2. Select or Develop a Process Modeling Schema Goal: Schema that identifies and structures the kinds of information to be captured and their relationships 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 Input: Process modeling goal Output: Process modeling schema Example: For the described goal, the schema has to contain Activities Control flow between activities Assignment of activities to roles
8
3. Select (a Set of) Process Modeling Formalisms
Software Process Definition and Management - Chapter 3 3. Select (a Set of) Process Modeling Formalisms Goal: Select a process modeling language or notation 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! Input: Process modeling schema Output: (Set of) process modeling languages and/or notations Example: UML activity charts contain all aspects of the defined schema
9
Find tools that support modeling using the defined modeling languages
Software Process Definition and Management - Chapter 3 4. Select or Tailor Tools Goal: Select or tailor tools that support modeling using the previously defined language(s) 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
10
Commercial tools without reference to process modeling
Software Process Definition and Management - Chapter 3 4. Modeling Tools Commercial tools without reference to process modeling e.g., Microsoft Visio, iGrafx Flowcharter Workflow management systems e.g., ARIS Toolset (event-driven process chains) Research prototypes e.g., SPEARMINT e.g., Modeling Support Tool (MoST)
11
Goal: Acquire all information needed to describe the software process
Software Process Definition and Management - Chapter 3 5. Elicitation Goal: Acquire all information needed to describe the software process 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!
12
5. Elicitation (continued)
Software Process Definition and Management - Chapter 3 5. Elicitation (continued) Input: Real process to be modeled Output: All needed information about the process (interview protocols, observation protocols, process documents,…) Example: Interviews with developers and reviewers Analysis of existing review documents Analysis of existing documents describing the review process
13
5. Elicitation: Interviews
Software Process Definition and Management - Chapter 3 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 1 Role n Information Information Steps 6-8 Process model
14
5. Characteristics of Example Projects
Software Process Definition and Management - Chapter 3 5. Characteristics of Example Projects Project A Embedded real-time system Engine control developers Project B Time recording system 6-8 developers 6 months development time Project C Telecommunication system 400 developers months development time
15
6. Create the Process Model
Software Process Definition and Management - Chapter 3 6. Create the Process Model Goal: Create a process model in the defined language or notation that represents the analyzed process 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
16
6. Example: Process Model for Module Review
Software Process Definition and Management - Chapter 3 6. Example: Process Model for Module Review
17
7. Analyze the Process Model
Software Process Definition and Management - Chapter 3 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 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
18
7. Example: Process Model for Module Review
Software Process Definition and Management - Chapter 3 7. Example: Process Model for Module Review Incomplete model: Incorrect model: Correct & complete model:
19
Qualitative analysis: weaknesses of the process
Software Process Definition and Management - Chapter 3 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
20
Rules of Descriptive Modeling (1/3)
Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (1/3) Obtain information about the organization the software domain Analyze existing documents and products Check the relationship between developers and quality assurance Ask whether one of the latest restructurings has had impacts on the process Make sure that the interview partner is selected according to your instructions / guidelines Begin the interviews with quality assurance people or project manager
21
Rules of Descriptive Modeling (2/3)
Software Process Definition and Management - Chapter 3 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? (cross-check) Always remain precise Try to identify variants
22
Rules of Descriptive Modeling (3/3)
Software Process Definition and Management - Chapter 3 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 Ask questions even when you only identify small ambiguities; often, big problems are hidden behind it Do not try to solve all ambiguities and conflicts After the interview: give a quick feedback to the interviewee
23
There exist different purposes of descriptive modeling
Software Process Definition and Management - Chapter 3 Summary Descriptive process models should explicitly represent the actual process There exist different purposes of descriptive modeling Elicitation is the most important sub-step of descriptive modeling Structured interviews are currently the best practice
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.