SlideShare a Scribd company logo
Monitoring Performance from Development through ProductionAgile Development of HIGH Performance APPLICATIONS
Fabian LangeHead of Competence Center PerformanceJava since its beginningAgile since its establishmentPerformance since waiting got boringMeandcodecentriccodecentric AG
Specialized in
Perfomance Services
Agile Software Factory
AlwayslookingfornewtalentTable of ContentsChapter One"The curse of non-functional Requirements”Chapter Two“Ensuring Great Performance”Chapter Three“A Real World Example”Chapter Four“The DevOps Revolution"Epilogue
The curse of non-functional RequirementsChapter One
Who measures performance …in production?before production?during development?Who does development …the waterfall way?the agile way?Let‘s Do a Poll
We finally can test functional requirements!Many modern practicesTDDATDDBDDTesting Requirements
Executable Specifications makes functional testing a breeze!RequirementsaretheTEst*** Settings ***Resource         ${RESOURCES}/BDD.txtTest Template    Branch Manager Change Should not affectEmployee*** Keyword ***Branch Manager Change Should not affectEmployee    [Arguments]  ${periodClosed}  ${periodOpenAndModified}  ${importDay}  ${oldManagerValidUntil}  ${newManagerValidFrom}GiveninitializedcriteriaforbonuscommercialAnd a branch B withbranchmanager M_OLD andemployee E1Andevaluationfor E1 forperiod ${periodClosed} whichisclosedAndevaluationfor E1 forperiod ${periodOpenAndModified} whichis open andmodifiedWhen M_NEW becomesnewmanagerofbranch BAndimportserviceiscalled on ${importDay}Thenthenewbranchmanagerofbranch B is M_NEW valid from ${newManagerValidFrom}Andbranchmanager M_OLD managesemployee E until ${oldManagerValidUntil}Andbranchmanager M_NEW managesemployee E from ${newManagerValidFrom}And Evaluations for E1 still havethe same content| *Test* | *ClosedPeriod*        | *Open Period*          | *Run Import On* | *Old Manager Stops* | *New Manager Starts* || 1      | 1.11.2009 - 30.11.2009 | 1.12.2009 - 31.12.2009 | 11.11.2009      | 30.11.2009          |  1.12.2009           || 2      | 1.11.2009 - 30.11.2009 | 1.12.2009 - 31.12.2009 |  1.11.2009      | 31.10.2009          |  1.11.2009           || 3      | 1.11.2009 - 30.11.2009 | 1.12.2009 - 31.12.2009 |  1.12.2009      | 30.11.2009          |  1.12.2009           |
Performance is Non-Functional!All Non Functional Requirements are not very agileThey cannot be added later onSo you need to know about them!They form the Definition of Done
Testing Non-Functional is hard!There are no absolute measuresNo production infrastructure
How Do You Measure Performance?Relevant Measures are hard to findResponse TimeFor usersSystem LoadFor planningTrafficFor moneyRealistic Measures are hard to obtain2 seconds?Load avg < 2.8 ?Less than 2TB per month?
How Do You Test Performance?Who ...... has a process for performance tests?... does loadtests?... plans for scalability?... uses a profiler?... uses a server monitor?... uses an application monitor?
„ProductionisFaster“
Ensuring great PerformanceChapter Two:
A Typical Performance Analysis ProcessTom, the boss calls:“We loose customers because  of bad performance”Lynn from QA does a load test:“Application is slow as a snail”Task force is set upJohn tries to learn performance toolsSarah does a microbenchmark and gains 5 ms Application still slow Everybody unhappy
How about…Developers care about performanceGood tools are understood and usedPerformance is tested regularlyAnomalies are taken care of Application is running smoothly Everybody is happy
Care About PerformanceCaring is fundamentally importantDevelopment teams need to extend their scopeIn Scrum teams need to be able to do all the work to get done
Good ToolsTool paralysis does not helpChoose 1 or 2 good tools and learn themTools should work everywhereflickr.com/photos/pmtorrone/2381346935
Continuously Test PerformanceFind a good balanceAutomated ChecksManual TestsFunctional tests already provide dataHow about a load test every iteration?
Investigate Suspicious DataBecause you careAnd you have the toolsAnd you have the dataYou should investigate findings“When you have eliminated the impossible,whatever remains, however improbable,must be the truth”	- Sherlock Holmesflickr.com/photos/cayusa/2159980025
A real World ExampleChapter Three
Team Cares About PerformanceDefinition of Done includes a lotspec, design, unit test, code, acceptance tests, documentation, usability review, code review, stability tests, compatibility tests, interoperability test, load tests, security tests, performance tests…Get it right from the beginningDo not pile up technical debtTo go well you have to go slow
20% Slowdown due to debt
Sprint 1
15 Points delivered
Sprint 2
12 Points delivered
Sprint 3
9 Points delivered
Sprint 4
7 Points deliveredTechnical Debt / Undone WorkWrong Definition of DoneBetter Definition of DoneSprint 1
12 Points delivered
Sprint 2
12 Points delivered
Sprint 3
12 Points delivered
Sprint 4

More Related Content

What's hot

Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
Wee Witthawaskul
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Orbit One - We create coherence
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
jazzman1980
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff
 
The Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and ScrumThe Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and Scrum
Russell Pannone
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
Marraju Bollapragada V
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
Vinit Kumar Singh
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
Mr SMAK
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
Roger Turnau
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
aaina_katyal
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityScrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Ron Quartel
 
Test pyramid agile pune conference
Test pyramid   agile pune conferenceTest pyramid   agile pune conference
Test pyramid agile pune conference
Sachin Natu
 
Requirementless testing
Requirementless testingRequirementless testing
Requirementless testing
Julen Mohanty
 
Evolution of Software Engineering in NCTR Projects
Evolution of Software Engineering in NCTR  Projects   Evolution of Software Engineering in NCTR  Projects
Evolution of Software Engineering in NCTR Projects
Mohammed Abbas
 
Cobol agile
Cobol agileCobol agile
Cobol agile
Candi Rai
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
Richard Cheng
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing Processes
Stanton Champion
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
Vashira Ravipanich
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
Ajay Danait
 

What's hot (20)

Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
The Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and ScrumThe Role of Quality Assurance in the World of Agile Development and Scrum
The Role of Quality Assurance in the World of Agile Development and Scrum
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityScrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper Productivity
 
Test pyramid agile pune conference
Test pyramid   agile pune conferenceTest pyramid   agile pune conference
Test pyramid agile pune conference
 
Requirementless testing
Requirementless testingRequirementless testing
Requirementless testing
 
Evolution of Software Engineering in NCTR Projects
Evolution of Software Engineering in NCTR  Projects   Evolution of Software Engineering in NCTR  Projects
Evolution of Software Engineering in NCTR Projects
 
Cobol agile
Cobol agileCobol agile
Cobol agile
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing Processes
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 

Similar to Agile Development of High Performance Applications

Scrum overview
Scrum overviewScrum overview
Scrum overview
Robert Bastian
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
Dipanway Bhabuk
 
Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)
Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)
Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)
Dr. V.N. Tikku
 
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Applitools
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
Moataz Nabil
 
How to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdfHow to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdf
Knoldus Inc.
 
Scrum in Practice
Scrum in PracticeScrum in Practice
Scrum in Practice
ESUG
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
Selin Gungor
 
Learn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream managementLearn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream management
Lance Knight
 
How to test performance and not die trying
How to test performance and not die tryingHow to test performance and not die trying
How to test performance and not die trying
Diego Cardozo
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
Dynatrace
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
Jules Pierre-Louis
 
Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...
Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...
Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...
Alan Mirko Poldrugac, MSc, PMP
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
IBM Rational
 
Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2
Khoa Bui
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
Peter Marshall
 
Sanjay Sharma
Sanjay SharmaSanjay Sharma
Sanjay Sharma
Sanjay Sharma
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing Introduction
Peter Marshall
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
JawdatTI
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)
Terry Cho
 

Similar to Agile Development of High Performance Applications (20)

Scrum overview
Scrum overviewScrum overview
Scrum overview
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)
Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)
Poet ( PROCESS OPERATIONAL EXCELLENCE TECHNIQUE)
 
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
How to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdfHow to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdf
 
Scrum in Practice
Scrum in PracticeScrum in Practice
Scrum in Practice
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Learn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream managementLearn to see, measure and automate with value stream management
Learn to see, measure and automate with value stream management
 
How to test performance and not die trying
How to test performance and not die tryingHow to test performance and not die trying
How to test performance and not die trying
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...
Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...
Case Study: How we achieved 95% automation with IBM Rational Quality Manageme...
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 
Sanjay Sharma
Sanjay SharmaSanjay Sharma
Sanjay Sharma
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing Introduction
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)
 

More from Fabian Lange

SPDY - http reloaded - WebTechConference 2012
SPDY - http reloaded - WebTechConference 2012SPDY - http reloaded - WebTechConference 2012
SPDY - http reloaded - WebTechConference 2012
Fabian Lange
 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
Fabian Lange
 
Aspects of modern APM solutions
Aspects of modern APM solutionsAspects of modern APM solutions
Aspects of modern APM solutions
Fabian Lange
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 Talk
Fabian Lange
 
Performance - a challenging craft
Performance  - a challenging craftPerformance  - a challenging craft
Performance - a challenging craft
Fabian Lange
 
Web Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 TalkWeb Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 Talk
Fabian Lange
 
Rich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich ClientRich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich Client
Fabian Lange
 
Eclipse Rich Ajax Platform
Eclipse Rich Ajax PlatformEclipse Rich Ajax Platform
Eclipse Rich Ajax Platform
Fabian Lange
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
Fabian Lange
 
Codecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseCodecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San Jose
Fabian Lange
 
Full Stack Web Application Performance Tuning
Full Stack Web Application Performance TuningFull Stack Web Application Performance Tuning
Full Stack Web Application Performance Tuning
Fabian Lange
 

More from Fabian Lange (11)

SPDY - http reloaded - WebTechConference 2012
SPDY - http reloaded - WebTechConference 2012SPDY - http reloaded - WebTechConference 2012
SPDY - http reloaded - WebTechConference 2012
 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
 
Aspects of modern APM solutions
Aspects of modern APM solutionsAspects of modern APM solutions
Aspects of modern APM solutions
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 Talk
 
Performance - a challenging craft
Performance  - a challenging craftPerformance  - a challenging craft
Performance - a challenging craft
 
Web Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 TalkWeb Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 Talk
 
Rich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich ClientRich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich Client
 
Eclipse Rich Ajax Platform
Eclipse Rich Ajax PlatformEclipse Rich Ajax Platform
Eclipse Rich Ajax Platform
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
Codecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseCodecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San Jose
 
Full Stack Web Application Performance Tuning
Full Stack Web Application Performance TuningFull Stack Web Application Performance Tuning
Full Stack Web Application Performance Tuning
 

Recently uploaded

Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17
Bhajan Mehta
 
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
FIDO Alliance
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdfLeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
SelfMade bd
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
BrainSell Technologies
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
FIDO Alliance
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
ankush9927
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)
Debmalya Biswas
 
Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024
siddu769252
 
Communications Mining Series - Zero to Hero - Session 3
Communications Mining Series - Zero to Hero - Session 3Communications Mining Series - Zero to Hero - Session 3
Communications Mining Series - Zero to Hero - Session 3
DianaGray10
 
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and CitiesThe Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
Arpan Buwa
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
shyamraj55
 
Redefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI CapabilitiesRedefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI Capabilities
Priyanka Aash
 

Recently uploaded (20)

Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17
 
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdfLeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)
 
Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024
 
Communications Mining Series - Zero to Hero - Session 3
Communications Mining Series - Zero to Hero - Session 3Communications Mining Series - Zero to Hero - Session 3
Communications Mining Series - Zero to Hero - Session 3
 
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and CitiesThe Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
 
Redefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI CapabilitiesRedefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI Capabilities
 

Agile Development of High Performance Applications

  • 1. Monitoring Performance from Development through ProductionAgile Development of HIGH Performance APPLICATIONS
  • 2. Fabian LangeHead of Competence Center PerformanceJava since its beginningAgile since its establishmentPerformance since waiting got boringMeandcodecentriccodecentric AG
  • 6. AlwayslookingfornewtalentTable of ContentsChapter One"The curse of non-functional Requirements”Chapter Two“Ensuring Great Performance”Chapter Three“A Real World Example”Chapter Four“The DevOps Revolution"Epilogue
  • 7. The curse of non-functional RequirementsChapter One
  • 8. Who measures performance …in production?before production?during development?Who does development …the waterfall way?the agile way?Let‘s Do a Poll
  • 9. We finally can test functional requirements!Many modern practicesTDDATDDBDDTesting Requirements
  • 10. Executable Specifications makes functional testing a breeze!RequirementsaretheTEst*** Settings ***Resource ${RESOURCES}/BDD.txtTest Template Branch Manager Change Should not affectEmployee*** Keyword ***Branch Manager Change Should not affectEmployee [Arguments] ${periodClosed} ${periodOpenAndModified} ${importDay} ${oldManagerValidUntil} ${newManagerValidFrom}GiveninitializedcriteriaforbonuscommercialAnd a branch B withbranchmanager M_OLD andemployee E1Andevaluationfor E1 forperiod ${periodClosed} whichisclosedAndevaluationfor E1 forperiod ${periodOpenAndModified} whichis open andmodifiedWhen M_NEW becomesnewmanagerofbranch BAndimportserviceiscalled on ${importDay}Thenthenewbranchmanagerofbranch B is M_NEW valid from ${newManagerValidFrom}Andbranchmanager M_OLD managesemployee E until ${oldManagerValidUntil}Andbranchmanager M_NEW managesemployee E from ${newManagerValidFrom}And Evaluations for E1 still havethe same content| *Test* | *ClosedPeriod* | *Open Period* | *Run Import On* | *Old Manager Stops* | *New Manager Starts* || 1 | 1.11.2009 - 30.11.2009 | 1.12.2009 - 31.12.2009 | 11.11.2009 | 30.11.2009 | 1.12.2009 || 2 | 1.11.2009 - 30.11.2009 | 1.12.2009 - 31.12.2009 | 1.11.2009 | 31.10.2009 | 1.11.2009 || 3 | 1.11.2009 - 30.11.2009 | 1.12.2009 - 31.12.2009 | 1.12.2009 | 30.11.2009 | 1.12.2009 |
  • 11. Performance is Non-Functional!All Non Functional Requirements are not very agileThey cannot be added later onSo you need to know about them!They form the Definition of Done
  • 12. Testing Non-Functional is hard!There are no absolute measuresNo production infrastructure
  • 13. How Do You Measure Performance?Relevant Measures are hard to findResponse TimeFor usersSystem LoadFor planningTrafficFor moneyRealistic Measures are hard to obtain2 seconds?Load avg < 2.8 ?Less than 2TB per month?
  • 14. How Do You Test Performance?Who ...... has a process for performance tests?... does loadtests?... plans for scalability?... uses a profiler?... uses a server monitor?... uses an application monitor?
  • 17. A Typical Performance Analysis ProcessTom, the boss calls:“We loose customers because of bad performance”Lynn from QA does a load test:“Application is slow as a snail”Task force is set upJohn tries to learn performance toolsSarah does a microbenchmark and gains 5 ms Application still slow Everybody unhappy
  • 18. How about…Developers care about performanceGood tools are understood and usedPerformance is tested regularlyAnomalies are taken care of Application is running smoothly Everybody is happy
  • 19. Care About PerformanceCaring is fundamentally importantDevelopment teams need to extend their scopeIn Scrum teams need to be able to do all the work to get done
  • 20. Good ToolsTool paralysis does not helpChoose 1 or 2 good tools and learn themTools should work everywhereflickr.com/photos/pmtorrone/2381346935
  • 21. Continuously Test PerformanceFind a good balanceAutomated ChecksManual TestsFunctional tests already provide dataHow about a load test every iteration?
  • 22. Investigate Suspicious DataBecause you careAnd you have the toolsAnd you have the dataYou should investigate findings“When you have eliminated the impossible,whatever remains, however improbable,must be the truth” - Sherlock Holmesflickr.com/photos/cayusa/2159980025
  • 23. A real World ExampleChapter Three
  • 24. Team Cares About PerformanceDefinition of Done includes a lotspec, design, unit test, code, acceptance tests, documentation, usability review, code review, stability tests, compatibility tests, interoperability test, load tests, security tests, performance tests…Get it right from the beginningDo not pile up technical debtTo go well you have to go slow
  • 33. 7 Points deliveredTechnical Debt / Undone WorkWrong Definition of DoneBetter Definition of DoneSprint 1
  • 41. WHAT MAKES A Great ToolZero configuration a must for agileVery low overhead for clean resultsSingle tool for all use casesFree!
  • 42. AppDynamicsLite DemoWebcasts in our bloghttp://blog.codecentric.de/en/2010/08/easy-performance-analysis-with-appdynamics-lite/
  • 43. Automated WorkMonitoring is not only great for productionRuns in Continuous Integration environmentsUses automated tests to runProvides Trends during iterations
  • 44. Continuous Integration Tools show where to lookUsually already providing information about where to lookSometimes providing information about how to fixEasy InvestigationJUnitAppDynamicsJUnit Report
  • 56. All The Data You Need
  • 57. Manual WorkManual load and scalability tests once an iterationRequires close to production configuration
  • 60. DevOpsthinks differentAgile process provides high qualityTest environments are slow, and often not realDone features go to production every dayUse real users for testingPlanned rollbacks integral partcommons.wikimedia.org/wiki/File:Beta-badge.svg
  • 61. DevOpsand PerformanceIn the cloud, the only real test is productionAvoid premature optimizationRequires great toolsflickr.com/photos/design-dog/1249337589
  • 62. High Performance Apps Go Live Every DayEpilogue
  • 63. Non-Functional Requirements are known and taken care ofPerformance is monitored in developmentAnomalies are taken care ofPre-Release sanity check is performedUp- and Downgrade is plannedNew version can go into productionProductive software is examined around the clockSummaryflickr.com/photos/redux/4740529728