WORK SMART, NOT HARD - GOTO Conference · WORK SMART, NOT HARD Molly Dishman @mollydishman....

Post on 20-May-2020

4 views 0 download

Transcript of WORK SMART, NOT HARD - GOTO Conference · WORK SMART, NOT HARD Molly Dishman @mollydishman....

WORK SMART, NOT HARDMolly Dishman @mollydishman

February 11 - 13, 2001

2

http://www.agilemanifesto.org/

3

3

This is not being agile

3

This is not being agile

This is doing Agile

Agile Fever is a condition that robs otherwise rational people of their common sense in regard to adoption and application of Agile based processes for developing software.

— Alex Bell, Death by Agile Fever

4http://www.infoq.com/articles/death-by-agile-fever

5

In 22 years, we’ve developed a lot of strong opinions…

6

1 iPhone application

3 months of development

9 developers

7

0 iteration planning meetings

0 story estimates

abnormal user stories

manual functional tests

8

9

www.interaction-design.org

10

Analyze Build Test

10

2003

Analyze Build TestDesign

10

2010

2014

2007

2014

2003

Analyze Build Test DeployDesign Test

10

2010

2014

2015

2007

2014

2011

2003

Analyze Build Test DeployDesign Test

10

2010

2014

2015

2015 2007

2014

2011

2006

2003

Analyze Test DeployDesign TestBuild

11

Regardless of what we discover, we understand and truly believe that everyone did the best job

they could, given what they knew at the time, their skills and

abilities, the resources available, and the situation at hand.

11

Start Doing

Stop Doing

More OfLess Of

Keep Doing

Regardless of what we discover, we understand and truly believe that everyone did the best job

they could, given what they knew at the time, their skills and

abilities, the resources available, and the situation at hand.

11

Regardless of what we discover, we understand and truly believe that everyone did the best job

they could, given what they knew at the time, their skills and

abilities, the resources available, and the situation at hand.

Stop DoingKeep Doing

Start Doing

KEEP DOING

12

Responding to change over following a plan

13

RESPONDING TO CHANGE

14

Responding to change over having a plan

start doing

stop doing

keep doing

RESPONDING TO CHANGE

14

Responding to change over having a plan

start doing

stop doing

keep doing

RESPONDING TO CHANGE

It’s become easier to…

Responding to change over having a plan

15www.cybage.com

start doing

stop doing

keep doing

RESPONDING TO CHANGE

16http://thiswas.notinventedhe.re/on/2010-04-20

start doing

stop doing

keep doing

RESPONDING TO CHANGE: OSS

17

start doing

stop doing

keep doing

BUILDING WORKING SOFTWARE

18

• You understand what change to respond to faster, when in production

• Sometimes that change will be to move away from a technology - such as services in a PaaS

start doing

stop doing

keep doing

BUILDING WORKING SOFTWARE

“Replaceability as a first class ‘ility’”

— Brandon Byars18

• You understand what change to respond to faster, when in production

• Sometimes that change will be to move away from a technology - such as services in a PaaS

start doing

stop doing

keep doing

MICROSERVICES

19

start doing

stop doing

keep doing

MICROSERVICES

Microservices architectures are the first new architectural pattern since continuous delivery was coined

19

start doing

stop doing

keep doing

OBLIGATORY WARNING LABEL

20

start doing

stop doing

keep doing

START DOING

21

Responding to change over following a plan

22

HAVE A PLAN

23

start doing

stop doing

keep doing

HAVE A PLAN

23

[THAT CAN CHANGE]

start doing

stop doing

keep doing

HAVE A PLAN

24

Usability Configurability

Data Integrity

Data Protection

Authorization Performance

Authentication

Security

Extensibility

Help

Availability

Personalization

Integratability

Scalability

Auditability Compatibility

(User guides)Documentation

Interoperability

Accessibility

Reuse

Localization

Maintainability

Mult. Env. Support

Operational Robustness

App Reporting

Reliability / Safety

Recoverability

Privacy Portability

Archiving

Continuity (DR)

Upgradability

Supportability

Installability

High Priority Low Priority N/A

(example)

Non-Negotiable

start doing

stop doing

keep doing Capture & implement cross functional requirements

HAVE A PLAN

25

Build what you can into your pipeline

CIS Benchmark

Tests

start doing

stop doing

keep doing

Customer collaboration over contract negotiation

26

27

CUSTOMER COLLABORATION

start doing

stop doing

keep doing

27

CUSTOMER COLLABORATION

•Co-product owners

start doing

stop doing

keep doing

27

CUSTOMER COLLABORATION

•Co-product owners

•Technical & Functionality

start doing

stop doing

keep doing

27

CUSTOMER COLLABORATION

•Co-product owners

•Technical & Functionality

•Helps prioritize a production ready product

start doing

stop doing

keep doing

27

CUSTOMER COLLABORATION

•Co-product owners

•Technical & Functionality

•Helps prioritize a production ready product

•Redefine the “customer” in customer collaboration

start doing

stop doing

keep doing

28

CUSTOMER COLLABORATION

Prefer BASE to ACID as your system becomes

more distributed

start doing

stop doing

keep doing

28

CUSTOMER COLLABORATION

A few minutes later…

Prefer BASE to ACID as your system becomes

more distributed

start doing

stop doing

keep doing

Working software over comprehensive documentation

29

Build the right thing and build the thing right

30

MEASURE: USING DATA

•How your users are using the application matters

•Tools can help you digest the information and give the right people access to this data

• It can help you measure against your success criteria

31

start doing

stop doing

keep doing

MEASURE: USING DATA

32

start doing

stop doing

keep doing

MEASURE: USING DATA

32

The most common question here is: “When will X be complete?”

start doing

stop doing

keep doing

MEASURE: USING [THE RIGHT] DATA

33

Order

Search

Track

Returnstart doing

stop doing

keep doing

MEASURE: USING [THE RIGHT] DATA

34

start doing

stop doing

keep doing

Orders Placed

Releasev1.0 v1.02 v1.13 v2.0

STOP DOING

35

Working software over comprehensive documentation

36

WORKING SOFTWARE == FUNCTIONALITY ONLY

37

importance

urgency

start doing

stop doing

keep doing

functionality

37

cross functional requirements, technical debt,

etc.

Responding to change over following a plan

38

SLOW ABILITY TO RESPOND

What does your testing pyramid look like?

Some practices that have become known as “Agile”

are slowing down response times

39

start doing

stop doing

keep doing

SLOW ABILITY TO RESPOND

40

start doing

stop doing

keep doing

SLOW ABILITY TO RESPOND

41

start doing

stop doing

keep doing

The consequences of Agile Fever have contributed to misapplication, misuse, and misunderstanding of Agile based software development processes with costly impact.

— Alex Bell, Death by Agile Fever

42http://www.infoq.com/articles/death-by-agile-fever

Individuals and Interactions over processes and tools

43

44

1 iPhone application

3 months of development

9 developers

many conversations about user experience

hundreds of unit and integration tests

small team of people in the same space

clear visibility into value created

45

We are uncovering better ways of developing

software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on

the right, we value the items on the left more.

46

Individuals and Interactions over processes and tools

47

Working software in production over comprehensive documentation

48

Complete customer collaboration over contract negotiation

49

Respond & measure change over following a plan

50

50

Respond & measure change while following a plan

BEING AGILEOver doing “Agile”

51

THANKSMolly Dishman @mollydishman