38
Eric Light @RhyvenNZ [email protected]

How to suck at developing a web app, when you’re not a web shop

  • Upload
    dn

  • View
    106

  • Download
    2

Embed Size (px)

DESCRIPTION

How to suck at developing a web app, when you’re not a web shop. (Subtitled “Friends, contracts, and missed deadlines.”). Eric Light is managing director of Gravity Computing, a software development firm in Hamilton, who specialise in bringing efficiency to business processes with clever software design. He is an active member of the Waikato Chamber of Commerce, a member of the NZ Open Source Society, Associate Member of the New Zealand Computer Society, and is also Chairman of the branch committee of the Waikato branch of the NZCS.An overview of some of our most blatant failings when we attempted to develop a cloud-app through an external contractor, coming from a suitably-embarrassed business owner and ex law student.

Citation preview

Page 1: How to suck at developing a web app, when you’re not a web shop

Eric Light@[email protected]

Page 2: How to suck at developing a web app, when you’re not a web shop

Audience Check

Developers? (Duh...)

Entrepreneurs?

Project Managers?

Page 3: How to suck at developing a web app, when you’re not a web shop

Audience Check

Developers? (Duh...)

Entrepreneurs?

Project Managers?

Page 4: How to suck at developing a web app, when you’re not a web shop

How to suck at developing a web app, when you’re

not a web shop.

On contracts, missed deadlines, and working with friends

Eric Light@[email protected]

Page 5: How to suck at developing a web app, when you’re not a web shop

How to suck

On contracts, missed deadlines, and working with friends

Eric Light@[email protected]

Page 6: How to suck at developing a web app, when you’re not a web shop

A bit about Eric

Page 7: How to suck at developing a web app, when you’re not a web shop

(Apple ][e) BASIC

Page 8: How to suck at developing a web app, when you’re not a web shop

A bit about Gravity

Small team (techs == Jordan & Eric)

Software development (still mostly in BASIC

omg)

IT Support, Server installs, etc.

...

Web Development conspicuously absent

Page 9: How to suck at developing a web app, when you’re not a web shop

The Root of the Problem

Typical ‘technician-founded’ company› No systems.

NoneSeriously, folks!

Eric was every role› Sales, Marketing, HR, Accounts, ZOMFG,

FML

Page 10: How to suck at developing a web app, when you’re not a web shop

The Inspiration

“I need you to call Geoffrey, and find out what he means by Ђξμδ.”

Page 11: How to suck at developing a web app, when you’re not a web shop

Need a tracking system

Page 12: How to suck at developing a web app, when you’re not a web shop

Brilliance!

Wait a minute... we’re developers!

Page 13: How to suck at developing a web app, when you’re not a web shop

“Let’s build our own!”

<trumpets>

Page 14: How to suck at developing a web app, when you’re not a web shop
Page 15: How to suck at developing a web app, when you’re not a web shop

The Plan

Develop a web app for job tracking

We were the target market

Must be simple, fast, cheap

Page 16: How to suck at developing a web app, when you’re not a web shop

Implementation

Brought it to a web dev

Quoted 100hrs max(accepted reluctantly)

2 deadlines:› Prototype – 6 wks› To Market – 12 wks

Page 17: How to suck at developing a web app, when you’re not a web shop

“Begin!”

<more trumpets>

Page 18: How to suck at developing a web app, when you’re not a web shop

All was hopeful...

The month passed...

Page 19: How to suck at developing a web app, when you’re not a web shop

Welcome to Hell

Page 20: How to suck at developing a web app, when you’re not a web shop

“Each time I re-readthe scope I noticesomething new..”

“I’ve hit a bitof a snag..”

“I can’t figure out how to do this bit here...”

*crickets*

...Half way to deadline

...1 day before due

...3 days overdue

...2 weeks overdue

Page 21: How to suck at developing a web app, when you’re not a web shop
Page 22: How to suck at developing a web app, when you’re not a web shop

The Meeting

Me, the dev, plus 2 business partners

Another month, guaranteed

def quit_date:return mid-feb

My blunder:“We’ll make these bits part of the final”

Page 23: How to suck at developing a web app, when you’re not a web shop

Quick Recap

Now well overdue

Still on prototype

100 hours, max

33% due on delivery

Page 24: How to suck at developing a web app, when you’re not a web shop

D-day

Not really finished

He said it was(remember: “prototype”)

Payments / Billing -> final stage

Demanded $$ for delivered prototype

Page 25: How to suck at developing a web app, when you’re not a web shop

déjà vu!

Page 26: How to suck at developing a web app, when you’re not a web shop

My expenses:About $6000+GST

His effective rate:

$10 per hour

Page 27: How to suck at developing a web app, when you’re not a web shop

What did we do right?

Understood the problem clearly

Kept a lid on scope creep

Knew the target market

Calculated commercial viability

Defined a quit date (finally!)

Page 28: How to suck at developing a web app, when you’re not a web shop

Where we went wrong

Failure to plan for failure› No milestones› No fallbacks› For either party

No prototyping

Working with a friend, sans contract

Page 29: How to suck at developing a web app, when you’re not a web shop

LoremIpsum

Page 30: How to suck at developing a web app, when you’re not a web shop

The Road Ahead

Page 31: How to suck at developing a web app, when you’re not a web shop

Early Warning Signs

Your wife says it’s not going to work

You haven’t done a paper prototype

You don’t have a dated chart for functionality delivery dates

Professionalism slips

*crickets*

Page 32: How to suck at developing a web app, when you’re not a web shop

A haiku

On a pre-planned date /if milestones aren’t yet met /inspect the darn code!

Page 33: How to suck at developing a web app, when you’re not a web shop

So remember...

Plan for failure – have a graceful exit!

Set clear milestones, with CRUD.› This lets you track progress very finely!

Your dev’s estimates are wrong.› So are yours.

Hofstadter’s Law

Page 34: How to suck at developing a web app, when you’re not a web shop

Communicate›CommunicateCommunicate!

Say: If I don’t enforce a term, it doesn’t change the contract, and I can still enforce it any time in the future.

Page 35: How to suck at developing a web app, when you’re not a web shop

Resources

These slides are at pycon.ericlight.com› Contractor template – email me

GettingITRight.co.nz

Business Technology Resource Centre› “Avoiding Project Failure”, 2003

CIO Magazine› “Lessons in Defeat”, 2011

Page 36: How to suck at developing a web app, when you’re not a web shop

Thanks

David Richardson› Additional critical brain

Jordan Schwab › learning SilverStripe to resurrect the

project Stock.XCHNG (www.sxc.hu)

› Imagery Grant Paton-Simpson & Roger Smith

› Letting me present to them

Page 37: How to suck at developing a web app, when you’re not a web shop

“I love deadlines. I like the whooshing sound they make

as they fly by.”

Actual quote from my developer... As well as Douglas Adams

Page 38: How to suck at developing a web app, when you’re not a web shop

Question Time!