1 of 115

Large Scale Development

Culture Change:

Google and the US Government

2 of 115

October 2013

3 of 115

November 2013

4 of 115

April 2014

5 of 115

So now what?

6 of 115

But first…

...let’s talk about image and expectations.

7 of 115

Can Culture Change?

Google, Governments & Geeks Rapidly

Redefine Test Culture

8 of 115

HA! HA!

9 of 115

What happened next?

How did I get involved?

10 of 115

2001-2005: Northrop Grumman

2005-2011: Google

Testing Grouplet

Test Mercenaries

Websearch Infrastructure

11 of 115

2013: Return to Berklee College of Music

(not Berkeley!)

12 of 115

February 2014

if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0)

goto fail;

if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0)

goto fail;

if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)

goto fail;

if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)

goto fail;

goto fail;

if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)

goto fail;

13 of 115

April 2014

14 of 115

May 2014

15 of 115

How I Learned To Stop Worrying and Love the Bomb...Again

16 of 115

June 2014

Left Berklee College of Music

July 2014

Talks at USCIS and CFPB

17 of 115

November 2014

18 of 115

How does culture change?

19 of 115

Not like this...

20 of 115

The Chasm

21 of 115

Instigators

Small, ad-hoc coalitions of Innovators and Early Adopters

22 of 115

“Never doubt that a small group…”

“Never doubt that a small group of thoughtful, committed citizens can change the world;

indeed, it’s the only thing that ever has.”

Margaret Mead

23 of 115

Challenges

Inertia

Insecurity

Ignorance

Friction

Communication Breakdown

Priority Structure

24 of 115

We Fear Change

25 of 115

Crossing the Chasm

26 of 115

Albert Wong’s “Framework for Helping”

27 of 115

Rainbow Bridge

28 of 115

Albert’s Rainbow of Death, USCIS

Intervene

Validate

Inform

Inspire

Empower

Mentor

Dependent

Independent

Write a report

Give a techtalk

Explain why their work is important to you.

Change something with them. Be their scaffold.

Give positive feedback

Describe how things work elsewhere. "It can get better"

Have 1:1s

Offer continued support. �FOLLOW UP.

Publicly challenge assumptions

29 of 115

“If people believe they lack the power…”

If people believe they lack the power to solve a problem,

Saul Alinsky, paraphrased from Rules for Radicals

they won’t even think of trying to solve it.

30 of 115

Goals and Principles

Embrace, rectify, and learn from mistakes

Understand that lasting change will take time

Improve productivity to better serve users/citizens

31 of 115

Goals and Principles

Cultivation

Avoid cult behavior

Adoption, not imposition

32 of 115

Cultivating a Mythology

Beware of heroes, echo chambers

The best mythology is a useful model

33 of 115

How did Google’s culture change?

34 of 115

Priority Structure

Which leads to…

Google values...

features

resources

throughput

impressions

revenue

performance reviews

promotions

35 of 115

If it can’t be measured,

(e.g. more clicks)

it doesn’t matter.

(i.e. won’t get me promoted)

Internalization:

36 of 115

Numbers tell an important part of the story...

...but not the only important part of the story.

37 of 115

Inertia

Extremely bright developers

Overconfidence in status quo

Enormous early success

38 of 115

Insecurity

Overconfidence/arrogance from early-stage success

39 of 115

Insecurity

Impostor Syndrome

Pressure to deliver features, not write tests

Extremely rapid onboarding of new developers

40 of 115

Ignorance

Overconfidence in ability/Dunning-Krueger

“My code is too hard to test”

Lack of testing/testable design experience

41 of 115

Friction

Build & test system pushed beyond its limits

“I don’t have time to test”

42 of 115

xkcd 303

43 of 115

Ignorance/Communication Breakdown

(After-the-fact: goto fail; and Heartbleed)

“What can’t be measured doesn’t matter”

Impact of testing is impossible to measure a priori

44 of 115

Testing Grouplet

Volunteers pooling 20% time

to drive adoption of automated testing

45 of 115

“Noogler” Lecture and Codelab

Cultivated training materials facilitating early exposure

46 of 115

Small/Medium/Large test sizes

Replaced misunderstood terminology

Raised awareness of concepts

47 of 115

Documentation

Extensive, well-curated wikis

Tech Talks

Sometimes people don’t want to RTFM

48 of 115

Testing on the Toilet

Broke down geographic boundaries of discussion

Standardized terms, avoided echo chamber

Testing front-and-center for everybody from day 1

49 of 115

Test Certified (TC)

Three-level roadmap, tailored to quarterly goals

Overcame psychological obstacle of “How to?”

50 of 115

Achievers

51 of 115

Test Mercenaries

Hands-on help for teams that needed it

Direct feedback to Testing Tech and Build Tools

Tool, practice advocacy

52 of 115

Fixits

Company-wide events, usually one day long

Address “important but not urgent” backlog

New tool rollouts address “I don’t have time to test”

53 of 115

Fixits

Focus everyone on concrete goals

Motivation: schwag; recognition; good karma

54 of 115

Fixits

Punctuate story arc

Raise morale

Advance state-of-the-art

55 of 115

Albert’s RoD, Testing Grouplet Ver.

Intervene

Validate

Inform

Inspire

Empower

Mentor

Dependent

Independent

Fixits

Revolution

Test Certified

Have 1:1s

Offer continued support. �FOLLOW UP.

TAP

Build Orbs

Lectures

TotT

Codelabs

EngEDU Collaboration

Tool development

(w/ Testing Tech, Build Tools)

Test Mercenaries

Tech Talks

Testing Grouplet

Schwag (T-shirts)

56 of 115

Testing Grouplet Strategy

2005-mid 2007: Brainstorm, experiment, Disagree and Commit

Mid 2007: Strategy emerges

Get all teams to Test Certified Level 3 by end of 2009

“I don’t have time to test” =>

Build system, Revolution Fixit, Test Automation Platform

57 of 115

Testing Grouplet Strategy

Measurable goals via TC, Fixits

Real objective: Experience

Power and knowledge to do the right thing

58 of 115

How long did all this take?

59 of 115

2005

Spring: Testing Grouplet founded

60 of 115

2006

Early/Mid: Testing on the Toilet

August 3: First Testing Fixit

Test Certified

October: Test Mercenaries

61 of 115

2007

March 8: Second Testing Fixit

Summer: Test Certified strategy

Summer: Revolution Fixit, TAP conceived

62 of 115

2008

January 31: Revolution Fixit

Summer: Test Certified Challenge

September: Phynancial crisis hits

December: Vendors/contractors fired

63 of 115

2009

Spring: Test Mercenaries disband

October: Forgeability Fixit

64 of 115

2010

March 6: TAP Fixit

65 of 115

Testing Grouplet Outcome

O(5 years), O(100s of volunteers)

TAP Fixit effectively met TC Level 3 goal

(Only one quarter behind schedule)

66 of 115

Testing Grouplet Outcome

Thorough automated testing now the norm

Most breakages fixed before clients notice

67 of 115

David and Golaith

68 of 115

What are the issues with US Government IT development?

69 of 115

US Government Priority Structure

limiting perceived risk

meeting regulatory requirements

job security

70 of 115

Don’t rock the boat.

Internalization:

71 of 115

Inertia/Insecurity

No incentives for quality

72 of 115

Inertia/Ignorance

Waterfall thinking persists

Testing is someone else’s problem

73 of 115

Insecurity

Perception: Gov’t can’t attract/wastes talent

Lack of career development (e.g. training, conferences)

Hopelessness

74 of 115

Ignorance/Communication Breakdown

Policy often mandated by nontechnical people

Development teams disconnected from end users

They don’t know what they don’t know

75 of 115

Friction

Outdated tools and deployment procedures

Vendor lock-in via ownership of code, deployment procedures, even data

76 of 115

Accountability

In the current atmosphere, it’s often punitive.

“Holding someone accountable” is tantamount to getting them fired.

77 of 115

Meeting with the Bobs

78 of 115

Challenges

Inertia

Insecurity

Ignorance

Friction

Communication Breakdown

Priority Structure

79 of 115

What Federal agencies are involved in the reform effort?

80 of 115

United States Digital Service (USDS)

Founded July 2014

Under Exec Office of the President aka “White House”

“Air cover”: rapid, precise technical work and consultation where needed

USDS Playbook (GitHub), TechFAR

81 of 115

18F

Under the General Services Administration

Located at 18th and F Streets

Founded March 2014 by Presidential Innovation Fellows

82 of 115

18F

Simplify contract procurement via Inter-Agency Agreements

Products developed as open-source, using Agile methodologies

Software as a “General Service”

83 of 115

18F

Visible example of Agile development

Outreach still necessary

Examples, docs, lectures, consulting, and hands-on contract work

Wide exposure == opportunity for cross-agency, ad-hoc collaboration

84 of 115

18F

85 of 115

Consumer Financial Protection Bureau (CFPB)

July 2010: Dodd-Frank phynancial regulation

July 2011: CFPB founded

Applied Agile practices from the start

Several 18F/USDS recruits come from CFPB

86 of 115

Consumer Financial Protection Bureau (CFPB)

Homepage

Blog

Source Code Policy

Regulations Parser: Travis CI; Coveralls

qu Data Platform: GitHub; Travis CI

87 of 115

USDS/18F Client Agencies

Veterans Affairs

Social Security

US Citizenship and Immigration Services

88 of 115

How do Google’s lessons apply to US Government IT development?

89 of 115

Mapping Grouplet experiences to US Gov’t

Details boil down to same fundamental issues

“Crossing the Chasm” model applies

Functional “Rainbow of Death” needs the same

90 of 115

Mapping Grouplet experiences to US Gov’t

Emotions, psychology > Technical issues

Creativity, fun => Long-term sustainability

91 of 115

Rebel Alliance

Coalition of individuals from the “White House”, USDS, 18F, CFPB & other agencies

Aimed at instigating government IT reform

92 of 115

Rebel Alliance

Connecting with and empowering great talent

Bust echo chambers, not create a new one

93 of 115

Straightforward Tactics

Documentation/Wikis

In-house training/EngEDU

Mailing list/“help desk”

Tech Talks

94 of 115

Tactics Requiring Adaptation

Test Certified-like program => CFPB “mentors”

Fixit-like events

Testing on the Toilet?

USDS & 18F => Test Mercenaries

95 of 115

The details aren’t important.

The community is.

96 of 115

Albert’s RoD, Rebel Alliance Version

Intervene

Validate

Inform

Inspire

Empower

Mentor

Dependent

Independent

USDS

Success stories in “albatross” projects

Tech Talks

TotT?

Agile Assisted Acquisitions (18F)

Useful Mythology

Develop/share internal expertise

External consultants

FOIA

Direct 18F contracts

Fixits?

CFPB example

Test Certified-like program

Rebel Alliance (18F, CFPB, USDS)

Schwag

(not T-shirts)

1-on-1s

Continued support

(18F, Rebel Alliance)

Encourage risk-taking

Docs/Wikis

“Help Desk”

Career development

Learn from mistakes (not punish)

97 of 115

Concrete Goals

Elimination of Friction

Cultivation of knowledge and expertise

Adoption of automated testing

Adoption of Agile methodologies

98 of 115

New Methods and Habits

Risk-taking (vs. thought-slavery)

Cultivation of soft power

Ad-hoc collaboration

99 of 115

What accountability looks like

Responsibility for quality up-front

e.g. Test your own code!

Responsibility for mistakes/defects as they arise

No excuses, no blame

100 of 115

What accountability looks like

Willingness to learn and improve

Accountable behavior encouraged and rewarded

Genuine effort to avoid preventable issues

101 of 115

Meta Goals

Security/Procurement/Hiring Reform

Contract reform through incentive reform

Replace self-preservation with shared goals

102 of 115

“You should be scared that it’s just us.”

Erie Meyer

(on the Rebel Alliance):

You should be scared that it’s just us.”

Me: “I’d be scared if it wasn’t.”

103 of 115

Can it succeed?

104 of 115

Yes.

105 of 115

Will it succeed?

106 of 115

I don’t know.

107 of 115

“It is better to die on your feet…”

“It is better to die on your feet

than to live on your knees.”

Emiliano Zapata

108 of 115

What’s at stake?

109 of 115

What’s at stake?

Lives and livelihoods

110 of 115

If the US Federal Government can do it...

If the United States Federal Government can reform its development practices...

111 of 115

...then what’s your team’s excuse?

112 of 115

None More Black

113 of 115

Partners-in-Crime

Brought to you with valuable feedback and contributions from:

114 of 115

How to get in touch

115 of 115

Google vis-a-vis US Government IT

Google

US Government

Internal Priorities

Measurement, promotions

Extended contracts, deferred accountability, job security

Challenges

Overconfidence, delivery pressure, ignorance, build friction

Underconfidence, contract pressure, legal restrictions, waterfall thinking, accountability

Instigators

Testing Grouplet, Test Mercenaries, Testing Tech, Build Tools, Eng Prod

Rebel Alliance, White House/USDS, GSA/18F, key folks in USCIS, VA, SS

Methods

Soft power, ad-hoc collaboration, experimentation, programs geared to culture of measurement, tools, docs, talks

Agile teams, Inter-Agency Agreements, internal consulting,

Agile procurements, training…???