![Page 1: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/1.jpg)
Lecture 4:Software Project Management
Software System Design and ImplementationITCS/ITIS 6112/8112 001Fall 2008
Dr. Jamie PaytonDepartment of Computer ScienceUniversity of North Carolina at Charlotte
Sept. 4, 2008
![Page 2: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/2.jpg)
2
Lecture Overview
Process supportCASE tools
Project management
![Page 3: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/3.jpg)
3
Process Support
Computer-aided software engineering (CASE) Software supporting software development and evolution processes
Activity automationGraphical editors for model developmentData dictionary to manage design entitiesGraphical UI builder for user interface constructionDebuggers to support program fault findingAutomated programming language translators
![Page 4: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/4.jpg)
4
CASE Classification
Functional perspectiveAccording to specific function
Process perspectiveAccording to process activities that are supported
Integration perspectiveAccording to organisation into integrated units
![Page 5: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/5.jpg)
5
Integrated Classification
CASE TechnologyTools• Support an individual task in a process phase
Workbenches• Support a process phase
Environments• Support (most of the) software development process
![Page 6: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/6.jpg)
6
CASE Tools
CASE tool indexhttp://www.unl.csi.cuny.edu/faqs/software-enginering/tools.html
CASE tools for UML modelingDiscussion of UML tools• http://plg.uwaterloo.ca/~migod/uml.htmlMost well-known (popular?) UML modeling tool• Rational Rose
Available on UNCC Novell machinesOther UML modeling tools• http://en.wikipedia.org/wiki/List_of_UML_toolsDrawing tools (my preference)• Microsoft Visio• Omnigraffle
![Page 7: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/7.jpg)
7
Case Technology Limitations
CASE technology is not a silver bulletImpact has not met expectations Improvement is about 40%• Significant, but not orders of magnitude
Only 15% of software engineering is clerical (Glass)80% is intellectual, 5% is creativeIntellectual reasoning/creative thought is not readily automated
CASE technology does not typically support team activity
![Page 8: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/8.jpg)
8
Lecture Overview
Process supportCASE tools
Project management
![Page 9: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/9.jpg)
9
Ensure that software is delivered that meets requirements…on time…and within budget
Project Management Activities Proposal writingProject planning and scheduling (today)Project cost estimation (intertwined with planning)Project monitoring and reviewsPersonnel selection and evaluation (also intertwined)Report writing and presentations
Software Project Management
![Page 10: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/10.jpg)
10
Software Project Management:Planning
Project plan is concerned primarily with developing a schedule and budgetPlanning process activities1. Estimation2. Scheduling3. Task allocation (according to schedule)4. Risk analysis5. Specify rules, policies6. Do the work
![Page 11: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/11.jpg)
11
Software Project Management:Planning Process
1. Planning begins with estimationIdentify needed and available resourcesCalculation of approximate cost, effort, time, resources
2. Using estimates, a schedule is madeSpecify the start and duration of work tasksSpecify dates of milestones• Any significant event in a projectSpecify dates of deliverables• Project results delivered to client
![Page 12: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/12.jpg)
12
Software Project Management:Planning Process (2)
3. Tasks are allocated resources according to schedule4. Risk analysis is performed
• Identify, understand, and assess risk• Plan to prevent, mitigate, respond to risk
5. Specify rules to govern workPolicies and proceduresTools and techniques
![Page 13: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/13.jpg)
13
Software Project Management:Planning Process (3)
6. Start working!Repeat until project is completed:• Do some work• Evaluate the work• Update estimates• Update schedule• Determine if project should continue
• If there is problem, perform formal review to make decision
![Page 14: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/14.jpg)
14
Planning Details
Planning process activities1. Estimation 2. Scheduling3. Task allocation (according to schedule)4. Risk analysis5. Specify rules, policies6. Do the work
![Page 15: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/15.jpg)
15
Estimation
Need to cost estimates to determine feasibility and scheduleSoftware Cost Components
Hardware and software costsTravel and training costsEffort costs (dominant factor)• Salaries of engineers• Social and insurance costs
Social security, health insurance, pensions• Overhead
Building, heating, lightingNetworking and communicationsShared facilities (e.g., library, staff restaurant, etc.)
![Page 16: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/16.jpg)
16
Cost Estimation
Approaches to estimating cost and effortDelay estimation until late in the projectBase estimates on similar completed projectsUse relatively simple decomposition techniques to generate costs and effort estimationsUse one or more empirical models to provide estimates
![Page 17: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/17.jpg)
17
Planning Details
Planning process activities1. Estimation (more later)2. Scheduling3. Task allocation (according to schedule)4. Risk analysis5. Specify rules, policies6. Do the work
![Page 18: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/18.jpg)
18
Project Scheduling
Management needs to judge progressActivities should be organized to produce tangible outputs
Milestones are the end-point of a process activity• Should have an associated formal output
Deliverables are project results delivered to customers• Examples
Software requirements specificationPrototype
Waterfall process allows for straightforward definition of milestones
![Page 19: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/19.jpg)
19
Task Allocation
Divide 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 20: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/20.jpg)
20
Project Scheduling Process
Estimate resourcesfor activities
Identify activitydependencies
Identifyactivities
Allocate peopleto activities
Create projectcharts
Softwarerequirements
Activity chartsand bar charts
![Page 21: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/21.jpg)
21
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 22: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/22.jpg)
22
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 23: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/23.jpg)
23
Activity Timeline (a.k.a. Gantt Charts)
4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T1T2
M1
T7T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T10
M6
T11M8
T12
Start
Finish
![Page 24: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/24.jpg)
24
Project Staffing
Having the right people is key to the success of the projectThe number of people working on a project varies depending on the phase of the projectIssues
Project budget may not allow for the use of highly-paid staffStaff with the appropriate experience may not be availableMay wish to develop employee skills on the job
Managers have to work within these constraints Especially when there are shortages of trained staff
![Page 25: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/25.jpg)
25
Staff Allocation
![Page 26: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/26.jpg)
26
Scheduling Issues
Estimating difficulty of problems is hard So, defining cost of solution is hard, too
“The more, the merrier” or “The more, the faster” does not necessarily apply
The more people on the project, the more total effort is usually requiredA very rapid build-up of people often correlates with schedule slippage• Adding people to a late project makes it later (Glass, Facts &
Fallacies)• Why?
Murphy’s LawAllow contingency in planning: 20% extra
![Page 27: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/27.jpg)
27
Planning Process Details
Planning process activities1. Estimation (more later)2. Scheduling3. Task allocation (according to schedule)4. Risk analysis5. Specify rules, policies6. Do the work
![Page 28: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/28.jpg)
28
Risk Management
Identify risks and plan to minimise their effectRisk: probability that some adverse circumstance will occur
Project risks affect schedule or resourcesProduct risks affect the quality or performance of software Business risks affect organization developing or procuring the software
![Page 29: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/29.jpg)
29
Risk Management Process
![Page 30: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/30.jpg)
30
Risk Identification
Technology risksHardware and software used to build system
People risksDevelopment team
Organizational risksOrganizational environment
Requirement risksChanges and management of changes
Estimation risksEstimates and resources
![Page 31: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/31.jpg)
31
Risk Analysis
Assess probability and effects of each riskProbability
Very low LowModerateHighVery high
Risk effects CatastrophicSeriousTolerableInsignificant
![Page 32: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/32.jpg)
32
Risk Planning
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 33: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/33.jpg)
33
Risk Monitoring
The project may not progress as plannedResource consumption is not as expectedTasks do not take as long as expectedPolicies, procedures, tools, or techniques are not suitableSomething bad happens
Assess risks regularly Is it more or less probable?Have the effects of the risk have changed?
Refer to risk assessment and evaluate strategies for addressing/mitigating problem
May require revising project planDiscuss assessment of key risks at each progress meeting
![Page 34: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/34.jpg)
34
Risk Indicators
Risk type Potential indicatorsTechnology Late delivery of hardware or support software, many
reported technology problemsPeople Poor staff morale, poor relationships amongst team
member, job availabilityOrganisational organisational gossip, lack of action by senior
managementTools reluctance by team members to use tools, complaints
about CASE tools, demands for higher-poweredworkstations
Requirements many requirements change requests, customercomplaints
Estimation failure to meet agreed schedule, failure to clearreported defects
![Page 35: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/35.jpg)
35
Planning Process Details
Planning process activities1. Estimation (more later)2. Scheduling3. Task allocation (according to schedule)4. Risk analysis5. Specify rules, policies6. Do the work
![Page 36: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/36.jpg)
36
Software Project Management:Leading
Direction is needed To follow plansTo use resources efficientlyTo make decisions
…but directing people is not enoughInspirationPleasant work environmentEmotional support
As a project leader, don’t forget the intangibles
![Page 37: Lecture 4: Software Project Management 2008... · Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton](https://reader030.vdocuments.us/reader030/viewer/2022040412/5f06a9b87e708231d4191d84/html5/thumbnails/37.jpg)
37
Summary
Good project management is essential for project successMost significant activities are planning, estimating, and schedulingPlanning and estimating are iterative processes• Continue throughout the course of a project
Management relies on tangible results of process to evaluate progress
A project milestone is a predictable state where a formal report of progress is presented to management
Management must identify and address risks throughout process