32
Predictability in an Iterative World Farhan Thawar, VP Engineering, Pivotal Labs

Pivotal agile development_the_software-defined_enterprise

Embed Size (px)

Citation preview

Page 1: Pivotal agile development_the_software-defined_enterprise

1 © Copyright 2014 EMC Corporation. All rights reserved.

Predictability in an Iterative World Farhan Thawar, VP Engineering, Pivotal Labs

Page 2: Pivotal agile development_the_software-defined_enterprise

2 © Copyright 2014 EMC Corporation. All rights reserved.

Pivotal Labs

Mission is to transform the way the world builds software

Disciplined form of Agile since late‘90s (iterations, pairing, TDD)

Honed processes over ~15 years and ~500 client projects

Now a key component of Pivotal

Page 3: Pivotal agile development_the_software-defined_enterprise

3 © Copyright 2014 EMC Corporation. All rights reserved.

Overview

Page 4: Pivotal agile development_the_software-defined_enterprise

4 © Copyright 2014 EMC Corporation. All rights reserved.

Clients

Page 5: Pivotal agile development_the_software-defined_enterprise

5 © Copyright 2014 EMC Corporation. All rights reserved.

What Matters: Apps. Data. Analytics.

Apps power business, and those apps generate data Analytic insights from that data drive new app functionality, which in-turn drives new data The faster you can move around the cycle, the faster you learn, innovate and pull away from the competition

Page 6: Pivotal agile development_the_software-defined_enterprise

6 © Copyright 2014 EMC Corporation. All rights reserved.

But, What is Agile?

Like going to the optometrist

At the end of the engagement, both you and your optometrist know your prescription

Page 7: Pivotal agile development_the_software-defined_enterprise

7 © Copyright 2014 EMC Corporation. All rights reserved.

What About in Software

We believe that software should be built: – in short iterative feedback loops – as a team sport

You have the right to get smarter over time – Product definition is always in flux

Expectations for development teams are at all-time high (not just in speed)

Page 8: Pivotal agile development_the_software-defined_enterprise

8 © Copyright 2014 EMC Corporation. All rights reserved.

What Does Business Really Want?

Consistent rate of output

No surprises

Prefers “fast and predictable” over “sometimes super-fast, sometimes mysteriously slow”

...all in the face of constantly changing product definition

Every product owner wants predictability:

Page 9: Pivotal agile development_the_software-defined_enterprise

9 © Copyright 2014 EMC Corporation. All rights reserved.

PRO

DU

CTI

VIT

Y

PREDICTABILITY

Unpredictable

Predictable

Predictable: Constant Productivity

Page 10: Pivotal agile development_the_software-defined_enterprise

10 © Copyright 2014 EMC Corporation. All rights reserved.

“GOOD”

Think of a “good” software team as one that can continuously build whatever it’s asked, over an indefinite time period

That’s very hard :)

Page 11: Pivotal agile development_the_software-defined_enterprise

11 © Copyright 2014 EMC Corporation. All rights reserved.

Here’s What a Typical Day Looks Like

8:45am Breakfast

9:05 standup

9:10 team standups

9:15 Pairing

12:30ish Lunch

1:30ish pairing

6:00pm go home

Page 12: Pivotal agile development_the_software-defined_enterprise

12 © Copyright 2014 EMC Corporation. All rights reserved.

How Do We Do That?

Core hours (9-6pm)

No WFH

No Flextime

Short iterations

Shocking, I know

Page 13: Pivotal agile development_the_software-defined_enterprise

13 © Copyright 2014 EMC Corporation. All rights reserved.

Breakfast

Page 14: Pivotal agile development_the_software-defined_enterprise

14 © Copyright 2014 EMC Corporation. All rights reserved.

Standup

Page 15: Pivotal agile development_the_software-defined_enterprise

15 © Copyright 2014 EMC Corporation. All rights reserved.

Page 16: Pivotal agile development_the_software-defined_enterprise

16 © Copyright 2014 EMC Corporation. All rights reserved.

Page 17: Pivotal agile development_the_software-defined_enterprise

17 © Copyright 2014 EMC Corporation. All rights reserved.

How/Why Does Pairing Work?

How? – Two keyboards, two mice, two monitors, two engineers

+ 1 keyboard – Like two pilots in an airplane cockpit – Exhausting for the first 3 weeks you try it

Why? – Pair pressure – Removes obstacles – Limits distraction

Page 18: Pivotal agile development_the_software-defined_enterprise

18 © Copyright 2014 EMC Corporation. All rights reserved.

Testing

DEVELOPMENT START

PROJECT MANAGEMENT FOR QA PLANNING

QA INTEGRATED CYCLES

FEW WEEKS BEFORE PROJECT ENDS

BUILD

FIX QA

RC

Page 19: Pivotal agile development_the_software-defined_enterprise

19 © Copyright 2014 EMC Corporation. All rights reserved.

PLATFORM COVERAGE

Page 20: Pivotal agile development_the_software-defined_enterprise

20 © Copyright 2014 EMC Corporation. All rights reserved.

Test-driven Development

Tests are written first(!) Write code until the tests pas You’re done, go write a new failing test Best sleep you’ll ever have as a software engineer Why does this work? Is it really faster?

Page 21: Pivotal agile development_the_software-defined_enterprise

21 © Copyright 2014 EMC Corporation. All rights reserved.

Continuous Integration

Page 22: Pivotal agile development_the_software-defined_enterprise

22 © Copyright 2014 EMC Corporation. All rights reserved.

Continuous Integration

Visible build monitor

Instant regression

Fixing the build is the #1 priority

Integrate early and often

Product can test anytime and create milestones markers without worry

Page 23: Pivotal agile development_the_software-defined_enterprise

23 © Copyright 2014 EMC Corporation. All rights reserved.

Product Management

Helps with the process

Writes stories for the engineers

Often a domain or subject matter expert

Page 24: Pivotal agile development_the_software-defined_enterprise

24 © Copyright 2014 EMC Corporation. All rights reserved.

Design

Rigorous Methodology:

Inception

Discovery

Framing

Visual & Interaction Design

Integrated Product Development

Page 25: Pivotal agile development_the_software-defined_enterprise

25 © Copyright 2014 EMC Corporation. All rights reserved.

Page 26: Pivotal agile development_the_software-defined_enterprise

26 © Copyright 2014 EMC Corporation. All rights reserved.

Pivotal Tracker

Forces 1..N ranking (have to work in this order)

Transparent, two-way dashboard

Story acceptance

Page 27: Pivotal agile development_the_software-defined_enterprise

27 © Copyright 2014 EMC Corporation. All rights reserved.

Open Workspace

Constant hum/chatter High-bandwidth conversations Faster than Google problem

resolution Team can sit together (clients,

Pivots, engineers, design, PM, etc.)

Page 28: Pivotal agile development_the_software-defined_enterprise

28 © Copyright 2014 EMC Corporation. All rights reserved.

Creative Breaks

Pivot Pong

Arcade/foosball

100ft from snacks

Email stations

Page 29: Pivotal agile development_the_software-defined_enterprise

29 © Copyright 2014 EMC Corporation. All rights reserved.

Common Concerns

My engineers won’t like it

It will be slower

It doesn’t work for my industry (finance, healthcare, etc.)

Page 30: Pivotal agile development_the_software-defined_enterprise

30 © Copyright 2014 EMC Corporation. All rights reserved. WWW.PIVOTALLABS.COM

WE GO

FOR

CAN FAST EVER

Page 31: Pivotal agile development_the_software-defined_enterprise

31 © Copyright 2014 EMC Corporation. All rights reserved.

Thank You

Page 32: Pivotal agile development_the_software-defined_enterprise