Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in...

23
Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level SE470 - Project Management Workflow Excellence in Software Engineering Repeatable Level Defined Level Managed Level Initial Level Optimizing Level Larry Dribin, Ph.D. - DePaul University Phone: (847)807-7390 - Fax: (847)459-1650 Email: [email protected] Copyright 2001 - Larry Dribin, Ph.D. - v1 10-21-01
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    2

Transcript of Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in...

Page 1: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

SE470 - Project Management Workflow

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimizing Level

Larry Dribin, Ph.D. - DePaul University

Phone: (847)807-7390 - Fax: (847)459-1650

Email: [email protected]

Copyright 2001 - Larry Dribin, Ph.D. - v1 10-21-01

Page 2: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 2

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Agenda

Lecture / discussion on Project Management Workflow & Architecture A1 - Informal presentation of each person’s experiences (Complete) A2 - Present, discuss and plan next interation

Page 3: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 3

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Best Practices

Rational’s View of Best Practices: Develop Iteratively Manage Requirements Use Component Architectures Model Visually Continuously Verify Quality Control Change

XP View of Best Practices: The Planning Game Small releases Metaphor Simple design Testing Refractoring Pair Programming Collective ownership Continuous integration 40-hour work week On-site customer Coding standards

“An organized and documented set of principles, methods and processes that increase quality and productivity of software development.”

Source: Rational - “Principles of Managing Iterative Development v2.0”

“An organized and documented set of principles, methods and processes that increase quality and productivity of software development.”

Source: Rational - “Principles of Managing Iterative Development v2.0”

Page 4: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 4

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Rational Unified Process - Phases

Page 5: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 5

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Iterations and Phases

Page 6: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 6

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Iterative Development

Page 7: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 7

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Project Management Workflow Coarse- Grained Plan

Fine-Grained PlanIter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. # 5 Beta1 Beta 2 Product Release

v v v v v v v v

5/01 6/01 7/01 8/01 9/01 11/01 12/01 2/02

ID Task Name Duration

1 Project Management 75 days

2 Initial Planning 4 days

3 Analysis 3 days

4 Desing 4 days

5 Code 5 days

6 Test 2 days

7 Integrateion Test 5 days

8 Deploy 5 days

7/29 8/5 8/12 8/19 8/26August

Page 8: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 8

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Inception

Objectives Establish the Projects Scope Define the high level Requirements /

Use Cases Exhibit a candidate Architecture Estimate the Cost & Schedule Estimate the Risk

Activities Formulate the Scope Prepare a Business Case which

include: Risk Management, Staffing, Project Plan, & Tradeoffs between: Cost, Schedule & Profitability

Develop a Candidate Architecture

Outcomes / Artifacts Vision Document Use-Case Model Survey (list of all

use cases and actors) Business Case Risk Assessment Project Plan

Evaluation Criteria Stakeholder Concurrence Requirements Understanding Credibility of estimates Depth & Breadth of architectural

prototype Actual Expenditures vs. Planned

Expenditures

Inception -> Elaboration -> Construction -> TransitionInception -> Elaboration -> Construction -> Transition

Page 9: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 9

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Elaboration Objectives

Define & validate the Architecture Baseline of Vision Baseline of Construction Plan Demonstrate that Architecture will

support the Vision Activities

Elaborate the Vision Elaborate:

– Process– Infrastructure – Tools & Automation

Elaborate the Architecture– Begin to Evaluate Components

Outcomes / Artifacts Use-Case Model Supplementary Requirements Software Architecture Description Executable Architectural Prototype Development Plan

Evaluation Criteria Is the Vision stable? Is the Architecture Stable? Does the Prototype show that the

risks have been addressed? Is the construction phase plan

sufficiently detailed? Do all stakeholders agree that the

vision can be achieved with the current plan and architecture?

Is the resource plan acceptable?

Inception -> Elaboration -> Construction -> TransitionInception -> Elaboration -> Construction -> Transition

Page 10: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 10

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Construction Objectives

Achieve useful versions Achieve adequate quality Minimize development costs Construct as rapidly as possible

Activities Complete Component Development Resource Management and process

optimization Assess product releases against

acceptance criteria and Vision

Outcomes / Artifacts Software Product Releases Description of current release Users Manuals

Evaluation Criteria Is the product release stable? Are all stakeholders ready for

transition? Are resource expenditures vs.

planned expenditures still acceptable

Inception -> Elaboration -> Construction -> TransitionInception -> Elaboration -> Construction -> Transition

Page 11: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 11

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Transition Objectives

Move the software product to the user community

Achieve user self-support Achieve stakeholder concurrence

that deployment baselines are complete and consistent with the vision

Activities Rollout of Product

– Cutover to production– Commercial Packaging & Shipping

Training of Users Tuning and bug fixing Add new features Assess deployment baseline against

the vision

Outcomes / Artifacts Deployed Software Beta Testing Parallel Operation Conversion of Data Bases

Evaluation Criteria Is the user satisfied? Are the actual resources vs.

planned resources acceptable

Inception -> Elaboration -> Construction -> TransitionInception -> Elaboration -> Construction -> Transition

Page 12: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 12

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Iteration within the Phases

Page 13: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 13

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Iteration is a way to Control Risk & Poorly Defined Requirements

Project Management

Requirements

Analysis & Design

Implementation

Test (Validation & Verification)

Deployment

Selected Scenarios

ProductRelease

The Iteration Life Cycle is a mini-waterfall.The Iteration Life Cycle is a mini-waterfall.

Page 14: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 14

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Metrics are the Basis of Iteration Assessment

Iteration ‘N’ Assessment Compare iteration actual

costs, schedule and functional content with plan

Determine rework (if any) Determine what risks have

been eliminated or reduced Determine what risks

remain and any new risks Update overall project plan

for next iteration Prepare detailed plan for

next iteration

Iteration ‘N’ Costs &Schedule Actuals

Quality Assessment• Test Results• Defect Density• Architecture Stability• Requirements Stability

Revised Risk Plan

Revised Project Plan• total Cost• Schedule• Scope

Iteration ‘N+1’ Plan• Cost• Schedule• Content

Page 15: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 15

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Benefits of an Iterative Approach

Risk Mitigation Requirements Risks Integration Risks Architectural Risks

Easier to Accommodate Change Requirements Tactical Technology

Learning As You Go Increased Opportunity for Reuse Better overall Quality

Page 16: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 16

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Core Workflows

Engineering Workflows Business Modeling Requirements Definition Analysis and Design Implementation Test Deployment

Supporting Workflows Project Management Configuration and change management Environment

Page 17: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 17

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Architectural Views

Definition System Organization Selection of Structural elements and

their interfaces and their behavior Composition of these elements into

progressively larger subsystems Architectural Style that guides this

organization Presentation

Different Views for Different Stakeholders

– Analyst– End user– Project Manager– Designer– Developers– etc.

LogicalView

ProcessView

ImplementationView

DeploymentView

Use CaseView

End Users Programmers

End Users

System Integrators System Engineering

The 4+1 View

Page 18: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 18

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Use Cases

A Use Case is a sequence of actions a system performs that yields an observable result of value to a particular actor

An Actor is someone or something outside the system that interacts with the system

WithdrawMoney

Client

CheckBalance

TransferMoney

Use Case for an ATM (RUP p100)Use Case for an ATM (RUP p100)

Page 19: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 19

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Metaphor - XP’s View of Architecture

Architecture is just as important in XP projects as it is in any software project

Each XP Project is guided by a single overarching metaphor Part of the Architecture is captured in the “Systems Metaphor” The XP Metaphor replaces much of what other people call “architecture” Issues with “architecture”

Architectures do not push system into any sense of cohesion An Architecture is the big boxes and connections

By asking for a metaphor, we are likely to get an architecture that is easy to communicate and elaborate

Put a simple “Architecture” in place and evolve it

Page 20: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 20

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Role of pictures in design:

There is nothing wrong with pictures Trouble drawing pictures can give you a subtle clue that the design is in

trouble You can design quickly with Pictures Anyone can design with Pictures

Issues with Pictures They can’t give you concrete feedback like tests of code can It is hard to keep the Pictures and the Code in synchronization

Page 21: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 21

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Full Life Cycle Software Engineering Processes

Needs Analysis Design Build Operate

Project Tracking & Oversight

Project Planning

Subcontractor Management

Quality Assurance

Configuration Management & Documentation Standards

Performance Measurement

• Systems Management

• Call Management• Tech. Support &

Maintenance

• Requirements Management• Software Product

Engineering

• Software Product Engineering

• Software Product Engineering

• Project Evaluation & Prioritization (Work Request)

Technology OrganizationTechnology Organization Technology StrategyTechnology Strategy

Organization Process Function

IT Value Chain

Page 22: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 22

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

The Planning Game (XP p 86)

The Pieces - Story Cards The Players

Business Development

The Moves Exploration

– Write a story– Estimate a story– Split / refine a story

Commitment– Sort by value– Sort by risk– Set Velocity (how fast can the

development team go)– Choose scope

The Moves (Continued) Steer

– Iteration - Business picks one iteration worth of the most valuable stories

– Recovery - If Development overestimated, it can ask the Business to revise the stories for this iteration

– New Story - If Business needs a new story, it can write the story and

– Re-estimate - If development feels that the plan is no longer accurate, it can re-estimate all of the remaining stories

Page 23: Copyright  2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.

Copyright 2001 - Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 23

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Iteration Planning (XP p 91)

The Pieces - Task Cards The Players - Individual Programmers Elaboration Phase

Write a task Split / combine tasks

Commitment Phase Accept a Task Estimate a Task Set Load Factor Balancing

Steering Phase Record Progress Recovery Verify Story