why projects fail - building better software€¦ · classic management mistakes that can damage...

23
Why Projects Fail and what you can do about it A presentation by Jenny and Andrew for NYC CitySPIN / PMINYC October 9, 2007 Photo by Dan Taylor (CC license)

Upload: others

Post on 19-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Why Projects Failand what you can do about it

A presentation by Jenny and Andrewfor NYC CitySPIN / PMINYC

October 9, 2007

Pho

to b

y D

an T

aylo

r (C

C li

cens

e)

Page 2: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Textbook on software projectmanagement

Used as a textbook inuniversity graduate softwareengineering courses

Focuses on practices aimed atsolving specific projectproblems

(like the ones we’ll talk abouttonight)

Published in 2005 (322 pages)

Applied Software Project Management

Page 3: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Head First PMPSecond-best selling PMP

preparation guide, after only sixmonths on the market

Thousands of copies sold in thelast quarter alone

Rave reviews from members ofthe PMBOK® Guide leadershipteam (“by far the best PMPexam preparation book I havereviewed” - Dennis Bolles, PMP)

Uses a unique style with humor,graphics and an emphasis oncognitive learning principles tohelp people understand theconcepts without rotememorization

Published in 2007 (692 pages)

Page 4: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Coming Soon - Head First C#A brain-friendly guide to

learning the C#programming language

Aimed at novices andintermediate programmersunfamiliar with C#

Manuscript will be completeand tech reviewed within thenext three weeks

Which is why we’ve been soslow to answer e-mail lately

To be published late 2007(650 pages)

Page 5: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Who we are…

Jenny and Andrew truly believe that with better development practicesand good project management habits, we can all build better software.

Jennifer has managedlarge software teamsdistributed overmultiple continentsfor billion-dollarcompanies

She is a PMP-certifiedproject manager witha strong backgroundin qualitymanagement andsoftware testing

Andrew is anindependent consultanthired by softwareengineering contractingcompanies to managelarge-scale, globallydistributed softwaredevelopment teams

He is a graduate of theSchool of ComputerScience at CarnegieMellon University and isa PMP-certified projectmanager

Andrew and Jenny each have over15 years of experience in softwareengineering, and have been workingtogether since 1998

Page 6: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

WARNING: This is NOT anacademic presentation

The topics we are about to cover maybe deadly serious, but we won’t be

If you want academic slides, we’ve got ‘em:http://www.stellman-greene.com/slides

Page 7: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Not all failures are this easy to spot…

…but someprojects do failspectacularly.

The TacomaNarrows Bridgeproject failedbefore the firstyard of concretewas poured. There was nothing wrong with the construction.

Poor design and badly planned cost cutting in

materials led to an unfortunate end.

Page 8: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

“This time it’s different…”There’s an old saying about how there are a millionways to fail, but only one way to be right. When itcomes to projects, nothing’s further from the truth.Projects fail the same few ways over and over again.

Don’t go in the basement!Software projects are a lot like cheesy horror movies.After you’ve seen a few of them, you know that the first guyto leave the group is going to get an axe in his head. Projectsare the same way. People keep making the same mistakesover and over, and it keeps getting their projects killed.

Page 9: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

You know you’re on a failed project when…A judge in 1964 said, “I don’t know how to definepornography, but I know it when I see it.” And thesame goes for failing projects - we all know whenwe’re on one that’s sinking.

What does a failing project look like?You know your project failed if it got aborted and everyonewas laid off. But there are other, less obvious kinds of failure:The project costs a lot more than it should.It takes a lot longer than anyone expected.The product doesn’t do what it was supposed to.Nobody is happy about it.

Page 10: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Sometimes failure seems normalNobody sets out to fail, but for some reason peoplejust accept that a lot of software projects won’t deliveron time, under budget with the expected scope intact.But talking about what causes failure makes peopleuncomfortable, because nobody wants to give ortake that kind of criticism.

A show of hands, please…We’ve never met a single professional softwareengineer with more than a few years of experiencewho hasn’t been on at least one failed project.Are there any here?

Page 11: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Four basic ways projects can failThere are plenty of ways that you can categorizefailed projects. We like to think of them like this:

Things the software does (or doesn’t do)How your project doesn’t quite meet the needs of thepeople you built it for

Things the team should’ve doneOnce in a while, it really is the team’s fault

Things that could have been caught…but weren’t until it was way too late.

Things the boss doesClassic management mistakes that can damage the project

Page 12: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Things the software does (or doesn’t do)It seems pretty obvious that youshould know what the software’ssupposed to do before you startbuilding it... not that that stopsus.

We only find seriousproblems after we’ve builtthem into the software

We have big, uselessmeetings that fail to figureout what the software’ssupposed to do

Scope creep90% done, with 90% left

to go.

Page 13: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Up close: Use cases can help you avoid requirements problems

Learn more about use cases here: http://www.stellman-greene.com/usecase

Use cases are a deceptively simple way to document every plannedinteraction between the users (and other actors) and the software.

Page 14: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

The team could have done thework more efficiently, if only we’dtaken the time to think it through.

Padded estimates compensatefor unknowns.

Project teams will just pick adeadline and stick to it, nomatter what basic reason andcommon sense tell them.

Somehow non-programmingtasks always seem to get cutwhen the deadline gets closer.

Misunderstood predecessorslead to cascading delays.

Things the team should’ve done

Page 15: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Up close: Wideband Delphi keeps estimates honest

We cover Wideband Delphi in detail in the Estimation chapter ofApplied Software Project Management - download the PDF here:

http://www.stellman-greene.com/chapter3

Wideband Delphi is a repeatable estimation process that guidesyour experts and team members so their estimates converge accurately.

Page 16: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Which would you choose: a well-built program that doesn’t do whatyou need or a crappy one that’sirritating to use and does?

Getting a few tech supportpeople to “bang on thesoftware” is not testing.

Maybe we could’ve caughtthat design problem before thecode was built.

Maybe we could’ve caughtthat code problem before wewent to test.

“Beta” does not mean “use atyour own risk.”

Things that could have been caught

Page 17: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Up close: Don’t overlook your acceptance criteria!It’s short-circuited far too often in favor of user acceptance testing,but, acceptance testing is about more than just user acceptance.

Page 18: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Things the boss doesSome problems start withsenior managers, others startwith us PMs. But they canall sink the project.

Unmanaged changesMicromanagementOver-reliance on gut

instinctsTunnel visionAn artificial “wall” that

the business puts up todisconnect from theengineering team

Page 19: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Up close: A Vision & Scope Document keepseveryone on the same pageThe Vision and Scope document is where you define who needs theproduct, what they need it for, and how it will fulfill those needs.

Page 20: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

What you can do about it

Some easy ways to make sure your project doesn’t fail:Tell the truth all the timeTrust your teamReview everything, test everythingCheck your ego at the doorThe fastest way through the project is the right

way through the project

Page 21: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

Repeat after us: “Practices, practices, practices.”The solutions we talked about are onlya few small steps towards a bettersoftware process.

Process improvement starts withsetting concrete goals andmaking incrementalimprovements.

They’re good solutions tospecific problems, but theymight not solve your problems.

There are lots more solutionswhere those came from. And theones we chose were the ones thatwe could explain quickly.

Make sure the solutions youchoose address the problems thathurt the most.

Page 22: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

The talent is there… the project management’s not.

Hoover Dam was finished twoyears early, and under budget.Software’s not so different thatwe can’t engineer it just as well.

Our problems have, forthe most part, been solved.

Over and over and overagain. Seriously.

We just have to stopignoring the solutions.

Do you think your project will take

more effort than this one?

Page 23: Why Projects Fail - Building Better Software€¦ · Classic management mistakes that can damage the project. Things the software does ... people to “bang on the software” is

One last quick note from the O’Reilly marketing department

Buy thesebooks

And check out our blog, “Building Better Software”http://www.stellman-greene.com/

We’ll post these slides in the next few days.