software project · pdf file comic strip. intro to development 5 the aspects of project...

Click here to load reader

Post on 15-Aug-2020

1 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Intro to Development 1

    Software Development and 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

    http://creativecommons.org/licenses/by-nc-sa/3.0/ http://creativecommons.org/licenses/by-nc-sa/3.0/

  • 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 analysis 4. hardware and software resource requirements

    5. work breakdown and estimates 6. 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? or How can you work on two things at the same time?

    Answer: you can’t

  • Intro to Development 17

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

    1. Feature 2. Task 3. Priority 4. Original Estimate (in hours) 5. Current Estimate (in hours) 6. Elapsed Time (in hours) 7. Remaining time 8. (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 day 1. 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 levels 1. fatal 2. severe 3. serious 4. annoying 5. 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

View more