35
1 Chapter 3 Chapter 3 Project Project Management Management

1 Chapter 3 Project Management. 2 Software project management Concerned with activities involved in ensuring that software is delivered on time and

Embed Size (px)

Citation preview

1

Chapter 3Chapter 3Project Project

ManagementManagement

2

Software project Software project managementmanagement

Concerned with activities involved in Concerned with activities involved in ensuring ensuring that software is delivered on time and on that software is delivered on time and on schedule and in accordance with the schedule and in accordance with the requirements of the organisations requirements of the organisations developing developing and procuring the softwareand procuring the software

Project management is needed because Project management is needed because software development is always subject to software development is always subject to budget and schedule constraints that are budget and schedule constraints that are set by the organisation developing the set by the organisation developing the softwaresoftware

3

Software management Software management distinctionsdistinctions

The product is intangibleThe product is intangible The product is uniquely flexibleThe product is uniquely flexible Software engineering is not recognized as Software engineering is not recognized as

an an engineering discipline with the sane status engineering discipline with the sane status as as mechanical, electrical engineering, etc.mechanical, electrical engineering, etc.

The software development process is not The software development process is not standardisedstandardised

Many software projects are 'one-off' Many software projects are 'one-off' projectsprojects

4

The 4 The 4 P’sP’s

PeoplePeople — the most important — the most important element of a successful projectelement of a successful project

ProductProduct — the software to be built — the software to be built ProcessProcess — the set of framework — the set of framework

activities and software activities and software engineering tasks to get the job engineering tasks to get the job donedone

Project Project — all work required to — all work required to make the product a realitymake the product a reality

5

Software Project Software Project ManagementManagement

Work to be done (estimate)Resources available

Technical personnel hours Administrative support hours Equipment Software

Budget

6

Software Project Software Project ManagementManagement

Resources People Money

Tasks Map people to tasks Map money to tasks

Time Map tasks and people to a schedule Handle constraints among task serialization Manage milestones (intermediate deadlines)

7

Project Management Project Management ToolsTools

ResourcesSpreadsheet

TasksSpreadsheet

TimeCalendarPert-type chart

EverythingProject Management Software

8

Project Project Management Management

Project [persistent] functionsPlanningHiring/firing/evaluationsAccounting/budgeting

ActivitiesNon-persistentComprised of tasks

Work productsResults of tasks

9

The The PlayersPlayers

Senior ManagersProject ManagersPractitionersCustomersEnd users 10

10

The Project The Project ManagersManagers

Hardest ProblemHaving the right people On the right part of the project At the right time At the right price

11

Software Software ProjectsProjects

• size

• delivery deadline

• budgets and costs

• application domain

• technology to be implemented

• system constraints

• user requirements

• available resources

Factors that influence the end result ...

12

Project Management Project Management ConcernsConcerns

staffing?

cost estimation?

project scheduling?

project monitoring?

other resources?

customer communication?

risk assessment?

product quality?

measurement?

13

Why Projects Why Projects Fail?Fail?

• • an unrealistic deadline is established an unrealistic deadline is established • • changing customer requirements changing customer requirements • • an honest underestimate of effortan honest underestimate of effort• • predictable and/or unpredictable riskspredictable and/or unpredictable risks

• • technical difficultiestechnical difficulties• • miscommunication among project staffmiscommunication among project staff

• • failure in project managementfailure in project management

14

Software Software TeamsTeams

difficulty of the problem to be solveddifficulty of the problem to be solved size of resultant program(s) in LOC or FPsize of resultant program(s) in LOC or FP time the team will stay together (team lifetime)time the team will stay together (team lifetime) degree to which the problem can be modularizeddegree to which the problem can be modularized required quality and reliability of the system to be required quality and reliability of the system to be

builtbuilt rigidity of the delivery daterigidity of the delivery date degree of communication required for the projectdegree of communication required for the project

The following factors must be considered when selecting asoftware project team structure ...

15

closed paradigm—structures a team along closed paradigm—structures a team along traditional hierarchy of authority traditional hierarchy of authority

random paradigm—structures a team loosely and random paradigm—structures a team loosely and depends on individual initiative of the team depends on individual initiative of the team members members

open paradigm—attempts to structure a team in a open paradigm—attempts to structure a team in a manner that achieves some of the controls manner that achieves some of the controls associated with the closed paradigm but also much associated with the closed paradigm but also much of the innovation that occurs when using the of the innovation that occurs when using the random paradigmrandom paradigm

synchronous paradigm—relies on the natural synchronous paradigm—relies on the natural compartment-alization of a problem and organizes compartment-alization of a problem and organizes team members to work on pieces of the problem team members to work on pieces of the problem with little active communication among themselveswith little active communication among themselves

Organizational Organizational ParadigmsParadigms

suggested by Constantine [CON93]

16

Software Software TeamTeam

ParadigmsControlled (the traditional approach)Centralized (vertical only)Decentralized (horizontal too)DemographicPairs

17

Democratic Software Democratic Software TeamTeam

10 (or so) egoless programmersNo single leaderNo programmer trying to get promoted

to the next levelRoles are dynamics and not well-definedQuality Circles

18

Democratic Software Democratic Software TeamTeam

Egoless programmingEvery programmer must encourage the

other members of the team to find faultsThe presence of faults must not be

considered something bad, but rather a normal and accepted event

The reviewer is asked for advice

19

Democratic Software Democratic Software TeamTeam

Leverages the diversity of the group Two heads really are better than one Facilitates reviews and walkthroughs, which

are proven to improve fault detection The ultimate goal is to reduce fear in the

workplace. Primary means is by sharing responsibility

20

Fallacy of Fallacy of EgolessnessEgolessness

Everybody has egos Leaders "need" to lead Capitalism is founded on competition Difficult to attain group decisions that truly

represent the entire group Large number of personal interconnections

required Group dynamics suggests that structure will occur

21

Pair Pair ProgrammingProgramming

Match up two people One to define requirements, another

to document requirements.Allows interaction between two

people to drive out requirements.Can have two people programming,

one thinking and one keying.

22

Defining the Defining the ProblemProblem

establish scope—a narrative that establish scope—a narrative that bounds the problembounds the problem

decomposition—establishes decomposition—establishes functional partitioningfunctional partitioning

23

Melding Problem and Melding Problem and ProcessProcess

.

Software Engineering Tasks

Product Functions

Text input

Editing and formating

Automatic copy edit

Page layout capability

Automatic indexing and TOC

File management

Document production

COMMON PROCESSFRAMEWORK ACTIVITIES

24

To Get to the Essence of a To Get to the Essence of a ProjectProject

Why is the system being developed?Why is the system being developed? What will be done? By when?What will be done? By when? Who is responsible for a function?Who is responsible for a function? Where are they organizationally Where are they organizationally

located?located? How will the job be done technically and How will the job be done technically and

managerially?managerially? How much of each resource (e.g., How much of each resource (e.g.,

people, software, tools, database) will people, software, tools, database) will be needed?be needed?

Barry Boehm

25

Critical Critical PracticesPractices

Formal risk analysisFormal risk analysis Empirical cost and schedule estimationEmpirical cost and schedule estimation Metrics-based project managementMetrics-based project management Earned value trackingEarned value tracking Defect tracking against quality targetsDefect tracking against quality targets People aware project managementPeople aware project management

26

Management Management activitiesactivities

Proposal writingProposal writing Project planning and schedulingProject planning and scheduling Project costingProject costing Project monitoring and reviewsProject monitoring and reviews Personnel selection and evaluationPersonnel selection and evaluation Report writing and presentationsReport writing and presentations

27

Project Project staffingstaffing

May not be possible to appoint ideal teamMay not be possible to appoint ideal team Budget may not allow use of high-paid Budget may not allow use of high-paid

staffstaffStaff with the appropriate experience may not Staff with the appropriate experience may not

be availablebe availableAn organisation may wish to develop employee An organisation may wish to develop employee

skills on a software projectskills on a software project

Managers work within these constraints Managers work within these constraints especially with the international shortage especially with the international shortage of skilled IT staffof skilled IT staff

28

Project Project planningplanning

Probably the most time-consuming Probably the most time-consuming project management activityproject management activity

Continuous activity from initial Continuous activity from initial concept through concept through to system delivery. Plans must be to system delivery. Plans must be regularly revised as new information regularly revised as new information becomes availablebecomes available

Various different types of plan may Various different types of plan may be developed to support the main be developed to support the main software project plan that is software project plan that is concerned with schedule and budget concerned with schedule and budget

29

Activity Activity organizationorganization

Activities in a project should be Activities in a project should be organised to produce tangible organised to produce tangible outputs for management to judge outputs for management to judge progressprogress

MilestonesMilestones are the end-point of a are the end-point of a process activityprocess activity

DeliverablesDeliverables are project results are project results delivered to customersdelivered to customers

The waterfall process allows for the The waterfall process allows for the straightforward definition of straightforward definition of progress milestonesprogress milestones

30

Project Project schedulingscheduling

Split project into tasks and estimate Split project into tasks and estimate time and resources required to time and resources required to complete taskcomplete task

Organize tasks concurrently to make Organize tasks concurrently to make optimal use of workforceoptimal use of workforce

Minimize task dependencies to avoid Minimize task dependencies to avoid delays delays caused by one task waiting for caused by one task waiting for another to completeanother to complete

Dependent on project managers Dependent on project managers intuition and experienceintuition and experience

31

Scheduling Scheduling problemsproblems

Estimating the difficulty of problems Estimating the difficulty of problems and hence the cost of developing a and hence the cost of developing a solution is hardsolution is hard

Productivity is not proportional to the Productivity is not proportional to the number of people working on a tasknumber of people working on a task

Adding people to a late project makes Adding people to a late project makes it later because of communication it later because of communication overheadsoverheads

The unexpected always happens. The unexpected always happens. Always allow contingency in planningAlways allow contingency in planning

32

Bar charts and activity Bar charts and activity networksnetworks

Graphical notations used to Graphical notations used to illustrate the project scheduleillustrate the project schedule

Show project breakdown into tasks. Show project breakdown into tasks. Tasks should not be too small. They Tasks should not be too small. They should take about a week or twoshould take about a week or two

Activity charts show task Activity charts show task dependencies and the the critical dependencies and the the critical pathpath

Bar charts show schedule against Bar charts show schedule against calendar timecalendar time

33

Pert Pert ChartsCharts

Program Evaluation Review Techniques US Navy, 1957 Systematic method of estimating project length Based on a systematic serialization algorithm

based on: Dependencies Resource availability

Adds administrative oversight to critical paths Critical path: Sequence of tasks such that if any task on the CP is

delayed, so is the whole project 22

34

Activity network - PERTActivity network - PERT

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

35

Activity timeline - Activity timeline - GanttGantt4/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

M5T8

M3

M2T6

T5M4

T9

M7T10

M6

T11M8

T12

Start

Finish