lecture 4: software project management 2008... · lecture 4: software project management software...

37
Lecture 4: Software Project Management Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Sept. 4, 2008

Upload: others

Post on 14-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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