
Descriptive Process Models in Software Management
This content delves into the intricacies of descriptive process models in software management, covering topics such as objectives, modeling goals, elicitations, risk management, and process analysis. It emphasizes the importance of creating accurate abstractions of real processes to facilitate effective decision-making and optimization.
Uploaded on | 0 Views
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
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 Objectives Desired Process Introduction Descriptive Process Model Goals of Descriptive Process Modeling Creating a Discrepancies Descriptive Process Prescriptive Process Model Actual Process Model Descriptive Process Process Owner Modeling Alternatives Observed Process Perceived Process Guidelines for Process Elicitation Interviews Managing Risk in Descriptive Process Process Agent Modeling Efforts Summary Stimuli, Results in Interpretations, Errors Actual Behavior Slide 2
Software Process Definition and Management - Chapter 3 The Importance of Teaching Descriptive Modeling Descriptive Process Models Descriptive modeling is concerned with building useful abstractions of real processes without making assumptions that are not true 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 3
Software Process Definition and Management - Chapter 3 8 Steps of Descriptive Process Modeling Descriptive 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 Process Models Objectives Introduction Configure the process modeling approach relatively stable Goals of Descriptive Process Modeling Creating a Descriptive Process Model Descriptive Process Modeling Alternatives Guidelines for Process Elicitation Interviews Managing Risk in For every process to be Descriptive Process modeled Modeling Efforts Summary Slide 4
Software Process Definition and Management - Chapter 3 1. State Objectives and Scope Descriptive Goal: Determine the goal(s) of the process modeling and the organizational context Process Models Objectives Introduction Goals of Descriptive 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 Process Modeling Creating a Descriptive Process Model Descriptive Process Modeling Alternatives Guidelines for Process Elicitation Interviews Managing Risk in Descriptive Process Input: - Modeling Efforts Summary Output: Process modeling goal Slide 5
Software Process Definition and Management - Chapter 3 1. Example of a Process Modeling Goal Descriptive Here, for instance, the structure of a GQM goal is used: Process Models Objectives Introduction 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 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 6
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 Descriptive Process Models Objectives Introduction 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 Goals of Descriptive Process Modeling Creating a Descriptive Process Model Descriptive Process Modeling Alternatives Guidelines for Input: Process modeling goal Process Elicitation Interviews Output: Process modeling schema Managing Risk in Descriptive Process Modeling Efforts Example: For the described goal, the schema has to contain Activities Control flow between activities Assignment of activities to roles Summary Slide 7
Software Process Definition and Management - Chapter 3 3. Select (a Set of) Process Modeling Formalisms Goal: Select a process modeling language or notation Descriptive Process Models Objectives 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! Introduction Goals of Descriptive Process Modeling Creating a Descriptive Process Model Descriptive Process Modeling Alternatives Guidelines for Process Elicitation Interviews Input: Process modeling schema Managing Risk in Descriptive Process Modeling Efforts Output: (Set of) process modeling languages and/or notations Summary Example: UML activity charts contain all aspects of the defined schema Slide 8
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) Descriptive Process Models Objectives Introduction 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 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 Example: Microsoft Visio for modeling activity charts, SPEARMINT for the SPEARMINT process modeling notation Slide 9
Software Process Definition and Management - Chapter 3 4. Modeling Tools Descriptive Commercial tools without reference to process modeling e.g., Microsoft Visio, iGrafx Flowcharter Process Models Objectives Introduction Goals of Descriptive Workflow management systems e.g., ARIS Toolset (event-driven process chains) Process Modeling Creating a Descriptive Process Model Descriptive Process Research prototypes e.g., SPEARMINT e.g., Modeling Support Tool (MoST) Modeling Alternatives Guidelines for Process Elicitation Interviews Managing Risk in Descriptive Process Modeling Efforts Summary Slide 10
Software Process Definition and Management - Chapter 3 5. Elicitation Descriptive Goal: Acquire all information needed to describe the software process Process Models Objectives Introduction Goals of Descriptive 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! 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 11
Software Process Definition and Management - Chapter 3 5. Elicitation (continued) Descriptive Input: Real process to be modeled Process Models Objectives Introduction Output: All needed information about the process (interview protocols, observation protocols, process documents, ) Goals of Descriptive Process Modeling Creating a Descriptive Process Example: Interviews with developers and reviewers Analysis of existing review documents Analysis of existing documents describing the review process Model Descriptive Process Modeling Alternatives Guidelines for Process Elicitation Interviews Managing Risk in Descriptive Process Modeling Efforts Summary Slide 12
Software Process Definition and Management - Chapter 3 5. Elicitation: Interviews Descriptive 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 Process Models Role n Role 1 Objectives Introduction Goals of Descriptive Process Modeling Creating a Descriptive Process Model Descriptive Process Modeling Alternatives Guidelines for Information Information Process Elicitation Interviews Managing Risk in Steps 6-8 Descriptive Process Modeling Efforts Summary Process model Slide 13
Software Process Definition and Management - Chapter 3 5. Characteristics of Example Projects Descriptive 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 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 14
Software Process Definition and Management - Chapter 3 6. Create the Process Model Descriptive Goal: Create a process model in the defined language or notation that represents the analyzed process Process Models Objectives Introduction Goals of Descriptive 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 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 15
Software Process Definition and Management - Chapter 3 6. Example: Process Model for Module Review Descriptive Process Models Objectives Introduction Developer Reviewer Goals of Descriptive Process Modeling Develop Module Creating a Descriptive Process Review Module Model Descriptive Process Modeling Document Errors Alternatives Guidelines for Process Elicitation Correct Errors Interviews [Errors remaining in module] Managing Risk in Descriptive Process Review Corrected Module Modeling Efforts Summary [All Errors corrected] Slide 16
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 Descriptive Process Models Objectives Introduction Goals of Descriptive 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 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 17
Software Process Definition and Management - Chapter 3 7. Example: Process Model for Module Review Developer Reviewer Descriptive Incomplete model: Develop Module Process Models Review Module Objectives Introduction Document Errors Goals of Descriptive Process Modeling Creating a Developer Reviewer Descriptive Process Develop Module Incorrect model: Model Descriptive Process Review Module Modeling Alternatives Document Errors Guidelines for Process Elicitation Developer Reviewer Interviews Managing Risk in Develop Module Correct & complete model: Descriptive Process Review Module Modeling Efforts Summary Document Errors Correct Errors [Errors remaining in module] Review Corrected Module [All Errors corrected] Slide 18
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 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 19
Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (1/3) Descriptive Obtain information about the organization the software domain Process Models Objectives Introduction Goals of Descriptive Process Modeling Creating a Analyze existing documents and products Descriptive Process Model Descriptive Process Check the relationship between developers and quality assurance Modeling Alternatives Guidelines for Ask whether one of the latest restructurings has had impacts on the process Process Elicitation Interviews Managing Risk in Descriptive Process Modeling Efforts Make sure that the interview partner is selected according to your instructions / guidelines Summary Begin the interviews with quality assurance people or project manager Slide 20
Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (2/3) Descriptive 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 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 21
Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (3/3) Descriptive Process of an interview (continuation) Closure Explain future steps Adjust the times for the review Thank your interview partner Process Models Objectives Introduction Goals of Descriptive Process Modeling Creating a Descriptive Process Model Descriptive Process Ask questions even when you only identify small ambiguities; often, big problems are hidden behind it Modeling Alternatives Guidelines for Process Elicitation Do not try to solve all ambiguities and conflicts Interviews Managing Risk in Descriptive Process Modeling Efforts After the interview: give a quick feedback to the interviewee Summary Slide 22
Software Process Definition and Management - Chapter 3 Summary Descriptive Descriptive process models should explicitly represent the actual process Process Models Objectives Introduction Goals of Descriptive There exist different purposes of descriptive modeling Process Modeling Creating a Descriptive Process Elicitation is the most important sub-step of descriptive modeling Model Descriptive Process Modeling Structured interviews are currently the best practice Alternatives Guidelines for Process Elicitation Interviews Managing Risk in Descriptive Process Modeling Efforts Summary Slide 23