2 fast 2 furious - when organizations become too agile
DESCRIPTION
Declaring yourself "Agile" no longer means you're automatically cool or competitive. It might have in the olden days, when teams would be considered agile if they did 5 releases a year--but the word today has assumed a completely different meaning. Now, many organizations will happily admit to doing multiple releases a day. The problem is this: the majority of self-styled agile teams focus on speed, innovation and change, but very few focus on results. This session takes a look at what happens when organizations become too agile, and how this addiction can become terminal for the business. We'll cover real-life examples outlining the challenges and pain points of organizations striving to be agile. It will also offer top tips for dev teams to do agile the "right" way, helping them better manage change and understand the real impact that frequent releases have upon their business.TRANSCRIPT
2 FAST 2 FURIOUS
Stephen BurtonTech Evangelist, AppDynamics
When Organizations Become Too Agile
@BurtonSays
ABOUT ME
• Developer
• Product Manager
• Tech Evangelist
• Part-time Superhero
AGILE
SCRUM
EXTREME PROGRAMMING
REASONS FOR BEING AGILE
Its Cool and Everyone is doing it
Don’t want to Fail
Hate Process, Plans and Docs
Competitive Edge, Winning and making lots of Money
AGILE MANIFESTO
Individuals and interactions over processes and tools Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
LIFE IN THE FAST LANE
• Continuous Incremental Release Cycles
• Rapid & Flexible Response to Change
• Automation
• Nightly Builds
• Unit & Integration Testing
• Deployment
HOW FAST ARE YOUR RELEASE CYCLES?AppDynamics 2011 Survey: 250+ respondents
Source: http://www.appdynamics.com/blog/2011/12/14/storm-clouds-in-2012-summary-of-appdynamics-apm-customer-survey/
58%
3%
21%
17%
2+ Months
Monthly
Weekly
Daily
1/3ExperiencedSeverity 1Incident
Each Month
Too Much Change Can Kill You
REAL-LIFE EXAMPLES
When Agile turns to Fragile
Throughput
Response TimePool LimitPool Usage
Failed Transactions
Root Cause: Excessive getConnections() per Transaction
MEDIA CUSTOMER OUTAGE
E-COMMERCE SLOWDOWN
Root Cause: Excessive Data Access (750+ queries per transaction)
Root Cause: Query too much data
INSURANCE SLOWDOWN
Root Cause: Cache wasn’t thread safe
46,463 Checkouts in the Day
2,492 were impacted
Avg. EUR 57 per Checkout
Cost of Deadlock: ~EUR 142,000
RETAIL CUSTOMER OUTAGE
TELCO SLOWDOWN
Root Cause: Object Locking
E-COMMERCE SLOWDOWN
Root Cause: Developer was too committed ;-)
3 KEY THINGS IMPACTPERFORMANCE & AVAILABILITY
Concurrency Data Volume Resource
Development
Data Volume ResourceConcurrency
QA/Test
Data Volume ResourceConcurrency
Production
Data Volume ResourceConcurrency
WHY DO RELEASESCRASH AND SLOW DOWN?
DO YOU DOPERFORMANCE TESTING
ON EVERY RELEASE?
Be Honest.
THE PROBLEM
• Reproducing Production isn’t fast, easy or cheap
• SOA, Databases, 3rd Party Services
• Cloud Platforms aren’t Mature Enough
• Endless battle to update Test Scripts
• Functional over Non-Functional requirements
What’s this?
THE NEW PORSCHE SUPER CAR
• 918 Spyder
• 600,000 Euro’s and 150,000 Deposit
• 3 Engines & 50 Onboard Computers
• 780bhp & 950Nm (0-100Km/h in 3 secs)
• 94mpg & 70g CO2/KM
WHAT IS PORSCHE FAMOUS FOR?
Engineering Excellence Winning Races
Quality
Smug Owners Bad Drivers
Innovation
ENGINEERING EXCELLENCE
IS HIDDEN
JUST LIKE IN APPLICATIONS
WHAT MATTERS IS
The User ExperienceHandling, Performance, Sound, Reliability, Comfort, Looks
WHY?
Engineering Excellence alone doesn’t sell cars.
WHY ARE PORSCHE SUCCESSFUL?
• Engineering & Innovation
• PDK, VTG, PCCB, PTM, PASM
• Automation & Efficiency
• Resource, Build Assembly, Unit & Integration Testing
• User Experience Testing
• Thousands of test miles (e.g. Nurburgring, Nardo, ...)
• No Compromise Approach
WORKING SOFTWARE CAN BE FUNCTIONALLY PERFECT
But what about the End User Experience?
DELIVERINGUSER EXPERIENCE
• Worlds #1 Travel Portal
• 4 Dev Teams in 4 Locations
• 3 Teams each do 3 week sprints
• 1 Team Tests in Production
ISN’T TESTING INPRODUCTION SCARY?
Only if you don’t manage the risks.
#1 TRAVEL PORTAL
• Partially Deploy new release to 2/200 Production JVM’s
• Leverage Tools (Application Performance Management)
• Deploy, Monitor, Optimize, Patch, Deploy
• Deploy to 50 & 200 JVMs once Dev is confident
• Being Agile isn’t just a Development Exercise
SUMMARY
• Deliver User Experience not just Code
• Test with Production Data or Test in Production
• Be Agile in Production not just Development
• Agile is about Business Results not Frequent Change
• Deliver Tangible Success, Ask for a Pay Rise!
THE USUAL SHAMELESS PITCHAT THE END OF A KEYNOTE
•Performance Issues?
• Visit our JAX Booth for a demo
•We’re hiring with 23 open reqs
• www.appdynamics.com/careers.php
THANK YOU &STAY AGILE!