lecture 6 (software project management ii)€¦ · lecture 6 software project management. 2...
TRANSCRIPT
Software EngineeringITCS 3155Fall 2008
Dr. Jamie PaytonDepartment of Computer ScienceUniversity of North Carolina at Charlotte
September 11, 2008
Lecture 6Software Project Management
2
Announcements
Homework 1 is due on Tuesday
3
Lecture Overview
Chapter 2Software Design Processes and Management• Notation for describing processes• A generic software development process• Software project management
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
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
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
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)
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
9
Activity Timeline
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
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
12
Risk Analysis
Assess probability and effects of each riskProbability
Very low LowModerateHighVery high
Risk effects CatastrophicSeriousTolerableInsignificant
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
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
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
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
17
Software Project Management
Project Management ActivitiesPlanningOrganizingStaffingTrackingLeading
18
Software Project Management:Organizing
Organizational structuresProject organizationFunctional organization
Team structuresHierarchicalDemocratic
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
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
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
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
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
24
Next time
Beginning the software development processProduct design• Requirements engineering