Software Project Management using an Iterative Lifecycle Model



Similar documents
3C05: Unified Software Development Process

The Unified Software Development Process

The most suitable system methodology for the proposed system is drawn out.

Basic Unified Process: A Process for Small and Agile Projects

Supporting Workflow Overview. CSC532 Fall06

SOFTWARE PROCESS MODELS

How To Understand The Software Process

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Plan-Driven Methodologies

Introduction to OpenUP (Open Unified Process)

Agile Unified Process

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

I219 Software Design Methodology

CS4507 Advanced Software Engineering

Classical Software Life Cycle Models

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

What CMMI Cannot Give You: Good Software

Iterative Project Management 1

Development Methodologies

The Rap on RUP : An Introduction to the Rational Unified Process

Reaching CMM Levels 2 and 3 with the Rational Unified Process

A FRAMEWORK FOR INTEGRATING SARBANES-OXLEY COMPLIANCE INTO THE SOFTWARE DEVELOPMENT PROCESS

RUP for Software Development Projects

Software Lifecycles Models

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Redesigned Framework and Approach for IT Project Management

Chap 1. Introduction to Software Architecture

Software Design Models, Tools & Processes *

Planning a Project with the Rational Unified Process Author: David West

CMMI and IBM Rational Unified Process

Software Development Methodologies

COMP 354 Introduction to Software Engineering

Appendix 2-A. Application and System Development Requirements

CHAPTER. Software Process Models

Software Development Life Cycle (SDLC)

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Software Process and Models

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Time Monitoring Tool Software Development Plan. Version <1.1>

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

ISO 9001:2000 Its Impact on Software

Best Practices Statement Project Management. Best Practices for Managing State Information Technology Projects

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

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

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

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

To introduce software process models To describe three generic process models and when they may be used

Advanced Software Engineering. Software Development Processes

Abstract. 1 Introduction

VAIL-Plant Asset Integrity Management System. Software Development Process

Information systems modelling UML and service description languages

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Surveying and evaluating tools for managing processes for software intensive systems

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Program Lifecycle Methodology Version 1.7

COMMONWEALTH OF MASSACHUSETTS EXECUTIVE OFFICE OF HEALTH AND HUMAN SERVICES

An Introduction to the UML and the Unified Process

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Developing CMMI in IT Projects with Considering other Development Models

Software Engineering Reference Framework

Unit 1 Learning Objectives

Template for IT Project Plan. Template for IT Project Plan. [Project Acronym and Name]

Agile Requirements Best Practices

Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes

Department of Administration Portfolio Management System 1.3 June 30, 2010

A Rational Software Corporation White Paper

Improving Software Development Economics Part I: Current Trends

A Capability Maturity Model (CMM)

TOGAF usage in outsourcing of software development

Agile Portfolio Management. Jochen(Joe)Krebs

RFP Attachment C Classifications

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

A Survey of Plan-Driven Development Methodologies

Project Management Certificate (IT Professionals)

<Company Name> <Project Name> Software Development Plan. Version <1.0>

Project Management in the Rational Unified Process

Project Management Plan for

Software Life Cycle Processes

White Paper What Solutions Architects Should Know About The TOGAF ADM

Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry

Ob j ect-oriented Project Management with UML

Analysis and Design with UML

An Approach for assessing the Quality of Software for small and medium sized firms

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Using EVMS with COTS-Based Systems

Session-1: Business Enterprise Applications- Overview

Project planning best practices

HKITPC Competency Definition

A Manager s Introduction to The Rational Unified Process (RUP)

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

CMM vs. CMMI: From Conventional to Modern Software Management

Transcription:

Software Corporation Software Project Management using an Iterative Lifecycle Model 1

Objectives of this Presentation To understand what the Unified Process is To understand the iterative lifecycle approach to software project management of the Unified Process To review case studies where the Unified Process was applied to implement an iterative lifecycle approach 2

References A Guide to the Project Management Body of Knowledge (PMBOK Guide), 3 rd Edition, Project Management Institute, 2005 Jacobson, Ivar, Grady Booch, and James Rumbaugh. The Unified Software Development Process, Reading, MA: Addison Welsey Longman, 1999. Royce, Walker. Software Project Management A Unified Framework, MA: Addison Welsey Longman, 1998. IBM Rational Unified Process (RUP) Version 7.0 Eclipse Open Unified Process (OpenUP) Version 1.0 3

Agenda 1. What is the Unified Process? 2. What is Iterative development? 3. Iterative Development in the Unified Process 4. Case Studies 4

1. What is the Unified Process? Topics Definition of a Software Development Process Best Practices and the Unified Process Characteristics of the Unified Process Scope of the Unified Process Structure of the Unified Process Lifecycle of the Unified Process Phases, Iterations and Milestones 5

Definition of a Software Development Process Xelaration A software development process defines who does what, when and how to reach the goals of a software development project New or Changed Stakeholder Needs Software Development Process New or Changed Software System 6

Best Practices and the Unified Process Unified Process implements 6 best practices of software engineering Unified Process Develop Iteratively Manage Requirements Use Component Architectures Model Visually Continuously Verify Quality Manage Change 7

Characteristics of the Unified Process Xelaration Use-case driven To drive process activities from functional requirements expressed using use case modeling techniques Architecture-centric To build an executable architecture early in order to address important behavioral and structural system considerations Iterative and incremental To partition the project lifecycle into multiple miniwaterfall projects each resulting in an executable release in order to mitigate risks 8

Scope of the Unified Process In-scope Software development Green-field development Object-oriented paradigm Project lifecycle Out-of-Scope System development Maintenance Functional paradigm Product lifecycle 9

Structure of the Unified Process 10

Lifecycle of the Unified Process 4 Phases and Major Milestones Inception Lifecycle Objective Milestone Define project scope Elaboration Lifecycle Architecture Milestone Build executable system architecture Construction Initial Operational Capability Milestone Complete Beta version of the software system Transition Product Release Milestone Complete GA version of the software system 11

Phases, Iterations and Milestones Xelaration Inception Elaboration Iteration #1 Elaboration Iteration #n Construction Iteration #1 Construction Iteration #2 Construction Iteration #n Transition Iteration #1 Transition Iteration #n time Lifecycle Objective Milestone (Major Milestone) Minor Milestone Lifecycle Architecture Milestone (Major Milestone) Minor Milestone Minor Milestone Initial Operational Capability Milestone (Major Milestone) Minor Milestone Product Release Milestone (Major Milestone) 12

2. What is Iterative Development? Xelaration Topics Best Practice: Develop Iteratively Iterative Planning Risk Definition Risk and Iterative Development Role Project Manager Artifact Software Development Plan Risk List Iteration Plan Iteration Assessment 13

Best Practice: Develop Iteratively Divide the lifecycle of your project into iterations where each iteration is a miniproject in itself that produces an incremental executable version of the system Realize high-priority and high-risk items in early iterations, and low-priority and low-risk items in late iterations 14

Iteration Definition Starts with planning and requirements, and ends with a release, internal or external Traverses all the discipline of the process: Requirements, Analysis & Design, Implementation, Test and Deployment Not a cycle of edit, compile, test, debug 15

Iterative Planning Software Development Plan Entire project is planned at the macro level Iteration Plan Each iteration is plan prior to starting its execution (PMBOK Rolling-wave planning or progressive elaboration) 16

How Many Iterations are Xelaration Necessary? Dependent on the nature of the project Typically between 4 and 9 Typical iteration profiles Low : 3 [0, 1, 1, 1] Typical: 6 [1, 2, 2, 1] High: 9 [1, 3, 3, 2] Very high: 10 [2, 3, 3, 2] 17

How Long Should an Iteration Last? Dependent on the size of the project team With 5 people One week With 20 people 3 to 4 weeks With 40 people 3 months 18

Pragmatic Planning Project manager is concerned with only 3 plans at any given time Software Development Plan Current Iteration Plan Next Iteration Plan The act of planning is more important than the plan itself 19

Risk Definition Uncertain event or condition that, if it occurs, has a positive or a negative effect on at least one project objective, such as time, cost, scope, or quality Risk attributes Probability Impact Risk Strategies Avoidance Transfer Mitigation Acceptance Contingency 20

Risk Management Definition A process takes care of the known aspects of software development Risk management takes care of the unknown aspects 21

Risk and Iterative Development Iterative development reduces risk early in the project lifecycle 22

Traditional Waterfall Software Project Lifecycle Requirements Analysis Design Coding Testing Integration 23

Traditional Waterfall Project Xelaration Progress Profile 100% Integration begins Late design breakage % Code Complete Original Target Date Actual Target Date 0% Requirements Design Coding Integration Testing Deployment Time 24

Traditional Waterfall Project Xelaration Risk Profile High Focused Risk Resolution Period Controlled Risk Management Period Risk Exposure Low Risk Exploration Period Risk Elaboration Period Requirements Design Coding Integration Testing Deployment 25

Modern Iterative Project Xelaration Progress Profile 100% Modern Project Profile % Code Complete Traditional Project Profile Original Target Date Actual Target Date 0% Inception Elaboration Construction Transition Time 26

Modern Iterative Project Risk Profile High Controlled Risk Management Period Risk Exposure Modern Project Risk Profile Conventional Project Risk Profile Low Risk Exploration Period Risk Resolution Period Inception Elaboration Construction Transition 27

Unified Process Project Xelaration Management Approach Engineering Stage (Inception and Elaboration Phases) Realization of a few high-risk and high-priority use-cases and/or requirements Driven by less predictable but smaller teams doing design and synthesis activities Production Stage (Construction and Transition Phases) Realization of the remaining lower-risk and lower-priority use-cases and/or requirements Driven by more predictable but larger teams doing construction, test, and deployment activities 28

Focus of Lifecycle Stages Lifecycle Aspect Risk Reduction Products Activities Assessment Economics Management Engineering Stage Schedule, Technical Feasibility Architecture Baseline Analysis, Design, Planning Demonstration, Inspection, Analysis Resolving Diseconomies of Scale Planning Production Stage Cost Product Release Baselines Implementation, Testing Testing Exploiting Economies of Scale Operations 29

Effort and Schedule Profile per Phase Domain Inception Elaboration Construction Transition Effort 5% 20% 65% 10% Schedule 10% 30% 50% 10% 30

Project Management Roles Project Manager Responsible for managing the initiation, planning, execution, monitoring and control, and closure of the project, the phases and the iterations 31

Project Management Artifacts Project Manager Business Case Software Development Plan Risk List Iteration Plan Iteration Assessment 32

Business Case Describes the business justification for the project Product Description Business Context Product Overview Financial Forecast Constraints 33

Software Development Plan Describes the project plan at a macro level Project purpose, scope and objectives Assumptions and constraints Work products Organizational structure External interfaces Roles and responsibilities Project Plan Work breakdown structure (WBS), schedule, milestones Other plans 34

Organizational Structure (Organizational Breakdown Structure OBS) Project Organizational Breakdown Structure (OBS) Management Team Architecture Team Development Team Assessment Team 35

Work Breakdown Structure (WBS) Xelaration Project Work Breakdown Structure (WBS) Inception Elaboration Construction Transition Software Development Plan Software Architecture Document Design Model Build (General Availability) Business Case Use-Case Model (Partially Detailed) Use-Case Model (Completely Detailed) Vision Supplementary Specifications Test Cases Use-Case Model (Outlined) Build (Executable Architecture) Build (Beta Version) 36

Risk List Describes known project risks with their magnitude (probability and impact) For each risk identified Risk magnitude or ranking Description Impact Indicators Mitigation strategy Contingency Plan 37

ATM Example: Use Cases and Risks Example Xelaration Risk Use Case Bank System Interface Card Reader Unit Interface Cash Distribution Unit Interface Graphical User Interface Withdraw Cash High Priority High Risk High Priority High Risk High Priority High Risk High Priority High Risk Deposit Funds Medium Priority High Risk Medium Priority High Risk Medium Priority No Risk Medium Priority High Risk Transfer Funds Medium Priority High Risk Medium Priority High Risk Medium Priority No Risk Medium Priority High Risk Pay Bill Medium Priority High Risk Medium Priority High Risk Medium Priority No Risk Medium Priority High Risk Print Statement Medium Priority High Risk Medium Priority High Risk Medium Priority No Risk Medium Priority High Risk Question: Which Use Case(s) should be realized in the Engineering Stage? 38

Iteration Plan Describes the scope (in terms of use cases/scenarios included in the scope) and plan for a specific iteration Plan Resources Use Cases Evaluation Criteria 39

ATM Examples: Iteration Plan for the First Iteration of Elaboration Use Cases/Scenarios Withdraw Cash Main Flow Deposit Funds Main Flow Why? Because this will force the project team to mitigate the risks associated with interfaces to the Banking System and all ATM devices 40

Iteration Assessment Describes the assessment of the iteration in terms of whether or not objectives were achieved for a specific iteration Iteration Objectives Reached Adherence to Plan Use Cases and Scenarios Implemented Results Relative to Evaluation Criteria Test Results External Changes Occurred Rework Required 41

ATM Example: Iteration Assessment Xelaration Iteration objectives partially reached Main flows of the Withdraw Cash and Deposit Funds use cases were implemented All risks associated with interfaces to the Bank System and ATM devices were mitigated except for the envelop collector An envelop collector from another vendor will need to be selected and integrated in a follow-on iteration 42

3. Iterative Development in the Unified Process Xelaration Topics Inception Phase Inception Lifecycle Objectives Milestone Inception Key Roles Inception Key Artifacts Elaboration Phase Elaboration Lifecycle Architecture Milestone Elaboration Key Roles Elaboration Key Artifacts Construction Phase Construction Initial Operational Capability Milestone Construction Key Roles Construction Key Artifacts Transition Phase Transition Product Release Milestone Transition Key Roles Transition Key Artifacts 43

Inception Lifecycle Objective Milestone Xelaration Objectives Define scope of the project agreed-upon by all stakeholders Identify risks on the project and plan response on these risks Plan project Secure budget for Elaboration 44

Inception Key Roles Requirements System Analyst Project Management Project Manager Environment Process Engineer Tools Specialist 45

Inception Key Artifacts Requirements Vision Use-Case Model (Outlined for all use cases) Glossary Project Management Business Case Risk List Software Development Plan (Elaboration phase planned in details) Iteration Plan (Elaboration phase first iteration) Environment Development Process Development Infrastructure 46

Elaboration Architecture Objective Milestone Xelaration Objectives Baseline an executable architecture Mitigate high-priority risks (high-probability and high-impact risks) Secure budget for Construction 47

Elaboration Key Roles 1/2 Requirements System Analyst Requirements Specifier Analysis & Design Software Architect Designer Implementation Implementer Integrator 48

Elaboration Key Roles 2/2 Test Test Manager Test Analyst Test Designer Tester Project Management Project Manager Environment Process Engineer (Support) Tools Specialist (Support) 49

Elaboration Key Artifacts Requirements Use-Case Model (Detailed for architecturally-significant use cases only) Supplementary Specifications Analysis & Design Software Architecture Document Design Model (Use-case realizations for architecturally-significant use cases only) Data Model (if applicable) Implementation Implementation Model (Implementation elements to support the realization of architecturally-significant use cases only) Build (Executable architecture) Test Test Cases (Partial) Project Management Software Development Plan (Construction phase planned in details) Iteration Plan (Construction first iteration) 50

Construction Initial Operational Capability Milestone Xelaration Objectives Complete development of all remaining capabilities Ensure quality of the product Prepare user support material Secure budget for Transition 51

Construction Key Roles 1/2 Requirements System Analyst (Support) Requirements Specifier Analysis & Design Software Architect (Support) Designer Implementation Implementer Integrator 52

Construction Key Roles 2/2 Test Test Manager Test Analyst Test Designer Tester Deployment Technical Writer Project Management Project Manager Environment Process Engineer (Support) Tools Specialist (Support) 53

Construction Key Artifacts Requirements Use Case Model (Fully detailed) Analysis & Design Design Model (Complete) Data Model (Complete if applicable) Implementation Implementation Model (Complete) Build (Complete) Test Test Cases (All) Project Management Software Development Plan (Transition phase planned in details) Deployment Plan Iteration Plan (Transition first iteration) 54

Transition Product Release Milestone Objectives Ensure that the product is available for its end-users Fine tuning the product based on user feedback 55

Transition Key Roles 1/2 Requirements System Analyst (Support) Requirements Specifier (Support) Analysis & Design Software Architect (Support) Designer (Support) Implementation Implementer (Support) Integrator (Support) Test Test Manager (Support) Test Analyst (Support) Test Designer (Support) Tester (Support) 56

Transition Key Roles 2/2 Deployment Technical Writer (Support) Deployment Manager Project Management Project Manager Environment Process Engineer (Support) Tools Specialist (Support) 57

Transition Key Artifacts Implementation Build (General availability version) Deployment End-User Material 58

Line-of-Business Organization Organization Manager Software Engineering Process Authority Process definition Process improvement Project Review Authority Project compliance Periodic risk assessment Software Engineering Environment Authority Process automation Infrastructure Project administration Engineering skill centers Professional development Project A Manager Project B Manager Project C Manager Project N Manager 59

Project Organization Software Management Business Case Vision Software Development Plan Work Breakdown Structure Status Assessments Requirements Set Software Architecture Architecture Description Requirements Set Design Set Release Specifications Software Development Design Set Implementation Set Deployment Set Software Assessment Deployment Set User Manual Environment Release Specifications Release Descriptions Deployment Documents 60

Evolution of the Project Team Software Management 50% Software Management 10% Software Architecture 20% Software Development 20% Software Assessment 10% Software Architecture 50% Software Development 20% Software Assessment 20% Inception Elaboration Transition Construction Software Management 10% Software Management 10% Software Architecture 5% Software Development 35% Software Assessment 50% Software Architecture 10% Software Development 50% Software Assessment 30% 61

Human Resource Utilization Give each resource many roles and responsibilities to keep them utilized throughout the lifecycle of the project Business Analysts are usually good testers but are not good developers Architects and designers are usually good developers but are not good testers 62

4. Case Studies Topics Ericsson Blue Ridge Labs, Lynchburg, VA Rational Software, Boston, MA Why so few Case Studies? 63

Ericsson (1999 to 2000) Goal To build the embedded software for an Ericsson cellular phone Iteration Duration 3 weeks Other considerations Large team organized in silos Not so successful model 64

Rational Software (2000 to 2002) Xelaration Goal To implement a Customer Relationship Management (CRM) system for the Marketing, Sales and Customer Support organizations of Rational Software Iteration Duration 6 to 8 weeks Other considerations Small collocated team Implementation of a package application; not pure development Analysts were also testers Successful model Reference Serge Charbonneau. Using RUP to Implement a Package Application, Rational Edge, April 2003 65

Why so few Case Studies? Because iterative model represents such a paradigm shift in the way software is being developed Other Unified Process best practices are being implemented a lost more than iterative development PMBOK does not provide a lot a guidance on iterative development (progressive elaboration) 66

Xelaration s Mission Xelaration Software Corporation To accelerate the success of our customers in improving their software engineering capabilities enabling them to achieve their business goals 67