Hybrid Modeling of Test-and-Fix Processes in Incremental Development



Similar documents
SOFTWARE DEVELOPMENT SD

Managing TM1 Projects

Lecture 3 Software Development Processes

Improving Software Project Management Skills Using a Software Project Simulator

Feasibility of a Software Process Modeling Library based on MATLAB / Simulink

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Chapter 2 Software Processes

Using Design of Experiments, Sensitivity Analysis, and Hybrid Simulation to Evaluate Changes to a Software Development Process: A Case Study

Software Engineering. Objectives. Designing, building and maintaining large software systems

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

SOFTENG250FC: Introduction to Software Engineering

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

A Software Development Simulation Model of a Spiral Process

ASSESSMENT OF SOFTWARE PROCESS MODELS

Layered Approach to Development of OO War Game Models Using DEVS Framework

Simulating the Structural Evolution of Software

Modelli di sviluppo software. Enrico Giunchiglia

Basic Testing Concepts and Terminology

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Nova Software Quality Assurance Process

A Comparison between Five Models of Software Engineering

Unit 1 Learning Objectives

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Fundamentals of Measurements

Software Development Process

Extend the value of your core business systems.

COURSE OUTLINE. Track 1 Advanced Data Modeling, Analysis and Design

A FLEXIBLE MODEL FOR MULTI-AGENT BASED SIMULATION OF SOFTWARE DEVELOPMENT PROCESS

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Agile Processes and Methodologies: A Conceptual Study

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Software Development and Testing: A System Dynamics Simulation and Modeling Approach

Service Blueprinting HANDBOOK Maik Seyring Dr. Utz Dornberger MBA Alfredo Suvelza MBA Trevor Byrnes

Empowering IT Acquisitions

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to Software Engineering: Project Management ( Highlights )

Testing and Inspecting to Ensure High Quality

IV. Software Lifecycles

Software Life Cycle Processes

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Risk Analysis: a Key Success Factor for Complex System Development

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

Appendix: Dynamics of Agile Software Development Model Structure

System Development Life Cycle Guide

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

(Refer Slide Time: 01:52)

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software Continuous Integration & Delivery

A Framework for Software Product Line Engineering

Simulation and Lean Six Sigma

NaviPlan FUNCTIONAL DOCUMENT. Monte Carlo Sensitivity Analysis. Level 2 R. Financial Planning Application

The Power Marketing Information System Model Based on Cloud Computing

Software Process for QA

ME6130 An introduction to CFD 1-1

Why are Business Process Models often too complex? Do s and Don ts for Business Process Modelers

Approaches for Survey Feedback and Action Planning

Project Management in Software: Origin of Agile

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

What do you think? Definitions of Quality

A Process Model for Software Architecture

Moving Up the CMMI Capability and Maturity Levels Using Simulation

Simulating Software Projects An Approach for Teaching Project Management

Discrete-Event Simulation

An Assessment between Software Development Life Cycle Models of Software Engineering

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Application of software product quality international standards through software development life cycle

The Integrated Design Process

Project Time Management

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Software Process Models. Xin Feng

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

Measurement Information Model

Springer SUPPLY CHAIN CONFIGURATION CONCEPTS, SOLUTIONS, AND APPLICATIONS. Cham Chandra University of Michigan - Dearborn Dearborn, Michigan, USA

2. Analysis, Design and Implementation

Patterns in Software Engineering

Lean vs. Agile similarities and differences Created by Stephen Barkar -

SystemDesign Methodologies

CSCI-485: Software Design

Clinical Risk Management: Agile Development Implementation Guidance

Transcription:

He (Jason) Zhang, Ross Jeffery, and Liming Zhu Hybrid Modeling of Test-and-Fix Processes in Incremental Development - International Conference on Software Process 2008

Outline Introduction Hybrid process simulation modelling Model background Modelling incremental development Case example Conclusion

Introduction Software process and process simulation Osterweil identified two complementary types of software process research, i.e. macro-process level and micro-process level. The continuous and discrete process modeling and simulation approaches relate to these two types of research. Hybrid process simulation modeling (HPSM) HPSM is possible to avoid the limitations of applying single modeling method, and more realistically capture complex real-world software processes. The systematic review identified that system dynamics (SD) plus discreteevent simulation (DES) has been the most common combination for constructing hybrid software process simulation models.

HPSM integration approaches Two approaches to construct a hybrid process model Vertical Integration: primarily implements discrete modeling at the lower (micro-) process level, then continuously calculates the process factors and incorporates the feedback loops at system (macro-process) level; Horizontal Integration: the sub-processes within a large scale software process may be modeled using different approaches respectively and sequentially, these sub-processes are connected by predefined phase transitions. Most of previous work in HPSM concentrated on vertical integration.

HPSM vertical integration Martin and Raffo s model Developed to maintain consistency between the discrete activities and the change of continuous portions. Allows investigation of the effects of discrete resource changes on continuously varying productivity, and the influences of discrete tasks. Rus and Lakey s models Modeled as a set of discrete activities.. Such approximation of continuous models is coarse, and the time advance might be different between discrete phases.

HPSM vertical integration Choi s model It enables modeling differential equation system with discrete-event by constraining the time advance of discrete-event model to be a small enough constant-time. Enhancement of Rus & Lakey. Martin & Raffo Rus et al. & Lakey Choi et al. Zhang et al. Model framework Continuous Discrete-event Discreteevent Discrete-event Module/phase level Discreteevent Continuous Continuous Continuous/ Discrete-event Sim tool Extend Extend DEVSim++ Extend

HPSM horizontal integration Limitations of existing vertical integration Emphasize and apply continuous and discrete modeling at different levels. Details in every single phase (sub-process) of the modeled process are necessary for modeling, no matter where the investigation focuses. Questions for choosing modeling approach at phase level: What is the purpose of modeling and simulation of this module/phase? Which portion of the investigated process(es) is the focus of our study? What are the observed factors in this portion related to model outputs? At what granularity level we possess the information of this phase?

HPSM horizontal integration A flexible hybrid modeling scheme using horizontal integration Module level: flexible selecting continuous or discrete modeling approach. Model level: connecting discrete modules and continuously observing important parameters. Maintain model integrity by carrying out fine-grained investigation on portion of process while allowing the limited knowledge on others. Enable the effective model reuse by assembling modules for process simulation.

Background incremental development Incremental development It divides the development into several smaller increments, which are gradually accumulated to become the complete system. Design Implementation Test Fixing Process characteristics: transition, iteration, and concurrency; every single phase in each increment cannot be omitted in simulation. Investigation focus: test-and-fix process in incremental development with quality and productivity concerns.

Background quality conceptual model Tank and pipe model We assume that any reduction in software defects remaining in a product improves its quality. We developed the conceptual model based on Boehm and Jones quality models, but focusing on test-and-fix process of incremental development. Defects flow into a cascade of tanks through various defect source and transferring pipes. Defects escaping pipe (undetected defects) Residual defects of current release will be input to next increment.

Background related models Abdel-Hamid and Madnick s model It is based on the waterfall process model; did not isolate the newly generated defects and the residual defects from the test-and-fix process. Huff s model It did not identify the reproduction of residual active defects in the succeeding increments. Tvedt s model It did not explicitly handle the different types of defect between increments. Cangussu s model It is based on control theory; did not identify defect categories; ignored the influence between implementation and test-and-fix processes.

Modelling module of design and implement Approach for module: system dynamics continuous feedback structure of generic development process Basic assumptions: System is implemented with an incremental top-down strategy; Most defects in early releases committed in the core components and become active. Defect sources during implementation: new defects + residual defects + reproduced defects by active ones.

Modelling module of test and fix Approach for module: discrete event simulation Basic assumptions: Black-box testing strategy applied; Test suite (including test cases) won t change during process; Test is performed by a standalone team, while defects are fixed by the development team. Defect level in test-and-fix: New defects generated in current increment have a higher possibility to be detected than residual defects; Performance of test-and-fix is also determined by defect severity, defect s original developer & release, developer s competency, and process policy.

Modelling module of test and fix Defect sinks during test-and-fix: undetected defects + (detected defects fixed defects) + bad fixes defect-fixing process with three developers

Modeling - integration Model construction: Continuous Parameters Implement Design Test Fix Simulation is implemented within Extend TM environment; Continuous modeling Discrete modeling Information flow Entity flow ModL language controls the transition and iteration. Flows in simulation: Information flow: defect level, effort, elapsed time; entity flow: defect and developer. Interface: conversion between entity flow and information flow.

Case study: baseline project The baseline project: derived from data reported by Tvedt. Attributes Project size Values 90,667Loc Number of increments 3 Increment 1 Increment 2 Increment 3 Project schedule Project team size Estimated budget 26,667Loc 32,000Loc 32,000Loc 250days (1 year) 15 experienced engineers 3750 man-days Estimated product quality: It was reported that 279 defects remains in final product; 20 runs of simulation.

Discussion Process change in test-and-fix phase: Original process: detected defect has to be fixed by its original developer. Defect queue determines workload, some have long queue while some are idle. It becomes severe when competency deviations exist in team. Changed process: defect is assigned to one developer with the shortest defect queue. developer utility in the original process developer utility in the changed process

Conclusion Conclusion We proposed a horizontal integration scheme for constructing a hybrid process simulation model. Its enhancement lies in flexibly choosing continuous or discreteevent modeling at phase (module) level, and supporting module assembly. We demonstrated the use of horizontal integration by developing a hybrid model of incremental development with focus on test-andfix process. Future work Improve horizontal integration scheme and develop hybrid simulation models of other software processes (e.g. agile process) using this scheme. Enhance this hybrid process model by considering more interventions that are not included at current stage (such as increment dependency).

Questions Thank you! Contact: He (Jason) Zhang he.zhang@nicta.com.au Ross Jeffery ross.jeffery@nicta.com.au Liming Zhu liming.zhu@nicta.com.au