software project managementfaculty.knox.edu/jdooley/sdwebpage/slidesinpdf/l3.0proj_mgmt.pdf ·...

Post on 15-Aug-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Intro to Development 1

Software Developmentand Professional Practice

Project Management Essentials

Intro to Development 2

Unless otherwise expressly stated, all original material of whatever nature created by John F. Dooley and included in this web site and any related pages, including the site's archives, is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

And, of course, all the Dilbert cartoons are copyright Scott Adams

Intro to Development

Project Management?

• Two main types of process methodologies:– plan-driven– agile

• regardless of which type your project uses, one still needs to manage the project.

• project management steps tend to be the same– but the details are way different.

3

Intro to Development 4

Dilbert™ as an Expert in Project management

Oddly enough, there is a lot of good project management information in the Dilbert comic strip.

Intro to Development 5

The aspects of Project Management

• Project Planning• Estimation and Scheduling• Resource management• Project oversight• Project reviews and presentations• The post-mortem

Intro to Development 6

Project Planning

• Project planning is forever• Start by asking - what are the constraints?

Intro to Development 7

the project plan• What’s in the Project Plan?

1. Introduction

2. Project organization

3. Risk analysis4. hardware and software resource requirements

5. work breakdown and estimates6. project schedule

7. monitoring and reporting mechanisms

• not all these are necessary for all projects or project methodologies

Intro to Development 8

The problem with project plans...

Intro to Development 9

Risk management

• What is the worst that could happen?

Intro to Development 10

Resource management

• resources include– people– equipment & software– space, tools, support staffing, etc.

Intro to Development 11

Estimation and Scheduling

• size first,• then effort and cost estimates,• then schedule

Intro to Development

Size?

• You can measure– functional modules– number of classes– number of methods– number of function points– uncommented lines of code

12

Intro to Development

Effort?

• Effort is how long it takes to do a task– it’s not a schedule– it’s an estimate of the number of hours it will take

to finish the task– this is why your tasks need to be small

13

Intro to Development

How to estimate?

• The Oracle method• The historical/evidence-based method• pull it out of you know where (not

recommended)

14

Intro to Development 15

Estimation and Scheduling

• have the right people do the estimation• managers should never do development

Intro to Development 16

Estimation and Scheduling

How can you be in two places at once?orHow can you work on two things at the same time?

Answer: you can’t

Intro to Development 17

Spolsky’s Painless Schedule1. Use Excel (I disagree somewhat)2. Keep it simple - 7 columns

1. Feature2. Task3. Priority4. Original Estimate (in hours)5. Current Estimate (in hours)6. Elapsed Time (in hours)7. Remaining time8. (optional) developer assigned

Intro to Development

Dooley’s addition to Spolsky’s list

• Add velocity as a 9th column• velocity = (estimated effort) / (actual effort)• Ideally velocity == 1• It gives you an idea how you’re doing with your

estimates.• and then you get better...

18

Intro to Development 19

Less pain - project monitoring day by day...1. Each feature is made up of several tasks

2. only the assigned developer should do the schedule

3. pick very fine grained tasks (1 - 16 hours max)

4. keep track of the original and current estimates (in fact, lock down the original)

5. Update the elapsed column every day1. share the file among all the developers

6. put in line items for holidays, vacations, etc.

7. add debugging tasks for each feature

8. include integration tasks for each feature

9. add slop for each feature

10. don’t let managers reduce the estimates.

11. (dooley) put milestones in the schedule so everyone can sync up periodically.

12. (dooley) every milestone should have a deliverable

Intro to Development 20

Oversight• oversight involves

– managing the schedule– managing the process– managing the people– managing your manager

Intro to Development 21

Oversight

• a manager’s technique is critical to keeping a project on schedule

• fear is not a motivational technique• applying pressure by appealing to

professional pride is

Intro to Development 22

Oversight

• if your boss doesn’t support you– you’re doomed

Intro to Development 23

Oversight

• reporting status doesn’t fix problems• without creative management, you’re

doomed

Intro to Development 24

Managing People

• if your people aren’t happy, you’re doomed• treat them as humans, not “resources”

Intro to Development 25

managing people

• supporting your team and keeping them insulated from other distractions is job #1

• remember, projects are cooperative, social events

Intro to Development 26

Reviews and Presentations• project (status) reviews

– just tell ‘em where you are & where you’re going– don’t embellish– don’t make excuses

Intro to Development 27

Reviews and Presentations

• know your audience• set your presentation at that level• and keep the purpose in front of you at all

times

Intro to Development 28

Reviews and Presentations

• just providing good news is bad for your credibility

Intro to Development 29

Reviews and Presentations

• you must communicate bad news a.s.a.p.

Intro to Development 30

Defect Management

• Defect levels1. fatal2. severe3. serious4. annoying5. new feature request

Intro to Development 31

Quality and Defects

• you can’t release with severity 1 or 2 defects

Intro to Development 32

Testing

• testing is the last thing that gets done and the first thing that a bad manager will cut.

Intro to Development 33

The Post-Mortem

• Oddly enough, I couldn’t find any Dilbert cartoons on post-mortems so here are my ideas:– what went right?– what went wrong?– what process issues came up?– what do we need to fix for next time?– how do we fix them?– who’s responsible for the fixes?

Intro to Development 34

References

• Spolsky, chapter 9• Sommerville, chapter 4• dooley chapter 3

top related