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

34
Intro to Development 1 Software Development and Professional Practice Project Management Essentials

Upload: others

Post on 15-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 1

Software Developmentand Professional Practice

Project Management Essentials

Page 2: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 3: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 4: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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.

Page 5: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 6: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 6

Project Planning

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

Page 7: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 8: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 8

The problem with project plans...

Page 9: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 9

Risk management

• What is the worst that could happen?

Page 10: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 10

Resource management

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

Page 11: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 11

Estimation and Scheduling

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

Page 12: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development

Size?

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

12

Page 13: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 14: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development

How to estimate?

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

recommended)

14

Page 15: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 15

Estimation and Scheduling

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

Page 16: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 17: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 18: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 19: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 20: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 20

Oversight• oversight involves

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

Page 21: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 22: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 22

Oversight

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

Page 23: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 23

Oversight

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

doomed

Page 24: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 24

Managing People

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

Page 25: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 26: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 27: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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

Page 28: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 28

Reviews and Presentations

• just providing good news is bad for your credibility

Page 29: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 29

Reviews and Presentations

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

Page 30: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 30

Defect Management

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

Page 31: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 31

Quality and Defects

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

Page 32: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 32

Testing

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

Page 33: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

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?

Page 34: Software Project Managementfaculty.knox.edu/jdooley/SDWebPage/SlidesInPDF/L3.0Proj_Mgmt.pdf · comic strip. Intro to Development 5 The aspects of Project Management • Project Planning

Intro to Development 34

References

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