SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
When code gets older
Tips for keeping maintenance projects alive and kicking
Sven Peters
Ambassador
Atlassian
Sven Peters
@svenpet
svenpet.com
Ambassador
Experience
my
Disclaimer
Nothing has a more profound or long-
lasting negative effect on the productivity
of a software team than a mess. Nothing.
“
“Robert C. Martin
green
Field
grüne
Wiese
How long does it take?
8 hours
We need it in 6!
OK, I‘ll do it in 4!
no Tests!
REWRITE
REWRITE
WindowsBroken
the Engines
Don‘t stop
no Plan B
There is
THE SCRUM MASTER
THE DEVELOPER
THE MANAGER
readability
improve
commentno
test
automated
Code Change Algorithmby Michael C. Feathers
Legacy
1. Identify Change Points
5. Make Changes and Refactor
2. Find Test Points
3. Break Dependencies
4. Write Tests
Clean Code
nterface Segregation Principle
pen Closed Principle
iskow Substitution Principle
ingle Responsible Principle
ependency Inversion Principle
DRY Don‘t repeat yourself
KISS - Keep it simple, stupid
Favour Composition over InheritanceRoot Cause Analysis
SingleLevelofAbstraction
Seperation of ConcernsYou Ain‘t Gonna Need It
Clean Code
Developer
von
Stefan Lieser &
Ralf Westphal
clean-code-developer.de
@svenpet
Sven PetersAtlassian

Weitere ähnliche Inhalte

Was ist angesagt?

What is it good for? Absolutely something! Remote, unmoderated usability stud...
What is it good for? Absolutely something! Remote, unmoderated usability stud...What is it good for? Absolutely something! Remote, unmoderated usability stud...
What is it good for? Absolutely something! Remote, unmoderated usability stud...
BoulderLisaS
 

Was ist angesagt? (20)

Confluence - From Wiki to Collaboration Platform
Confluence - From Wiki to Collaboration PlatformConfluence - From Wiki to Collaboration Platform
Confluence - From Wiki to Collaboration Platform
 
5-Whys Method
5-Whys Method5-Whys Method
5-Whys Method
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
Atlassian, the latest and greatest / October 13
Atlassian, the latest and greatest / October 13Atlassian, the latest and greatest / October 13
Atlassian, the latest and greatest / October 13
 
Gamification of Chaos Testing
Gamification of Chaos TestingGamification of Chaos Testing
Gamification of Chaos Testing
 
Agile Development Practices - Productivity
Agile Development Practices - ProductivityAgile Development Practices - Productivity
Agile Development Practices - Productivity
 
How to Become a Conference Speaker
How to Become a Conference SpeakerHow to Become a Conference Speaker
How to Become a Conference Speaker
 
DevOps Traction - Continuous Lifecycle 2016 London
DevOps Traction - Continuous Lifecycle 2016 LondonDevOps Traction - Continuous Lifecycle 2016 London
DevOps Traction - Continuous Lifecycle 2016 London
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
The New Agile
The New AgileThe New Agile
The New Agile
 
Running efficient distributed teams
Running efficient distributed teamsRunning efficient distributed teams
Running efficient distributed teams
 
What is it good for? Absolutely something! Remote, unmoderated usability stud...
What is it good for? Absolutely something! Remote, unmoderated usability stud...What is it good for? Absolutely something! Remote, unmoderated usability stud...
What is it good for? Absolutely something! Remote, unmoderated usability stud...
 
SPOF - Single "Person" of Failure
SPOF - Single "Person" of FailureSPOF - Single "Person" of Failure
SPOF - Single "Person" of Failure
 
Pair programming 2 > 1 + 1
Pair programming  2 > 1 + 1Pair programming  2 > 1 + 1
Pair programming 2 > 1 + 1
 
What's a Product Manager?
What's a Product Manager? What's a Product Manager?
What's a Product Manager?
 
Danny Patterson: Slow Down
Danny Patterson: Slow DownDanny Patterson: Slow Down
Danny Patterson: Slow Down
 
Agile Quality and Risk Management
Agile Quality and Risk ManagementAgile Quality and Risk Management
Agile Quality and Risk Management
 
Bringing People, Process, & Technology Together
Bringing People, Process, & Technology TogetherBringing People, Process, & Technology Together
Bringing People, Process, & Technology Together
 

Andere mochten auch

Atlassian Bonfire
Atlassian BonfireAtlassian Bonfire
Atlassian Bonfire
Sven Peters
 
Atlassian User Group Wiesbaden
Atlassian User Group WiesbadenAtlassian User Group Wiesbaden
Atlassian User Group Wiesbaden
Sven Peters
 
Software Programming Principles
Software Programming PrinciplesSoftware Programming Principles
Software Programming Principles
Sven Peters
 

Andere mochten auch (20)

Atlassian User Group Berlin Brandenburg
Atlassian User Group Berlin BrandenburgAtlassian User Group Berlin Brandenburg
Atlassian User Group Berlin Brandenburg
 
Making the switch to DVCS
Making the switch to DVCSMaking the switch to DVCS
Making the switch to DVCS
 
Atlassian Bonfire
Atlassian BonfireAtlassian Bonfire
Atlassian Bonfire
 
JIRA 4.4
JIRA 4.4JIRA 4.4
JIRA 4.4
 
Aug Karlsruhe
Aug Karlsruhe Aug Karlsruhe
Aug Karlsruhe
 
Atlassian User Group Karlsruhe + München
Atlassian User Group Karlsruhe + MünchenAtlassian User Group Karlsruhe + München
Atlassian User Group Karlsruhe + München
 
Atlassian User Group NRW
Atlassian User Group NRWAtlassian User Group NRW
Atlassian User Group NRW
 
Atlassian User Group Wiesbaden
Atlassian User Group WiesbadenAtlassian User Group Wiesbaden
Atlassian User Group Wiesbaden
 
JIRA Enterprise
JIRA EnterpriseJIRA Enterprise
JIRA Enterprise
 
Keynote CCD 2011
Keynote CCD 2011Keynote CCD 2011
Keynote CCD 2011
 
Atlassian User Group Bielefeld
Atlassian User Group BielefeldAtlassian User Group Bielefeld
Atlassian User Group Bielefeld
 
Software Programming Principles
Software Programming PrinciplesSoftware Programming Principles
Software Programming Principles
 
Stash - We Code Together
Stash - We Code TogetherStash - We Code Together
Stash - We Code Together
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful Teams
 
New Ideas for Old Code - Greach
New Ideas for Old Code - GreachNew Ideas for Old Code - Greach
New Ideas for Old Code - Greach
 
Old Code, New Tricks
Old Code, New TricksOld Code, New Tricks
Old Code, New Tricks
 
Build Better Software Together
Build Better Software TogetherBuild Better Software Together
Build Better Software Together
 
Atlassian User Group - September 2013
Atlassian User Group - September 2013Atlassian User Group - September 2013
Atlassian User Group - September 2013
 
Don't use git
Don't use gitDon't use git
Don't use git
 

Ähnlich wie When code gets_older

Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
John Choi
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
Igor Moochnick
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
Svetlin Nakov
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
Igor Moochnick
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
Peter Presnell
 

Ähnlich wie When code gets_older (20)

Best pratice
Best praticeBest pratice
Best pratice
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
Working Effectively with Legacy Code
Working Effectively with Legacy CodeWorking Effectively with Legacy Code
Working Effectively with Legacy Code
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
Five whys summary
Five whys summaryFive whys summary
Five whys summary
 
Put to the Test
Put to the TestPut to the Test
Put to the Test
 
Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Root Cause Analysis: Fact and Fiction
Root Cause Analysis: Fact and FictionRoot Cause Analysis: Fact and Fiction
Root Cause Analysis: Fact and Fiction
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Development
 
Preocupações Desenvolvedor Ágil
Preocupações Desenvolvedor ÁgilPreocupações Desenvolvedor Ágil
Preocupações Desenvolvedor Ágil
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
 
Clean code
Clean codeClean code
Clean code
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 

Mehr von Sven Peters

Mehr von Sven Peters (20)

✊ Join the DEV-olution: A culture of empowered developers
✊ Join the DEV-olution: A culture of empowered developers✊ Join the DEV-olution: A culture of empowered developers
✊ Join the DEV-olution: A culture of empowered developers
 
Team Shaping - Building a shared understanding
Team Shaping - Building a shared understandingTeam Shaping - Building a shared understanding
Team Shaping - Building a shared understanding
 
Developer Joy - How great teams get s%*t done
Developer Joy - How great teams get s%*t doneDeveloper Joy - How great teams get s%*t done
Developer Joy - How great teams get s%*t done
 
Teams Flow, Stay in sync, async
Teams Flow, Stay in sync, asyncTeams Flow, Stay in sync, async
Teams Flow, Stay in sync, async
 
The Hitchhiker's Guide to a Great Developer Career
The Hitchhiker's Guide to a Great Developer CareerThe Hitchhiker's Guide to a Great Developer Career
The Hitchhiker's Guide to a Great Developer Career
 
The Effective Developer - Work Smarter, not Harder
The Effective Developer - Work Smarter, not HarderThe Effective Developer - Work Smarter, not Harder
The Effective Developer - Work Smarter, not Harder
 
The Effective Developer - Work Smarter, Not Harder
The Effective Developer - Work Smarter, Not HarderThe Effective Developer - Work Smarter, Not Harder
The Effective Developer - Work Smarter, Not Harder
 
5 Things: How to Rock Remote Work
5 Things: How to Rock Remote Work5 Things: How to Rock Remote Work
5 Things: How to Rock Remote Work
 
A Career Advice: Change is the Only Constant
A Career Advice: Change is the Only ConstantA Career Advice: Change is the Only Constant
A Career Advice: Change is the Only Constant
 
Be More Productive with Confluence
Be More Productive with ConfluenceBe More Productive with Confluence
Be More Productive with Confluence
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
 
Kick-@$$ Sofware Development
Kick-@$$ Sofware DevelopmentKick-@$$ Sofware Development
Kick-@$$ Sofware Development
 
The 5 Hottest Atlassian News from Summit 2014
The 5 Hottest Atlassian News from Summit 2014The 5 Hottest Atlassian News from Summit 2014
The 5 Hottest Atlassian News from Summit 2014
 
Coding Culture
Coding CultureCoding Culture
Coding Culture
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every Team
 
It's the culture, but not as you know it
It's the culture, but not as you know itIt's the culture, but not as you know it
It's the culture, but not as you know it
 
Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 
Git Branching for Agile Teams
Git Branching for Agile TeamsGit Branching for Agile Teams
Git Branching for Agile Teams
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

When code gets_older