Introduction to Monte-carlo Analysis for software development

Slides:



Advertisements
Similar presentations
Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
Advertisements

Advanced Project Schedule Risk Analysis
Project Management Lecture 16 Project management involves estimating the length of time to complete a project Once a project has been undertaken then a.
11 Simulation. 22 Overview of Simulation – When do we prefer to develop simulation model over an analytic model? When not all the underlying assumptions.
Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
Monte Carlo Simulation A technique that helps modelers examine the consequences of continuous risk Most risks in real world generate hundreds of possible.
Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
Metrics for Process and Projects
Session 7a. Decision Models -- Prof. Juran2 Overview Monte Carlo Simulation –Basic concepts and history Excel Tricks –RAND(), IF, Boolean Crystal Ball.
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Introduction to Simulation. What is simulation? A simulation is the imitation of the operation of a real-world system over time. It involves the generation.
Chapter 14 Simulation. Monte Carlo Process Statistical Analysis of Simulation Results Verification of the Simulation Model Computer Simulation with Excel.
Agile Project Management By: Jim Highsmith Presented by: Brian Faulk.
Simulation.
Introduction to ModelingMonte Carlo Simulation Expensive Not always practical Time consuming Impossible for all situations Can be complex Cons Pros Experience.
1 Assessment of Imprecise Reliability Using Efficient Probabilistic Reanalysis Farizal Efstratios Nikolaidis SAE 2007 World Congress.
Lecture 7: Simulations.
Client Logo LEAN ENTERPRISE Implementation Workshop.
Software Project Management
Copyright David Churchville - XP and Agile Planning David Churchville ExtremePlanner Software XP Fishbowl.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Excel. BCSII-5: The student will utilize spreadsheet software a) Identify uses of spreadsheet software and careers related to spreadsheet. b) Identify.
Monte Carlo Simulation and Personal Finance Jacob Foley.
The AIE Monte Carlo Tool The AIE Monte Carlo tool is an Excel spreadsheet and a set of supporting macros. It is the main tool used in AIE analysis of a.
The AIE Monte Carlo Tool The AIE Monte Carlo tool is an Excel spreadsheet and a set of supporting macros. It is the main tool used in AIE analysis of a.
Secure Incremental Maintenance of Distributed Association Rules.
1.  Project: temporary endeavor to achieve some specific objectives in a defined time  Project management ◦ Dynamic process ◦ Controlled and structured.
Excel. MSBCS-BCSI-9: Students will develop and apply basic spreadsheet skills. a) Identify and explain basic spreadsheet terminology (cell, column, row,
Project Management for Agile Projects. Introduction The Project Management Job Day to day administration Managing the process Managing external relationships.
Software Engineering Saeed Akhtar The University of Lahore Lecture 8 Originally shared for: mashhoood.webs.com.
“WHY ARE PROJECTS ALWAYS LATE?” (“and what can the Project Manager DO about that?) Craig Henderson, MBA, PMP ARVEST Bank Operations.
1 6. Reliability computations Objectives Learn how to compute reliability of a component given the probability distributions on the stress,S, and the strength,
A. Betâmio de Almeida Assessing Modelling Uncertainty A. Betâmio de Almeida Instituto Superior Técnico November 2004 Zaragoza, Spain 4th IMPACT Workshop.
Monte Carlo Methods Versatile methods for analyzing the behavior of some activity, plan or process that involves uncertainty.
Outline of Chapter 9: Using Simulation to Solve Decision Problems Real world decisions are often too complex to be analyzed effectively using influence.
What is a spreadsheet? Spreadsheet Basics © All Rights Reserved
Project Management Lecture 22 Readings Chapter 14 Lecture 22 Short Project Management.XLSX Lecture 22 Project Management.XLSX Lecture 22 Event Management.XLSX.
Risk Analysis Simulate a scenario of possible input values that could occur and observe key impacts Pick many input scenarios according to their likelihood.
12/4/2015 Vijit Mittal (NBS, Gr. Noida) 1 Monte Carlo Simulation,Real Options and Decision Tree.
1 1 Slide Simulation Professor Ahmadi. 2 2 Slide Simulation Chapter Outline n Computer Simulation n Simulation Modeling n Random Variables and Pseudo-Random.
Project Time Management Ashima Wadhwa. Schedule Development – Determining start and finish dates for project activities – Without realistic dates, project.
1 1 Slide © 2004 Thomson/South-Western Simulation n Simulation is one of the most frequently employed management science techniques. n It is typically.
Materials for Lecture 19 Readings Chapter 14
Software Testing Process
Lecture 6 Title: Project Cost Management MIS 434.
Rick Walker Evaluation of Out-of-Tolerance Risk 1 Evaluation of Out-of-Tolerance Risk in Measuring and Test Equipment Rick Walker Fluke - Hart Scientific.
Develop Schedule is the Process of analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule.
Chapter 15 Running Time Analysis. Topics Orders of Magnitude and Big-Oh Notation Running Time Analysis of Algorithms –Counting Statements –Evaluating.
Introduction to Agile Development Advanced Software Engineering Dr. Nuha El-Khalili.
Project Management Lecture 22 Readings Chapter 14 Lecture 22 Short Project Management.XLSX Lecture 22 Project Management.XLSX Lecture 22 Event Management.XLSX.
Spreadsheets 101 Using MS Excel.
Project Management Lecture 22
In Information Management
Overview of Spreadsheets
Chapter 2 SW Process Models
E2E Testing in Agile – A Necessary Evil
Introduction to Software Engineering
Teaching slides Chapter 1.
Various Random Number Generators and the Applications
Agile Philly: Estimating Vs Forecasting Using a Monte Carlo Tool
Ch13 Empirical Methods.
Introduction To software engineering
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Practical Software Engineering
Teaching slides Chapter 13
Project Lifecycle and IT Product Life Cycle
Agile Project Management and Quantitative Risk Analysis
Presentation transcript:

Introduction to Monte-carlo Analysis for software development Created by Mihir Karnik Introduction to Monte-carlo Analysis for software development

Introduction Monte-carlo analysis is a mathematical technique. It finds the most likely patterns in an equation result when given random input values that have been constrained between the likely real-world values for those inputs. In place of an equation, most of the times a spreadsheet of software model of the real-world process is built.

Working of Monte-carlo Analysis Consider an example where, there are one- hundred software product features to develop. From the company history, we know that the shortest time it would take each feature is one day, and the longest is three days. Monte-carlo analysis would simulate in software completing these one-hundred features thousands of times.

Comparison between Agile and Monte-Carlo analysis The general tendency in Agile analysis of software engineering projects is to carry out work in an incremental form. The time component in the Agile analysis is found out using an estimate of the amount of effort that the development team would need to make. Monte-carlo analysis help us to find out the best possible time required when we add a large number of different defects using mathematical formulae.

Need for Monte-carlo analysis According to benchmarking data and definition of project failure by The IPA Institute, staggering 56% of major projects fail (The IPA Institute, 2009) due to budget overspending for more than 25%, and/ or schedule slipping for more than 25%, and/ or severe and continuing operational problems holding for at least one year. There are a few problem areas in Agile software: Customer requirements specification, Estimation of time and resource components, and Non-inclusion of certain key tasks in time and resource requirement calculation.

Examples of Monte-carlo models for Agile technologies We are going to look into 2 Agile methodologies and present Monte-carlo models for both of them namely: Scrum modeling with excel Kanban Steps for building Monte-carlo model: Build a model of a scrum process using different excel formulae in that cascade into a final amount of feature points for each simulation row. Using the feature points, the number of iterations required and using that a date can be determined.

Scrum model inputs The inputs required for this model are: Number of features The lower bound, average and high boundary adjustments Defect Rate Added scope rate

Scrum model inputs and results Start date Days per iteration (work days) Number of feature (story) points per iteration targets The following are the results for the calculations showing the first 5 simulations of many thousands

Kanban Modeling a Kanban project using excel is not easy as when we have interactions between features. There is a need of at least one column per feature, per simulation row which in the end just gets unmaintainable. Kanban divides the steps of delivering a single feature into columns which are known as Status’. For example, a feature might pass from Design, to Development, to Testing, to Release.

Kanban The time taken for each feature in each Status is recorded. To simulate, the application takes the inputs of the number of Status columns, and a lower bound and upper bound for time taken to complete stories in each status, and the limit of stories allows in each status at one time. The following is an example of how execution of Kanban looks Work is limited in each Status, and a new feature (story) can only be pulled from left to right when a vacant position is available. For each story a random time within that status’ boundaries is calculated and stories are only move to the right when that time has elapsed, there is an open position that keeps the number of stories below the WIP limit for that status.

Sensitivity Analysis Sensitivity analysis answers the question of what input factor has the greatest impact on the final result. In essence, if all the inputs were increased and decreased by 10% how much each change impacted the final result.

Relevant Random Number Generation Random number generation is a complex field of mathematics. In the Scrum model covered in the report, we forced the random number generator to follow a Normal distribution. For truly random numbers, a computer is the last thing you want as the random numbers generated by the computer are not truly random but rather they rely on algorithms that try to be random.

References Monte Carlo method. (n.d.). Retrieved September 30, 2011, from wikipedia: http://en.wikipedia.org/wiki/Monte_Carlo_m ethod Raydugin, Y. (n.d.). Unknown Unknowns in Project Probabilistic Cost and Schedule Risk Models. Troy, M. (2011). Introduction to Monte-carlo Analysis for Software Development.