Eclipse conv2 ss


Published on

2/26 Keynote Presentation at EclipseCon 2013

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Eclipse conv2 ss

  1. 1. Making Leaders SuccessfulEvery Day
  2. 2. Numbers are overrated….© 2012 Forrester Research, Inc. Reproduction Prohibited
  3. 3. Modern Applications – Modern ALMJeffrey S. Hammond, Vice President & Principal Analyst@jhammondMarch 26th, 2013
  4. 4. The best way to have a good idea…Source: Flickr (
  5. 5. 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?
  6. 6. You’d get an explosion of new services…
  7. 7. Built by a new generation of developers – Kingmakers and Aspirants Source: Entire contents © 2010 Forrester Research, Inc. All rights reserved.
  8. 8. Taking advantage of the most advanced data centers on Earth, while destroying traditional barriers to entry8 © 2011 Forrester Research, Inc. Reproduction Prohibited
  9. 9. 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 feedbackSource: Flickr
  10. 10. Modern applications are complex© 2013 Forrester Research, Inc. Reproduction Prohibited 10
  11. 11. We need to prioritize and modernize the architectures we build
  12. 12. Application patterns are evolving
  13. 13. Building Modern Applications is hard! Are you Agile enough? Do you collect (and incorporate) rapid feedback? Can you design useful, usable, desirable experiences? Does your infrastructure evolve? Can you build high quality, multichannel, 5 star apps?Source: Flickr (
  14. 14. Modern Applications shift ALM focus Lifecycle Focus Systems of Time to Feedback Engagement Systems of Time to Certainty Record Systems of Time to Safety Operation
  15. 15. 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
  16. 16. Personas 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.
  17. 17. IdentifyA Multi-channel journey map customer and stages of journey Persona: James Awareness Consideration Research Purchase Engagement Wow Describe each step in the journey, the customer’s 7 needs and 8Enjoyable 3 6 perceptions 2Functional 1 11 Indicate significant 5 steps 4 10 Neutral Missed It 9 Indicate primary (and secondary ) devices forFrustrating each step
  18. 18. Modern applications are complex systems Using the Cynefin framework Established Practices Complex Complicated Unknowable KnowableFeedback Probe, sense, respond Sense, analyze, respond Disorder Chaos Simple Turbulent and unconnected Known Act, sense, respond Sense, categorize, respond
  19. 19. We don’t how to make Modern Applications Established Practices Complex Systems of Complicated Unknowable Operation KnowableFeedback Systems Disorder of Record Systems of Engagement Chaos Simple Turbulent and unconnected Known
  20. 20. Modern applications evolve Amazon deployment stats (May -2012) › 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 – 30KSource: O’Reilly (
  21. 21. 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
  22. 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© 2013 Forrester Research, Inc. Reproduction Prohibited 22
  23. 23. 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 Not Quite A Simian ArmyPictures:
  24. 24. Continuous Delivery Capability Is Key Level Focus Characteristics Results 5 Hypothesis- Requirements include testable metrics Delivery enables Frequent use of A/B testing business driven Services designed for CD delivery innovation DBMS changed decoupled from system changes 4 Release on Teams organized around services Service always in Deployment pipeline rejects bad changes a releasable state demand Work delivered in small batches Capability >= Need Comprehensive test + release automation 3 Regular CI and trunk-based development Regular release Automating provisioning and testing cadence releases w/ “Done” = tested and deployed milestones Capability < Need 2 Time-boxed Clear product ownership Planned releases Change management controls Capability < Need releases <1 mo. cycles Some testing, release automation 1 Heroic Manual testing Ad-hoc releases Integration explosion individuals Manual provisioning
  25. 25. You need to rethink your approach1. ALM that’s fit to purpose2. Revitalize architecture3. Horizontal, not vertical4. Support hi-perf teams5. “Done” is DONE6. Federate and collaborate7. Make it fun and rewarding!
  26. 26. Thank youJeffrey Hammond+1