26
Making Leaders Successful Every Day

Eclipse conv2 ss

Embed Size (px)

DESCRIPTION

2/26 Keynote Presentation at EclipseCon 2013

Citation preview

Page 1: Eclipse conv2 ss

Making Leaders Successful

Every Day

Page 2: Eclipse conv2 ss

© 2012 Forrester Research, Inc. Reproduction Prohibited

Numbers are overrated….

Page 3: Eclipse conv2 ss

Modern Applications – Modern ALM

Jeffrey S. Hammond, Vice President & Principal Analyst

@jhammond

March 26th, 2013

Page 5: Eclipse conv2 ss

Software innovation used to be expensive…

“When I built my first company in 1999 it cost $2.5 million in infrastructure just to get started and another $2.5 million in team costs to code, launch, manage, market and sell our software. So it’s not surprising that typical “A rounds” of venture capital were $5 to $10 million.”

Mark Suster, GRP Partners

…but what if innovation with software now cost 90% less than it used to?

Page 6: Eclipse conv2 ss

You’d get an explosion of new services…

Page 7: Eclipse conv2 ss

7 Entire contents © 2010 Forrester Research, Inc. All rights reserved.

Source: http://www.flickr.com/photos/indi/6865060402/sizes/k/

Built by a new generation of developers

– Kingmakers and Aspirants

Page 8: Eclipse conv2 ss

© 2011 Forrester Research, Inc. Reproduction Prohibited 8

Taking advantage of the most advanced data

centers on Earth, while destroying traditional

barriers to entry

Page 9: Eclipse conv2 ss

The way we develop is changing…

7 Traits of Modern Applications

1. Omni-channel clients

2. Deployed on elastic

infrastructure

3. Aggregate discrete services

4. Use managed APIs

5. Integrate open source

software

6. Employ dev-ops techniques

7. Focus on measurable

feedback

Source: Flickr http://upload.wikimedia.org/wikipedia/commons/6/65/HP_garage_front.JPG)

Page 10: Eclipse conv2 ss

© 2013 Forrester Research, Inc. Reproduction Prohibited 10

Modern applications are complex

Page 11: Eclipse conv2 ss

We need to prioritize and modernize

the architectures we build

Page 12: Eclipse conv2 ss

Application patterns are evolving

Page 13: Eclipse conv2 ss

Are you Agile enough?

Do you collect (and incorporate)

rapid feedback?

Can you design useful, usable,

desirable experiences?

Does your infrastructure evolve?

Building Modern Applications is hard!

Can you build high quality, multichannel, 5 star apps?

Source: Flickr (http://www.flickr.com/photos/kaz25/2444344463/sizes/o/in/photostream//)

Page 14: Eclipse conv2 ss

Systems of

Engagement

Modern Applications shift ALM focus

Time to Safety

Time to Certainty

Time to Feedback

Systems of

Operation

Systems of

Record

Lifecycle Focus

Page 15: Eclipse conv2 ss

Adapting Agile principles

› Use personas to drive insight

› Create journey maps

› Wireframes and prototypes build

backlog

› Feedback not requirements

documents

› Kanban boards to manage atomic

demand

› Analytics built into applications

Page 16: Eclipse conv2 ss

Jeremiah is 52 years old and has a lot of

experience as sales representative working for

Acme. His typical day is driving and visiting different

clients. He knows a lot about Acme products and is

glad to share this information with everybody he

meet in his visits.

As he is always on the road he needs to be very

organized with his schedule and sensitive to time

when he is at a specific clinic or hospital. He’s

focused on accomplishing his sales goals for the

month and wants to be home ASAP to enjoy the

end of his day with his family.

He is online most of the time, often through his 3G

phone or his iPad and notebook, but sometimes

inside clinics or hospitals the signal is very low or

even non-existent. A big part of his job is to visit

doctors and see if they need to replace any specific

contact lens in their 'drawers'.

Acme expect him to be more a brand advocate than

just an order taker. They expect him to talk about

products, answer questions, offer new products and

be very proactive in his visits to always try to sell

more product.

Personas

Page 17: Eclipse conv2 ss

Wow

Enjoyable

Functional

Neutral

Missed It

Frustrating

Awareness Consideration Research Purchase Engagement

1

2 3

4

5

6 7 8

9

10

11

Identify

customer and

stages of

journey

Indicate

primary (and

secondary )

devices for

each step

Describe each

step in the

journey, the

customer’s

needs and

perceptions

Indicate

significant

steps

Persona:

James

A Multi-channel journey map

Page 18: Eclipse conv2 ss

Modern applications are complex systems

Complex Unknowable

Probe, sense, respond

Complicated Knowable

Sense, analyze, respond

Chaos Turbulent and unconnected

Act, sense, respond

Simple Known

Sense, categorize, respond

Disorder

Feedback

Esta

blis

hed P

ractic

es

Using the Cynefin framework

Page 19: Eclipse conv2 ss

We don’t how to make Modern Applications

Complex Unknowable

Complicated Knowable

Chaos Turbulent and unconnected

Simple Known

Disorder

Feedback

Esta

blis

hed P

ractic

es

Systems of

Engagement

Systems of

Operation

Systems

of Record

Page 20: Eclipse conv2 ss

Modern applications evolve

› Mean time between

deployments – 11.6 seconds

› Max # deployment/hour – 1079

› Mean # of hosts simultaneously

receiving a deployment – 10K

› Max # of hosts simultaneously

receiving a deployment – 30K

Amazon deployment stats (May -2012)

Source: O’Reilly (http://assets.en.oreilly.com/1/event/60/Velocity%20Culture%20Presentation.pdf)

Pictures: http://www.flickr.com/photos/blueridgekitties/4423381216/sizes/l/

Page 21: Eclipse conv2 ss

A move toward different ALM processes

› Fewer branches in SCM –

evolve toward DVCS

› Developers test

› CI becomes decentralized,

more atomic, and critical

› You must run and consume

beta

› Mocks and mocking tools help

manage multi layer

complexity

Page 22: Eclipse conv2 ss

© 2013 Forrester Research, Inc. Reproduction Prohibited 22

Running “experiments”

› Requirements are testable

hypotheses

› Multivariate testing with traffic

routing

› Services are architected for

continuous deployment (e.g. feature

flags, hot patching)

› Releases become more “organic”

› Development moves from an

engineering process model to a

scientific process model

Page 23: Eclipse conv2 ss

How do you test? In production!

› Test like you deploy – the last

mile is beyond your control

› Issues are hard to replicate in

isolation

› Big data requires storage

› You need to harden your

services

› Delivered via a new

generation of testing tools

Pictures: http://www.flickr.com/photos/dyanna/3202542828/sizes/l/

Not Quite A Simian Army

Page 24: Eclipse conv2 ss

Continuous Delivery Capability Is Key Level Focus Characteristics Results

5 Hypothesis-

driven

delivery

Requirements include testable metrics

Frequent use of A/B testing

Services designed for CD

DBMS changed decoupled from system

changes

Delivery enables

business

innovation

4 Release on

demand

Teams organized around services

Deployment pipeline rejects bad changes

Work delivered in small batches

Comprehensive test + release automation

Service always in

a releasable state

Capability >= Need

3 Regular

releases w/

milestones

CI and trunk-based development

Automating provisioning and testing

“Done” = tested and deployed

Regular release

cadence

Capability < Need

2 Time-boxed

releases

Clear product ownership

Change management controls

<1 mo. cycles

Some testing, release automation

Planned releases

Capability < Need

1 Heroic

individuals

Manual testing

Integration explosion

Manual provisioning

Ad-hoc releases

http://bit.ly/10hUmK3

Page 25: Eclipse conv2 ss

You need to rethink your approach

1. ALM that’s fit to purpose

2. Revitalize architecture

3. Horizontal, not vertical

4. Support hi-perf teams

5. “Done” is DONE

6. Federate and collaborate

7. Make it fun and rewarding!

Page 26: Eclipse conv2 ss

Thank you

Jeffrey Hammond

+1 978.226.8886

[email protected]