eclipse conv2 ss

Post on 05-Dec-2014

613 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

2/26 Keynote Presentation at EclipseCon 2013

TRANSCRIPT

Making Leaders Successful

Every Day

© 2012 Forrester Research, Inc. Reproduction Prohibited

Numbers are overrated….

Modern Applications – Modern ALM

Jeffrey S. Hammond, Vice President & Principal Analyst

@jhammond

March 26th, 2013

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?

You’d get an explosion of new services…

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

© 2011 Forrester Research, Inc. Reproduction Prohibited 8

Taking advantage of the most advanced data

centers on Earth, while destroying traditional

barriers to entry

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)

© 2013 Forrester Research, Inc. Reproduction Prohibited 10

Modern applications are complex

We need to prioritize and modernize

the architectures we build

Application patterns are evolving

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//)

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

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

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

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

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

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

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/

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

© 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

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

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

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!

Thank you

Jeffrey Hammond

+1 978.226.8886

jhammond@forrester.com

top related