Risk and Change Management Emanuele Della Valle http://emanueledellavalle.org



Similar documents
Problems that haven t happened yet Why is it hard? Some are wary of bearing bad news. Define a strategy early in your project

Jazz Source Control Best Practices

Source Control Systems

Work Breakdown Structure (WBS) Emanuele Della Valle

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Zero-Touch Drupal Deployment

Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza

More on Software Project Management Project and Organizations, Project Portfolio Management, Procurement Management

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Know Your Enemy: Software Risk Management 1

Software Development In the Cloud Cloud management and ALM

Content. Development Tools 2(63)

Module 12. Software Project Monitoring and Control. Version 2 CSE IIT, Kharagpur

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

CSCB07 Software Design Version Control

PROJECT RISK MANAGEMENT

Introducing Xcode Source Control

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.

In depth study - Dev teams tooling

Software Project Management

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica. ICOM 5047 Capstone Miguel A. Figueroa Villanueva University of Puerto Rico Mayagüez Campus

Appendix V Risk Management Plan Template

(Refer Slide Time: 01:52)

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

Version Control! Scenarios, Working with Git!

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

Lesson 1 Introduction to Rapid Application Development using Visual Basic

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

Understanding Software Project Management PMI fundamentals, Project Selection, Initial documents Emanuele Della Valle

Version Control with Git. Dylan Nugent

5 barriers to database source control and how you can get around them

install the extension:

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Theme 1 Software Processes. Software Configuration Management

10 Keys to Successful Software Projects: An Executive Guide

Scheduling. Anne Banks Pidduck Adapted from John Musser

Global Software Change Management for PVCS Version Manager

Source Control Guide: Git

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

Payroll Based Journal (PBJ) Frequently Asked Questions (FAQ)

SourceAnywhere Service Configurator can be launched from Start -> All Programs -> Dynamsoft SourceAnywhere Server.

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Revision control systems (RCS) and

An introduction to the benefits of Application Lifecycle Management

Continuous Integration. CSC 440: Software Engineering Slide #1

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

IDERA WHITEPAPER. The paper will cover the following ten areas: Monitoring Management. WRITTEN BY Greg Robidoux

Lab 0 (Setting up your Development Environment) Week 1

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Software Development Life Cycle

Figure 1. Example of an Excellent File Directory Structure for Storing SAS Code Which is Easy to Backup.

RentMaster Frequently Asked Questions

Version Control. Luka Milovanov

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

10 How to Accomplish SaaS

Work. MATLAB Source Control Using Git

Modern practices TIE-21100/

Ignite Visibility Consulting. How to Blog. Prepared by John Lincoln. Copyright 2013 Ignite Visibility Page 1

Maven or how to automate java builds, tests and version management with open source tools

Is Cloud ERP Really Cheaper?

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

TECH. Tracking Progress. Project Schedule PHASE 1 STEP 1 ACTIVITY 1.1. Activity and Milestone STEP 1 STEP 2 : ACTIVITY 2.2 : ACTIVITY 1.

Mercurial. Why version control (Single users)

Software Process for QA

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

The Essentials of File Management with LabVIEW

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Agile Development with Jazz and Rational Team Concert

Version Control with Git

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat

JTouch Mobile Extension for Joomla! User Guide

What Is Specific in Load Testing?

CPM -100: Principles of Project Management

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

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

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

7 Biggest Mistakes in Web Design 1

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

White Paper. Software Development Best Practices: Enterprise Code Portal

Managing Technical Debt

Git Branching for Continuous Delivery

Before You Buy: What Mortgage Professionals Need to Succeed with Internet Leads. A Leads360 White Paper

Welcome to the Data Analytic Toolkit PowerPoint presentation an introduction to project management. In this presentation, we will take a brief look

Version control with GIT

Achieving Continuous Integration with Drupal

Transcription:

Planning and Managing Software Projects 2010-11 Session 7 Risk and Change Management Emanuele Della Valle http://emanueledellavalle.org

Credits 2 This slides are largely based on Prof. John Musser class notes on Principles of Software Project Management Original slides are available at http://www.projectreference.com/ SVN slides are based on Version Control With Subversion by Samnang Chhun Original slides are available at http://www.slideshare.net/samnang.chhun/versioncontrol-with-subversion-1871040 Reuse and republish permission was granted

Today 3 Risk Management Feature Set Control Change Control

Risk Management 4 Problems that haven t happened yet Why is it hard? Some are wary of bearing bad news No one wants to be the messenger Or seen as a worrier You need to define a strategy early in your project

Risk Management 5 Identification, Analysis, Control Goal: avoid a crisis Thayer: Risk Mgmt. vs. Project Mgt. For a specific vs. all projects Proactive vs. reactive

Risk Management Definitions 6 Project Risk Characterized by: Uncertainty (0 < probability < 1) - NOTE: If the probability is high, you may have planed the project in a wrong way. An associated loss (money, life, reputation, etc) Manageable some action can control it Risk Exposure Product of probability and potential loss Problem A risk that has materialized

Risk Management Types of Risks 7 Schedule Risks Schedule compression (customer, marketing, etc.) Cost Risks Unreasonable budgets Requirements Risks Incorrect Incomplete Unclear or inconsistent Volatile Quality Risks Operational Risks Most of the Classic Mistakes Classic mistakes are made more often

Risk Management Types of Unknowns 8 Known Unknowns Information you know someone else has Unknown Unknowns Information that does not yet exist

Risk Management Processes 9 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Assessment Risk Identification 10 Get your team involved in this process Don t go it alone Produces a list of risks with potential to disrupt your project s schedule (but also budget, quality, ) Use a checklist or similar source to brainstorm possible risks http://www.construx.com/page.aspx?hid=1134 Cached version available http://www.emanueledellavalle.org/slides/ P&MSP2011_07a_Complete-List-of-Schedule-Risks-by- McConnel.pdf

Risk Management Processes 11 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Assessment Risk Analysis 1/2 12 Determine impact of each risk Risk Exposure (RE) RE = Probability of loss * size of loss Examples risk is Facilities not ready on time Probability is 25%, size is 4 weeks, RE is 1 week risk is Inadequate design redesign required Probability is 15%, size is 10 weeks, RE is 1.5 weeks Statistically are expected values Sum all RE s to get expected overrun Which is pre risk management

Risk Management Risk Assessment Risk Analysis 2/2 13 Estimating size of loss Loss is easier to see than probability You can break this down into chunks (like WBS) Estimating probability of loss Use team member estimates and have a risk-estimate review Use Delphi or group-consensus techniques Use gambling analogy how much would you bet Use adjective calibration : highly likely probably improbable unlikely highly unlikely

Risk Management Processes 14 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Assessment Risk Prioritization 15 Remember the 80-20 rule Often want larger-loss risks higher Or higher probability items Possibly group related risks Helps identify which risks to ignore Those at the bottom

Risk Management Processes 16 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Control Risk Management Planning 17 Can be 1 paragraph per risk For an example see Service-Finder s Risk Management and contingency plan http://www.emanueledellavalle.org/slides/ P&MSP2011_07b_Service-Finder_Risk-Management.pdf McConnell s example http://www.construx.com/page.aspx?cid=1294 Cached version available http://www.emanueledellavalle.org/slides/ P&MSP2011_07c_Risk-Management-Plan-by-McConnell.pdf

Risk Management Processes 18 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Control Risk Resolution 1/2 19 Risk Avoidance Don t do it Scrub from system Risk Assumption Don t do anything about it Accept that it might occur But still watch for it Problem control Develop contingency plans E.g., allocate extra test resources Risk Transfer To another part of the project (or team) Move off the critical path at least

Risk Management Risk Control Risk Resolution 2/2 20 Knowledge Acquisition Investigate Ex: do a prototype Buy information or expertise about it Do research

Risk Management Processes 21 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Control Risk Monitoring 22 Top 10 Risk List Rank Previous Rank Weeks on List Risk Name Risk Resolution Status A low-overhead best practice Interim project post-mortems After various major milestones McConnell s example http://www.construx.com/page.aspx?cid=1293 Cached version available http://www.emanueledellavalle.org/slides/ P&MSP2011_07d_Sample-Top-10-Risks-List-by- McConnel.pdf

Risk Management Processes 23 Risk Identification Risk Assesment Risk Analysis Risk Management Risk Prioritization Risk Management Planning Risk Control Risk Resolution Risk Monitoring [Source: Software Risk Management, Boehm, 1989]

Risk Management Risk Communication 24 Don t be afraid to convey the risks Use your judgment to balance Sky-is-falling whiner vs. information distribution

Risk Management Miniature Milestones 1/3 25 A risk-reduction technique Use of small goals within project schedule One of McConnell s Best Practices (Ch. 27) Fine-grained approach to plan & track Reduces risk of undetected project slippage Pros Enhances status visibility Good for project recovery Cons Increase project tracking effort

Risk Management Miniature Milestones 2/3 26 Can be used throughout the development cycle Works with hard-to-manage project activities or methods Such as with evolutionary prototyping Reduces unpleasant surprises Success factors Overcoming resistance from those managed Staying true to miniature nature Can improve motivation through achievements

Risk Management Miniature Milestones 3/3 27 Requires a detailed schedule Have early milestones McConnell says 1-2 days Longer is still good (1-2 weeks) Encourages iterative development Use binary milestones Done or not done (100%)

Feature-Set Control 28 It is a class mistake avoidance technique Early Stages 1. Minimal Specification 2. Requirements Scrubbing 3. Versioned Development Mid-Project Effective change control Late-Project Feature cuts

Feature-Set Control - Introduction Traditional Specs 29 Drive for traditional specs Necessity Downstream cost avoidance Full control over all aspects As McConnell notes: But the goal is not to build exactly what you said you would at the beginning. It is to build the best possible software within the available time. Idealistic but worth remembering

Feature-Set Control - Early Stages Minimal Specification 1/2 30 Tradition spec. issues Wasted effort Too much detail Obsolescence Lack of efficacy -- details do not guarantee success Overly constrained design User assumption that costs are equal (UI ex.)

Feature-Set Control - Early Stages Minimal Specification 2/2 31 Benefits Improved morale and motivation Opportunistic efficiency Shorter requirements phase Costs and Risks Omission of key requirements Unclear or impossible goals Gold plating Used for the wrong reasons Lazy substitute for doing good requirements Success Factors Used only when requirements are flexible Capture most important items Involve key users

Feature-Set Control - Early Stages Minimal Specification vs. Extreme Programming 32 This is not XP (extreme programming) In XP Requirements are expressed as automated acceptance tests rather than specification documents defined incrementally, rather than trying to get them all in advance XP has broader goals An attempt to reconcile humanity and productivity A mechanism for social change A path to improvement A style of development A software development discipline

Feature-Set Control - Early Stages Requirements Scrubbing 33 Removing a feature from the product Eliminates all effort: spec., design, dev., test, doc. The earlier the better Typically done during or right after Requirements Less risky than minimal specification Aims Eliminate all but absolutely necessary requirements Simplify all complicated requirements Substitute cheaper items

Feature-Set Control - Early Stages Versioned Development 34 Eliminate them from the current version Let s put it in release 1.1 You re still saying Yes, not No By next rev. the list has changed anyway My favorite ;-)

Change Management The Feature-Creep Phenomenon 1/2 35 Avg. project has 25% change in requirements during development Sources of change Marketing: want to meet customer s check-list Developers: want to perfect r1 deficiencies Users: want more functionality or now know what they want They will all try to insert these during dev.

Change Management The Feature-Creep Phenomenon 2/2 36 The devil is in the details McConnell s example: trivial feature can have +/- weeks of impact Developers can insert things when you re not looking No specification can cover all details. You must specify! Programmer ideal: flip switch Up to 10-1 differences in program size with the same specifications

Change Management Change Control Board (CCB) 1/2 37 McConnell best practice (see Ch. 17) Structure: representatives from each stakeholder party Dev., QA, Marketing, Mgmt., Customer support Perform change analysis Importance, priority, cost, benefit

Change Management Change Control Board (CCB) 2/2 38 CCB are similar to a triage Allocating scarce resources Some will not receive treatment Life-critical to the project CCB will say No more than Yes Watch for bureaucracy

Change Management Change Control 39 A set of fully fledge methods and tools Change Control System Configuration Management System Configuration Management Tool Configuration Control Items Good Reference Quality Software Project Management, Futrell, Shafer, Shafer Preview available on Google Books Search http://books.google.com/books?id=8gqc7xhtwgsc

Change Management Change Control The Problem 1/2 40 Without Configuration Management Which version works? Which versions have bug/ feature X? What s the different between certain versions?

Change Management Change Control The Problem 2/2 41 Without Configuration Management How to combine these two version into one working program? Who is responsible on keeping the latest version?

Change Management Change Control Why? 42 Backup & Restore Synchronization Short-Term Undo Long-Term Undo Track Changes Track Owner Branching & Merging

Change Management Terminology 43 Configuration Control Item (CCI) Anything suitable for configuration control Source code, documents, diagrams, etc. Configuration Control Tool Any support for managing CCIs (e.g., see slide 44) Configuration Control process of evaluating, approving and disapproving, and managing changes to CCIs. Change Control process of controlling changes typical steps (see slide 50) Proposal, evaluation, approval, scheduling, implementation, tracking Version Control: controlling software version releases Recording and saving releases Documenting release differences

Change Management Configuration Management Tools 44 CSV Subversion (svn) My preferred one :-) Microsoft Visual Source SVK Safe Barzzar Mercurial (hg) Git

Change Management Configuration Management Tools - SVN 45 Cross Platform / Open Source / Free Central repository Atomic commit Availability of free client software / Plugin for most known IDEs e.g. Eclipse Most of Open source hosting sites support it e.g. sourceforge, codeplex, google code Free SVN hosting available e.g. XP-Dev

Change Management Configuration Management Tools - SVN 46 The Working Cycle

Change Management Configuration Management Tools SVN 47 Terminology Repository (repo): the database storing the files Working Copy: Your local directory of files, where you make changes. Revision: What version a file is on (v1, v2, v3, etc.) Check out: Download a file from the repo Check in: Upload a file to the repository (if it has changed). The file gets a new revision number, and people can check out the latest one. Update: Synchronize your files with the latest from the repository. This lets you grab the latest revisions of all files. Head: The latest revision in the repo Changelog/History: A list of changes made to a file since it was created Revert: Throw away your local changes and reload the latest version from the repository

Change Management Configuration Control 48 A management support function Includes Program code changes Requirements and design changes Version release changes Essential for developed items Code, documentation, etc. Example The case of the code that used to work But didn t in time for the demo

Change Management Configuration Control Needs 49 Establish clearly defined management authority Setup control standards, procedures and guidelines All team members must be aware of these Requires appropriate tools and infrastructure Configuration Management Plan must be produced during planning phase

Change Management Configuration Management Plan 50 Must be produced during planning phase Often part of Software Development Plan Example of Change Control Procedure Cached version available http://www.emanueledellavalle.org/slides/ P&MSP2011_07e_Change-Procedure-by-McConnel.pdf

Change Management Software Configuration Management 51 Formal engineering discipline Methods and tools to identify & manage software throughout its use For basic information consult http://en.wikipedia.org/wiki/software_configuration_management

3 rd Homework assignment 52 Top 10 Risk List for your project Fine if you use a check-list (see slide 10) BUT think about your project Format and Submission Use the template available at http://www.emanueledellavalle.org/slides/ P&MSP2011_07f_template-homework-3.doc Add homework-3 to the zip file you created for homework-1 and homework-2 and resubmit the entire package through the easychair Web site

Optional Readings 53 McConnell: 11 Motivation, 13 Team Structure Schwalbe: 8 Project Human Resource Management

Questions? 54