24
Eric Wu Co-founder, Bracket Labs @ewu Agile Software Product Development MBAX 6360 - 4 NOVEMBER 2014

Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

  • Upload
    eric-wu

  • View
    136

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Eric Wu Co-founder, Bracket Labs @ewu

Agile Software Product Development

MBAX 6360 - 4 NOVEMBER 2014

Page 2: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

2

• Co-founder of software startup focused on productivity software • Project management • Marketing management • Sales activity management

• 18 years of product experience, 10 with software • Automotive, telecom, hard drives, software • Engineering, product management,

executive

Who is this guy?

Page 3: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

3

Product Scorecard• Worked on 11 new products • 9 successful • 1 killed before launch • 1 big failure

• 6 of those products were software (including the failure)

Page 4: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Agile Software Development

Page 5: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Why is this relevant?

Page 6: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

6

-MARC ANDREESSEN, 2011Software is eating the world

Page 7: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

The lessons of Agile are increasingly factoring into business leadership

Page 8: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Software is different• Writing the code = building the production

version • Your engineers and designers are working

on factory floor / Your production workers are responsible for creative process

• Constant learning and refinement as they go

• Quality is directly related to developer ability to creatively problem solve • Complex bugs can be incredibly difficult to

fix

Page 9: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Waterfall

Page 10: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Waterfall problems• Crystal ball business requirements • Analysis and design when we know the least • Big learning is when we code and test • Incorporating big learning into is expensive • Incorporating changed requirements is

expensive

Page 11: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

How bad was it?• Data published in 2002: • Software projects needing

complete restart: 94% • Average change in project

requirements: 25% • Average cost overrun: 189%

• Launch delays are the norm • Highly unpredictable = high

business risk

Page 12: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

The death spiral

Forced Marches

Decreased Creativity

Decreased Quality

Missed Schedules

Missed Schedules

Page 13: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Something needs to change• Starting in 90’s

experiments with “lightweight” processes • Scrum • Extreme

Programming • Early 2001 17

developers got together and compared notes

Page 14: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

14

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

The Agile Manifesto

Page 15: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

What’s it mean?• Self-organizing teams • Trusted and accountable

• Regular, frequent conversations and cooperation between business stakeholders and the team building. • Lean on those conversations instead of

documentation • Working software produced regularly • Iterate, iterate, iterate • Value calm, regular, sustainable, predictable

pace of product development

Page 16: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Criticism• De-centralized control • Minimal documentation • Too loose • Requires significant behavioral changes • Collaboration • Visibility • Adaptation to feedback and performance

• Breaks down with teams >~10

Page 17: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

agile vs. Agile• Eco-system of experts • Trainers • Consultants • Products

• Formalized processes • Rigid • Dogmatic • Lots of overhead

• Losing the forest

Page 18: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Sample Agile Process

Page 19: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

1. Sprints

1 week “sprints” that have regular heartbeat

Page 20: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

2. Sprint BreakdownEach sprint begins/ends with same set of meetings • Demo - Everyone in company invited to see what

was built in previous week • Retrospective - Team reviews previous week,

answers “what do we want to do more of? What do we want to do less of?”

• Planning - Product owner brings prioritized list of new things to build. Dev team estimates the size of each feature, commits to delivering it in next sprint until their plate is full.

Page 21: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

3. Stand-ups

Daily “standup” meetings

• What did you do yesterday?

• What are you going to do today?

• Do you have any roadblocks?

Page 22: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Agile is evolving

10 YEARS AGO: “The shorter iteration the better, you could get crazy and go as short as 2 weeks!”

TODAY: 1 week sprints common

TODAY: Increasing # of teams continuously deploying • Netflix, Etsy pushing 30+ updates a day • Very possible with right infrastructure investment,

corporate values

Page 23: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Agile is evolving

10 YEARS AGO: “Fine for software but my business / product is different”

TODAY: Agile philosophy applied to Sales & Marketing, HR, Management

Page 24: Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product Development - University of Colorado

Eric Wu [email protected]

@ewu

24