lecture 6 (software project management ii)€¦ · lecture 6 software project management. 2...

24
Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 11, 2008 Lecture 6 Software Project Management

Upload: others

Post on 25-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

Software EngineeringITCS 3155Fall 2008

Dr. Jamie PaytonDepartment of Computer ScienceUniversity of North Carolina at Charlotte

September 11, 2008

Lecture 6Software Project Management

Page 2: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

2

Announcements

Homework 1 is due on Tuesday

Page 3: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

3

Lecture Overview

Chapter 2Software Design Processes and Management• Notation for describing processes• A generic software development process• Software project management

Page 4: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

4

Software Project Management:Planning

Project plan is concerned primarily with developing a schedule and budget

1. Planning begins with estimationCalculation of approximate cost, effort, time or resources

2. Using estimates, a schedule is madeSpecify the start and duration of work tasksSpecify dates of milestones• Any significant event in a project

Specify dates of deliverables• Project results delivered to client

Page 5: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

5

Software Project Management:Planning (2)

3. Tasks are allocated resources according to schedule4. Risk analysis is performed

Identify, understand, and assess riskPlan to prevent, mitigate, respond to risk

5. Specify rules to govern workPolicies and proceduresTools and techniques

Page 6: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

6

Planning: Project Scheduling

Split project into tasks Estimate time and resources required to complete each taskOrganize tasks concurrently to make optimal use of workforceMinimize task dependencies to avoid delays

Page 7: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

77

Task Durations & Dependencies

Task Duration (days) DependenciesT1 8T2 15T3 15 T1 (M1)T4 10T5 10 T2, T4 (M2)T6 5 T1, T2 (M3)T7 20 T1 (M1)T8 25 T4 (M5)T9 15 T3, T6 (M4)T10 15 T5, T7 (M7)T11 7 T9 (M6)T12 10 T11 (M8)

Page 8: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

88

Activity Network

Helps to identifycritical paths inschedule

start

T2

M3T6

Finish

T10

M7T5

T7

M2T4

M5

T8

4/7/99

8 days

14/7/99 15 days

4/8/99

15 days

25/8/99

7 days

5/9/99

10 days

19/9/99

15 days

11/8/99

25 days

10 days

20 days

5 days25/7/99

15 days

25/7/99

18/7/99

10 days

T1

M1 T3T9

M6

T11

M8

T12

M4

Page 9: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

9

Activity Timeline

Page 10: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

10

Planning: Risk Assessment

Identify risks and plan to minimize their effectRisk: probability that some adverse circumstance will occur

Project risks affect schedule or resources• Example: Required hardware will not be available

Product risks affect the quality or performance of software • Example: Supporting tools do not perform as expected

Business risks affect organization developing or procuring the software• Example: Competitor launches similar product first

Page 11: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

11

Risk Identification

Technology risksHardware and software used to build system

People risksDevelopment team, customer communication

Organizational risksOrganizational environment

Requirement risksChanges and management of changes

Estimation risksEstimates and resources

Page 12: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

12

Risk Analysis

Assess probability and effects of each riskProbability

Very low LowModerateHighVery high

Risk effects CatastrophicSeriousTolerableInsignificant

Page 13: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

13

Risk Assessment

Serious60%Staff turnover will be high

Serious80%Customer will change requirements

Tolerable40%End-users resist system

Serious60%Size estimate may be significantly low

ImpactProbabilityRisks

Page 14: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

14

Risk Management

Consider each risk, develop a strategy to manage itAvoidance strategies

Reduce probability that the risk will ariseMinimization strategies

Reduce impact of the risk Contingency plans

Plan to deal with risk

Page 15: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

15

Risk Management

Serious

Serious

Tolerable

Serious

Impact

60%Staff turnover will be high

80%Customer will change requirements

40%End-users resist system

60%Size estimate may be significantly low

Risk Management Strategy

ProbabilityRisks

Page 16: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

16

Managing Risk Management

Risk management strategies can impact the costs of the project

Must weigh tradeoffs• Cost vs. risk

Risk management task itself can impact project costsTakes time and effort to assess riskPareto 80-20 rule• 80% of total project risk is in 20% of identified risks

Determine important risks earlyNo need to identify and manage all risks

Page 17: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

17

Software Project Management

Project Management ActivitiesPlanningOrganizingStaffingTrackingLeading

Page 18: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

18

Software Project Management:Organizing

Organizational structuresProject organizationFunctional organization

Team structuresHierarchicalDemocratic

Page 19: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

19

Software Project Management:Staffing

Having the right people is key to the project success 3 VPs of major technology companies agree

Factors to consider when creating teamDifficulty of problem (size of team, expertise)Size of resulting softwareTeam lifetimeModularization of the projectQuality and reliability requirementsFlexibility of delivery dateDegree of required communication

Page 20: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

20

Staffing

The number of people working on a project varies depending on the phase of the project“The more, the merrier” or “The more, the faster”does not necessarily apply

The more people who work on the project, the more total effort is usually requiredA very rapid build-up of people often correlates with schedule slippage• Adding more people in the middle of a project to meet schedule

can make things worse

Page 21: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

21

Software Project Management:Tracking

Or, what I call “risk monitoring”The project may not progress as planned

Resource consumption is not as expectedTasks do not take as long as expectedPolicies, procedures, tools, or techniques are not suitableSomething bad happens

Refer to risk assessment and evaluate strategies for addressing/mitigating problem

May require revising project plan

Page 22: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

22

Iterative Planning and Tracking

Make an initial project planGet startedTrackAt some fixed interval, evaluate progress

Use tracking dataUse completed work products

Refine project plan

Page 23: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

23

Software Project Management:Leading

Direction is needed To follow plansTo use resources efficientlyTo make decisions

…but directing people is not enoughInspirationOrganizationIdeas and innovationsPleasant work environment

As a project leader, don’t forget the intangibles

Page 24: Lecture 6 (Software Project Management II)€¦ · Lecture 6 Software Project Management. 2 Announcements ¾Homework 1 is due on Tuesday. 3 Lecture Overview ¾Chapter 2 Software Design

24

Next time

Beginning the software development processProduct design• Requirements engineering