SlideShare une entreprise Scribd logo
1  sur  106
Infusing Agility
into the Java Legacy
Aman King, Lead Consultant
About Me
thoughtworker, developer,
lead, coach, trainer, oss,
speaker, author, thinker.
java, ruby, javascript, web,
cloud. agile, xp, scrum, cd.
www.amanking.com
www.thoughtworks.com
ambitious missions
need disruptive thinking
JAVA_LEGACY -> { AGILITY }
dictionary.com/browse/agility
Java Legacy
Java Code that is now Legacy Code
Legacy Code
Robert C Martin
Legacy Code
The phrase strikes disgust…
Murky swamp of tangled
undergrowth with leeches beneath
and stinging flies above…
Not enough to try to prevent the
rot – you have to be able to reverse
it.
Robert C Martin
vimeo.com/9981123
vimeo.com/9981123
Infusing Agility into Java Legacy
– is it possible?
Infusing Agility into Java Legacy
– is it possible?
Mild Violence
Mild Language
Blood and Gore
Proceed?
Extract Method
Extract Variable
Rename
Team Health Enemy Health
AND WE’RE BACK…
Mission Learnings
Mission Learnings
Not easy.
But improvement is possible.
Mission Learnings
Try one approach.
Doesn’t feel right? Revert, try another
approach.
Mission Learnings
Rely on your weapons and toolkit…
Mission Learnings
Do not forget strategy!
1. Identify change points
2. Find test points
3. Break dependencies
4. Write tests
5. Make changes and refactor
But there is more…
Cod e Smells
Des ign
Smells
Arch itectu re
Smells
Dep lo
y-
ment
Smells
• Long methods
• Long class
• Temporal coupling
• Fields as temporary variables
• Out parameters
• Setters
• many more…
Cod e Smells
Des ign
Smells
Cod e Smells
Des ign
Smells
• Incorrect responsibility-split across layers
• Confusing or inconsistent module structure
• Missing Dependency Injection
• Abused Dependency Injection
• No componentization
• Over-componentization
• Big-bang rewrites: long-lived either-or
• Mixed tech stack
Des ign
Smells
Arch itectu re
Smells
Incorrect responsibility-split
across layers
Des ign
Smells
Arch itectu re
Smells
Abused Dependency Injection
Des ign
Smells
Arch itectu re
Smells
A B C D
Spring IoC
A B C D
Spring IoC
E
A B C D
Spring IoC
E
A B C D
Spring IoC
E Is E really “cross-cutting” or
is it just too easy to inject?
High
coupling
A B C D
Spring IoC
E Solution?
A B C D
Spring IoC
E
D' E'
• Branching based on release / feature / team
• Dependencies not version controlled
• Database changes not version controlled
• Deployment scripts not version controlled
• Shared non-isolated environments
• Infrastructure access highly restricted
Arc h itec tu re
Smells
Deployment
Smells
http://martinfowler.com/bliki/FeatureBranch.html
Scary Merge!
Branching based on
release / feature / team
Arc h itec tu re
Smells
Deployment
Smells
http://martinfowler.com/bliki/FeatureToggle.html
http://paulhammant.com/blog/branch_by_abstraction.html
Arc h itec tu re
Smells
Deployment
Smells
Versioned Change Tracking
“Systems that gradually degrade
are systems that can gradually
improve.”
Cod e Smells
Des ign
Smells
Arch itectu re
Smells
Dep lo
y-
ment
Smells
Robert C Martin
Infusing Agility into the Java Legacy
Infusing Agility into the Java Legacy

Contenu connexe

Tendances

Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every TeamSven Peters
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management Rundeck
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Wojciech Seliga
 
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...Clinton Wolfe
 
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not MonthsBeyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not MonthsAtlassian
 
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftPhilly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftJordan Yaker
 
IT Trends 120-ish in the real world
 IT Trends 120-ish in the real world IT Trends 120-ish in the real world
IT Trends 120-ish in the real worldChristian John Felix
 
Optimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningOptimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningAtlassian
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
Operations: The Last Mile
Operations: The Last Mile Operations: The Last Mile
Operations: The Last Mile Rundeck
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility PrincipleEyal Golan
 
Is your API misbehaving?(Keith-Casey)
Is your API misbehaving?(Keith-Casey)Is your API misbehaving?(Keith-Casey)
Is your API misbehaving?(Keith-Casey)Future Insights
 
Passion For Software
Passion For SoftwarePassion For Software
Passion For SoftwareSven Peters
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Rundeck
 
Atlassian User Group - September 2013
Atlassian User Group - September 2013Atlassian User Group - September 2013
Atlassian User Group - September 2013Sven Peters
 
Big Sky Dev Con 2018 - Building a Serverless Backend
Big Sky Dev Con 2018 - Building a Serverless BackendBig Sky Dev Con 2018 - Building a Serverless Backend
Big Sky Dev Con 2018 - Building a Serverless BackendJacob Meacham
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing codeZivtech, LLC
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Rundeck
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
 

Tendances (20)

Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every Team
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
 
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
Your Goat Anti-Fragiled My Snowflake! Demystifying DevOps Jargon (30 minute v...
 
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not MonthsBeyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
Beyond Agile and DevOps: From Concepts to Products in Weeks, Not Months
 
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftPhilly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
 
IT Trends 120-ish in the real world
 IT Trends 120-ish in the real world IT Trends 120-ish in the real world
IT Trends 120-ish in the real world
 
Optimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningOptimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-mining
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Operations: The Last Mile
Operations: The Last Mile Operations: The Last Mile
Operations: The Last Mile
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility Principle
 
Java
JavaJava
Java
 
Is your API misbehaving?(Keith-Casey)
Is your API misbehaving?(Keith-Casey)Is your API misbehaving?(Keith-Casey)
Is your API misbehaving?(Keith-Casey)
 
Passion For Software
Passion For SoftwarePassion For Software
Passion For Software
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Atlassian User Group - September 2013
Atlassian User Group - September 2013Atlassian User Group - September 2013
Atlassian User Group - September 2013
 
Big Sky Dev Con 2018 - Building a Serverless Backend
Big Sky Dev Con 2018 - Building a Serverless BackendBig Sky Dev Con 2018 - Building a Serverless Backend
Big Sky Dev Con 2018 - Building a Serverless Backend
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 

Similaire à Infusing Agility into the Java Legacy

After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of DisruptionAfter Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of DisruptionAtlassian
 
Encouraging Agile Discipline
Encouraging Agile DisciplineEncouraging Agile Discipline
Encouraging Agile DisciplinePatchSpace Ltd
 
Scala: An experience report
Scala: An experience reportScala: An experience report
Scala: An experience reportMark Needham
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming languageMarco Cedaro
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Cωνσtantίnoς Giannoulis
 
Bridging the Distance through Agile Game Development
Bridging the Distance through Agile Game DevelopmentBridging the Distance through Agile Game Development
Bridging the Distance through Agile Game DevelopmentFinnur Magnusson
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentChris Holland
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1Sumanth Vepa
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowAll Things Open
 
Advanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinarAdvanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinarSalesforce Developers
 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript DelusionJUGBD
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
The Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native ApplicationsThe Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native ApplicationsJonas Bonér
 
The Lean Tech Stack
The Lean Tech StackThe Lean Tech Stack
The Lean Tech StackBill Scott
 
RSpec & Rails, an introduction
RSpec & Rails, an introductionRSpec & Rails, an introduction
RSpec & Rails, an introductionUtku Kaynar
 
Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019RackN
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSChristian Heilmann
 
Refactoring Applications using SOLID Principles
Refactoring Applications using SOLID PrinciplesRefactoring Applications using SOLID Principles
Refactoring Applications using SOLID PrinciplesSteven Smith
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDay Software
 

Similaire à Infusing Agility into the Java Legacy (20)

After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of DisruptionAfter Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
 
Encouraging Agile Discipline
Encouraging Agile DisciplineEncouraging Agile Discipline
Encouraging Agile Discipline
 
Scala: An experience report
Scala: An experience reportScala: An experience report
Scala: An experience report
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
 
Bridging the Distance through Agile Game Development
Bridging the Distance through Agile Game DevelopmentBridging the Distance through Agile Game Development
Bridging the Distance through Agile Game Development
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and Enjoyment
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
 
Advanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinarAdvanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinar
 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript Delusion
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
The Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native ApplicationsThe Reactive Principles: Design Principles For Cloud Native Applications
The Reactive Principles: Design Principles For Cloud Native Applications
 
The Lean Tech Stack
The Lean Tech StackThe Lean Tech Stack
The Lean Tech Stack
 
Java buzzwords.pptx
Java buzzwords.pptxJava buzzwords.pptx
Java buzzwords.pptx
 
RSpec & Rails, an introduction
RSpec & Rails, an introductionRSpec & Rails, an introduction
RSpec & Rails, an introduction
 
Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
 
Refactoring Applications using SOLID Principles
Refactoring Applications using SOLID PrinciplesRefactoring Applications using SOLID Principles
Refactoring Applications using SOLID Principles
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
 

Plus de Aman King

Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing DilemmasAman King
 
From Practitioner to Coach
From Practitioner to CoachFrom Practitioner to Coach
From Practitioner to CoachAman King
 
Agile Testing!
Agile Testing!Agile Testing!
Agile Testing!Aman King
 
Reducing Build Time
Reducing Build TimeReducing Build Time
Reducing Build TimeAman King
 
Multimethods
MultimethodsMultimethods
MultimethodsAman King
 
Agile Buzzwords in Action
Agile Buzzwords in ActionAgile Buzzwords in Action
Agile Buzzwords in ActionAman King
 
Ruby OOP: Objects over Classes
Ruby OOP: Objects over ClassesRuby OOP: Objects over Classes
Ruby OOP: Objects over ClassesAman King
 

Plus de Aman King (7)

Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing Dilemmas
 
From Practitioner to Coach
From Practitioner to CoachFrom Practitioner to Coach
From Practitioner to Coach
 
Agile Testing!
Agile Testing!Agile Testing!
Agile Testing!
 
Reducing Build Time
Reducing Build TimeReducing Build Time
Reducing Build Time
 
Multimethods
MultimethodsMultimethods
Multimethods
 
Agile Buzzwords in Action
Agile Buzzwords in ActionAgile Buzzwords in Action
Agile Buzzwords in Action
 
Ruby OOP: Objects over Classes
Ruby OOP: Objects over ClassesRuby OOP: Objects over Classes
Ruby OOP: Objects over Classes
 

Dernier

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Dernier (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Infusing Agility into the Java Legacy

Notes de l'éditeur

  1. Image credit: http://www.objectmentor.com/omTeam/martin_r.html
  2. Image credit: https://vimeo.com/9981123
  3. Video credit: https://vimeo.com/9981123
  4. Image credit: https://www.google.com
  5. Image credit: https://getsatisfaction.com/clearleft/topics/all_isight_recordings_corrupt
  6. Image credit: https://getsatisfaction.com/clearleft/topics/all_isight_recordings_corrupt
  7. Image credit: https://getsatisfaction.com/clearleft/topics/all_isight_recordings_corrupt
  8. Image credit: http://zombat.roosteredge.com/sijun/QuaritchFin.jpg
  9. Image credit: https://www.pinterest.com/scoykend/sci-fi-art
  10. Image credit: http://www.ghostrecon.net/images_site/gr2teamupdatedo.jpg
  11. Image credit: http://commons.wikimedia.org/wiki/File:Teen_large.png
  12. Image credit: http://toughraid3r37890.deviantart.com/art/FEAR-2-Becket-Assault-168917979
  13. Image credit: http://conceptartworld.com/?p=12955
  14. Image credit: http://toughraid3r37890.deviantart.com/art/Becket-Mesh-mod-164761229
  15. Image credit: http://fc02.deviantart.net/fs70/f/2011/230/5/8/dontnod___adrift_conceptart_08_by_paooo-d471bob.jpg
  16. Image credit: http://forum.blu-ray.com/showthread.php?t=133679
  17. Image credit: http://www.hdwallpapers.in/walls/2011_portal_2_game-normal.jpg
  18. Image credit: http://fc08.deviantart.net/fs70/f/2010/090/d/a/FEAR_2__Project_Origin_by_toughraid3r37890.jpg
  19. Image credit: http://halofanforlife.com/wp-content/uploads/Halo4_Requiem_jungle_concept-art.jpg
  20. Image credit: http://4.bp.blogspot.com/-UIBt9YG10D4/U4t-cqlaMkI/AAAAAAAACuo/7Au0X1-cBNo/s1600/spiderman2_2.jpg
  21. Image credit: https://www.pinterest.com/pin/104779128806111429/
  22. Image credit: https://www.pinterest.com/pin/26247610298833549/
  23. Image credit: https://www.pinterest.com/berzerkaroth/dc-two-face/
  24. Image credit: https://www.pinterest.com/scoykend/sci-fi-art
  25. Image credit: https://www.pinterest.com/tbtonline/marek-okon/
  26. Image credits: http://assets.vg247.com/current//2013/02/Army-of-two-devils-cartel-81.jpg
  27. Image credit: http://assets.vg247.com/current//2015/01/star_wars_battlefront_02.jpg
  28. Image credits: http://assets.vg247.com/current//2013/02/Army-of-two-devils-cartel-4.jpg
  29. Image credit: https://lowdownblog.files.wordpress.com/2013/01/spec-ops-the-line-concept-art-01-walker-adams.jpg
  30. Image credit: http://neverendingradicaldude.com/wp-content/uploads/2013/09/riddick-3-concept-art-01.jpg
  31. Image credits: http://martinfowler.com/books/refactoring.html http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/B001TIEBSE/
  32. Image credit: https://openlibrary.org/books/OL3315089M/Working_effectively_with_legacy_code
  33. Image credit: http://martinfowler.com/bliki/FeatureBranch.html
  34. Image credits: http://www.liquibase.org/ http://dbdeploy.com http://www.iconsplace.com/orange-icons/database-icon https://forgerock.org/resources/bash-scripts-testing-using-openam/ https://github.com/jenkinsci/jenkins http://www.go.cd/ https://www.snap-ci.com/ https://www.vagrantup.com/ https://www.chef.io/chef/ http://www.ansible.com/home https://www.docker.com/ http://www.imavex.com/what-we-do/web-design-and-development/ http://commons.wikimedia.org/wiki/File:Maven_logo.svg http://buildr.apache.org/ https://gradle.org/ http://www.nuget.org/packages/uComponents/
  35. Image credits: http://commons.wikimedia.org/wiki/File:Maven_logo.svg http://buildr.apache.org/ https://gradle.org/ http://www.nuget.org/packages/uComponents/
  36. Image credits: http://www.liquibase.org/ http://dbdeploy.com http://www.iconsplace.com/orange-icons/database-icon
  37. Image credits: https://forgerock.org/resources/bash-scripts-testing-using-openam/ https://github.com/jenkinsci/jenkins http://www.go.cd/ https://www.snap-ci.com/ https://www.vagrantup.com/ https://www.chef.io/chef/ http://www.ansible.com/home https://www.docker.com/ http://en.wikipedia.org/wiki/Apache_Ant http://www.imavex.com/what-we-do/web-design-and-development/
  38. Image credit: http://fc09.deviantart.net/fs71/f/2011/101/1/1/golem_____destroyer___by_ketka-d3dqcsd.jpg