SlideShare a Scribd company logo
Java Enterprise Performance Organisational and Conceptual Antipatterns
People and Performance Good programmers write well performing code Functional bugs are ok Performance problems are not Performance Management is difficult Problems difficult to find Stress Situations Performance is a moving target If it works today, it might not work tomorrow Even testing does not prevent you from problems Unknown performance goals
Types of Antipatterns Technical Conceptual Organisational
Antipatterns – A Selection Conceptual Misunderstanding Scalability Performance Management as Premature Optimization Guesswork instead of Figures Black Box Organisational Ad hoc Performance Management Lack of Responsibility Wait for the Pain
Conceptual Antipatterns
Misunderstanding Scalability
Misunderstanding Scalability Description Scalability is taken for granted Missing performance to be solved by adding hardware Scalability is not tested  Effects Performance problems are neglected Architecture has to be changed for scalability late in development Project is put at a high technical risk (maybe too high) Solution Understand that scalability has to be engineered into an application Identify the scalability points Test whether the system can scale
Premature Optimization Taken from K. Scott Allen‘s Blog : (www.odetocode.com)
Premature Optimization Description See performance management as premature optimization Do not validate dynamic application behaviour Critical parts of the application are unknown Effects Performance Management gets neglected Problems are discovered late Resolution of problems takes long Solution Perform architecture reviews as part of development process Make basic performance checks part of your Continuous Testing Processes Identify the hot spots in your application
Guesswork ?
Guesswork Description People rely on their feelings instead of real numbers The most clever people start to believe in „Performance Voodoo“ Trial-and-Error Problem resolution Effects Phantom problems are solved Long problem resolution times (with high costs) Problems get more complex than they are Solution Implement proper performance analysis procedure Educate people on performance management Build a solid toolbase people can use
Black Box
Black Box Description Developers use foreign code without understanding concepts A framework is considered a „silver bullet“ Developers expect frameworks to work how they think Effects Performance problems due to inadequate usage of frameworks High reengineering efforts Long testing cycles  Solution Analyse the dynamics of foreign code and interactions with your code Get detailed knowledge about frameworks Never assume - always
Organisational Antipatterns
Ad-hoc Performance Management Description Performance Management follows no defined process The actual performance of an application depends on the responsible people Delivering performance is not a key goal Effects Performance of an application cannot be guaranteed Performance management is highly ineffective Skills will not improve Solution Implement performance management in development, test and prod. Define Processes and Responsibilities
Lack of Responsibility Description Nobody is responsible for performance management Everybody thinks „the others“ will do it Effects There is NO performance management Applications will fail due to performance reasons Performance of applications is unknown There is no budget (time and money) Solution Define responsibilities of developers, testers, prod. People Create the role of a „performance engineer“ and assign it to somebody Communicate performance goals to your team (first you have to have some)
Wait for the Pain Description Performance is not actively managed and considered as given Performance management is driven by problems Effects Problems are discovered late in the lifecycle Problem must be resolved under time pressure No dedicated ressources for performance management Solution Define performance charateristics of your application Define how to verify they are fulfilled Verify as part of your software delivery process
alois.reitbauer@dynatrace.com  Mail blog.dynatrace.com  Blog AloisReitbauer   Twitter

More Related Content

PPTX
3.8 development methods
PPTX
Agile Requirements Engineering Practices: An Empirical Study
PPT
Slides chapter 5
PPT
software lecture
PPTX
8. project-management
PPT
SE chapter 4
PPT
Agile Software Process Improvement
PPT
Slides chapters 21-23
3.8 development methods
Agile Requirements Engineering Practices: An Empirical Study
Slides chapter 5
software lecture
8. project-management
SE chapter 4
Agile Software Process Improvement
Slides chapters 21-23

What's hot (19)

PPT
Software Dev Process In A Nutshell
PPTX
Software engineering
PPTX
Software engineering
PPT
SDLC & Project Team roles_in practice
PPS
About Conrad Baugh Jan 2011
PPTX
Spm unit iii-configuration mgmt-intro
PDF
Advanced Defect Management
PDF
System Development Life Cycle (SDLC) - Part I
PPT
Slides chapter 15
PPT
Lecture 2 introduction to Software Engineering 1
PPTX
Requirements Elicitation - Business Analysis Association of Ireland Annual Co...
PPT
Lecture 1 introduction to applied software project management
PPT
Better Software Classic Testing Mistakes
PDF
Software engineering process
PPTX
Software Development And Delivery Metrics That Matter
PPTX
Generic process model
PDF
Seg3101 ch2-1 - inception
ODP
Creating QA Dashboard
PPTX
Better project deployment follow up’s
Software Dev Process In A Nutshell
Software engineering
Software engineering
SDLC & Project Team roles_in practice
About Conrad Baugh Jan 2011
Spm unit iii-configuration mgmt-intro
Advanced Defect Management
System Development Life Cycle (SDLC) - Part I
Slides chapter 15
Lecture 2 introduction to Software Engineering 1
Requirements Elicitation - Business Analysis Association of Ireland Annual Co...
Lecture 1 introduction to applied software project management
Better Software Classic Testing Mistakes
Software engineering process
Software Development And Delivery Metrics That Matter
Generic process model
Seg3101 ch2-1 - inception
Creating QA Dashboard
Better project deployment follow up’s
Ad

Similar to W JAX Performance Workshop - Organisational Antipatterns (20)

PDF
What is performance_engineering_v0.2
PDF
Primer on application_performance_modelling_v0.1
PPTX
Primer on enterprise_performance_maturity_v0.2
PDF
Dzone performancemonitoring2016-mastercode.vn
PDF
Primer on application_performance_testing_v0.2
PDF
What is Performance Testing? - A Comprehensive Guide
PPTX
Performance Assurance for Packaged Applications
PPT
2011 sept 13 performance webinar with notes (5b)
PDF
Application Performance Testing Checklist
PPTX
Chapter 1. Why Performance Test
PPTX
Performance Aware Development
PPTX
Agile Development of High Performance Applications
PDF
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
PDF
Proactive performance management_what_is_all_about_v0.3
PDF
Applications performance Management For Enterprise Applications
PDF
Mistakes we make_and_howto_avoid_them_v0.12
PPTX
Alan Gordon - Building a Holistic Performance Management Platform
PPTX
Optimizing Java
PDF
Web Performance Analysis - TCF Pro 2009
PPTX
An Introduction to Performance Testing
What is performance_engineering_v0.2
Primer on application_performance_modelling_v0.1
Primer on enterprise_performance_maturity_v0.2
Dzone performancemonitoring2016-mastercode.vn
Primer on application_performance_testing_v0.2
What is Performance Testing? - A Comprehensive Guide
Performance Assurance for Packaged Applications
2011 sept 13 performance webinar with notes (5b)
Application Performance Testing Checklist
Chapter 1. Why Performance Test
Performance Aware Development
Agile Development of High Performance Applications
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
Proactive performance management_what_is_all_about_v0.3
Applications performance Management For Enterprise Applications
Mistakes we make_and_howto_avoid_them_v0.12
Alan Gordon - Building a Holistic Performance Management Platform
Optimizing Java
Web Performance Analysis - TCF Pro 2009
An Introduction to Performance Testing
Ad

More from Alois Reitbauer (20)

PPTX
Monitoring large scale Docker production environments
PPTX
Can a monitoring tool pass the turing test
PPTX
Monitoring Docker Application in Production
PPTX
The definition of normal - An introduction and guide to anomaly detection.
PPTX
Monitoring without alerts
PPTX
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
PPTX
Microservice, Micro Deployments and DevOps
PPTX
The Dark Art of Production Alerting
PPTX
W3C Web Performance - A detailed overview
PPTX
The Dark of Building an Production Incident Syste
PPTX
The High Performance Web Application Lifecycle
PPTX
Monitoring and Managing Java Applications
PPTX
What it means to be fast in your industry
PPTX
Measuring User Experience in the Browser
PPTX
Measuring User Experience
PPTX
Web Performance Optimzation
PPTX
What it means to deliver exceptional performance
PPTX
Why you have less than a second to deliver exceptional performance
PPTX
Measuring Performance in the Browser
PPTX
Performance Forensics - Understanding Application Performance
Monitoring large scale Docker production environments
Can a monitoring tool pass the turing test
Monitoring Docker Application in Production
The definition of normal - An introduction and guide to anomaly detection.
Monitoring without alerts
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
Microservice, Micro Deployments and DevOps
The Dark Art of Production Alerting
W3C Web Performance - A detailed overview
The Dark of Building an Production Incident Syste
The High Performance Web Application Lifecycle
Monitoring and Managing Java Applications
What it means to be fast in your industry
Measuring User Experience in the Browser
Measuring User Experience
Web Performance Optimzation
What it means to deliver exceptional performance
Why you have less than a second to deliver exceptional performance
Measuring Performance in the Browser
Performance Forensics - Understanding Application Performance

Recently uploaded (20)

PPTX
A Presentation on Touch Screen Technology
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
Tartificialntelligence_presentation.pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Encapsulation theory and applications.pdf
PDF
project resource management chapter-09.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
A comparative analysis of optical character recognition models for extracting...
A Presentation on Touch Screen Technology
Accuracy of neural networks in brain wave diagnosis of schizophrenia
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Programs and apps: productivity, graphics, security and other tools
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
1. Introduction to Computer Programming.pptx
Getting Started with Data Integration: FME Form 101
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
WOOl fibre morphology and structure.pdf for textiles
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A Presentation on Artificial Intelligence
Tartificialntelligence_presentation.pptx
Heart disease approach using modified random forest and particle swarm optimi...
Encapsulation theory and applications.pdf
project resource management chapter-09.pdf
Assigned Numbers - 2025 - Bluetooth® Document
MIND Revenue Release Quarter 2 2025 Press Release
A comparative analysis of optical character recognition models for extracting...

W JAX Performance Workshop - Organisational Antipatterns

  • 1. Java Enterprise Performance Organisational and Conceptual Antipatterns
  • 2. People and Performance Good programmers write well performing code Functional bugs are ok Performance problems are not Performance Management is difficult Problems difficult to find Stress Situations Performance is a moving target If it works today, it might not work tomorrow Even testing does not prevent you from problems Unknown performance goals
  • 3. Types of Antipatterns Technical Conceptual Organisational
  • 4. Antipatterns – A Selection Conceptual Misunderstanding Scalability Performance Management as Premature Optimization Guesswork instead of Figures Black Box Organisational Ad hoc Performance Management Lack of Responsibility Wait for the Pain
  • 7. Misunderstanding Scalability Description Scalability is taken for granted Missing performance to be solved by adding hardware Scalability is not tested Effects Performance problems are neglected Architecture has to be changed for scalability late in development Project is put at a high technical risk (maybe too high) Solution Understand that scalability has to be engineered into an application Identify the scalability points Test whether the system can scale
  • 8. Premature Optimization Taken from K. Scott Allen‘s Blog : (www.odetocode.com)
  • 9. Premature Optimization Description See performance management as premature optimization Do not validate dynamic application behaviour Critical parts of the application are unknown Effects Performance Management gets neglected Problems are discovered late Resolution of problems takes long Solution Perform architecture reviews as part of development process Make basic performance checks part of your Continuous Testing Processes Identify the hot spots in your application
  • 11. Guesswork Description People rely on their feelings instead of real numbers The most clever people start to believe in „Performance Voodoo“ Trial-and-Error Problem resolution Effects Phantom problems are solved Long problem resolution times (with high costs) Problems get more complex than they are Solution Implement proper performance analysis procedure Educate people on performance management Build a solid toolbase people can use
  • 13. Black Box Description Developers use foreign code without understanding concepts A framework is considered a „silver bullet“ Developers expect frameworks to work how they think Effects Performance problems due to inadequate usage of frameworks High reengineering efforts Long testing cycles Solution Analyse the dynamics of foreign code and interactions with your code Get detailed knowledge about frameworks Never assume - always
  • 15. Ad-hoc Performance Management Description Performance Management follows no defined process The actual performance of an application depends on the responsible people Delivering performance is not a key goal Effects Performance of an application cannot be guaranteed Performance management is highly ineffective Skills will not improve Solution Implement performance management in development, test and prod. Define Processes and Responsibilities
  • 16. Lack of Responsibility Description Nobody is responsible for performance management Everybody thinks „the others“ will do it Effects There is NO performance management Applications will fail due to performance reasons Performance of applications is unknown There is no budget (time and money) Solution Define responsibilities of developers, testers, prod. People Create the role of a „performance engineer“ and assign it to somebody Communicate performance goals to your team (first you have to have some)
  • 17. Wait for the Pain Description Performance is not actively managed and considered as given Performance management is driven by problems Effects Problems are discovered late in the lifecycle Problem must be resolved under time pressure No dedicated ressources for performance management Solution Define performance charateristics of your application Define how to verify they are fulfilled Verify as part of your software delivery process
  • 18. alois.reitbauer@dynatrace.com Mail blog.dynatrace.com Blog AloisReitbauer Twitter