SlideShare a Scribd company logo
Sven Peters / Atlassian


Wenn Code altert
Tipps, wie Wartungsprojekte frisch bleiben
Sven Peters
Ambassador




@svenpet
svenpet.com
mobro.co/svenpet
Disclaimer




       my
         Experience
@svenpet
svenpet.com
“   Nothing has a more profound or long-
    lasting negative effect on the productivity
    of a software team than a mess. Nothing.
                                 Robert C. Martin
                                                    “
?
Maintenance
          projekt
?
5 years
lin
?     1M+
   es
      of
         co
           de
lin
?  es
      2M+
      of
         co
           de
?
  lost
overview

                de
              co
           of
        es
     lin
Har

Bath Tub Curve
                  dw
                     a   re
Sof

Bath Tub Curve
                  twa
                        re
Sof

Bath Tub Curve
                  twa
                        re
Field
green
How long does it take?


                                 8 hours
                                                    no Tests!
            grüne
We need it in 6!
                    Wiese
                             OK, I‘ll do it in 4!
W jax  wenn-code altert
W jax  wenn-code altert
more cooks!
too many cooks...




            ...spoil the broth
REWRITE
W jax  wenn-code altert
REWRITE
e n
    ro k
B    Windows
W jax  wenn-code altert
W jax  wenn-code altert
Don‘t stop
the Engines
THE DEVELOPER




THE MANAGER

                              THE SCRUM MASTER




                     There is
                              no Plan B
Boy Scout Rule




  Leave the campground cleaner than you
  found it.
Toolchain
The
W jax  wenn-code altert
readability
improve
Naming


“ Any fool can write code that ahumans cancan understand. Good
                                 computer
  programmers write code that              understand.            “
                                                       Martin Fowler
no
     comment
test
automated
Legacy Code Change Algorithm   by Michael C. Feathers


1. Identify Change Points

2. Make Changes and Refactor
Legacy Code Change Algorithm   by Michael C. Feathers


1. Identify Change Points

2. Find Test Points

3. Break Dependencies

4. Write Tests

5. Make Changes and Refactor
Clean Code
ingle Responsible Principle

pen Closed Principle

iskow Substitution Principle

nterface Segregation Principle

ependency Inversion Principle
W jax  wenn-code altert
Root Ca
         usposition over Inheritaince
Favour Com e Analysis rself             on
                                   ract
                       you NeedtIt
        Yout Aep‘t Gt nna bsrns
               in eao
       Do n‘ r              onA e
                           C of c
   DRYKISSperation of el
         Se - Kee       ev
                   p etLs
                      i im
                 ingl       ple, s
               S                  tupid
Clean Code
Developer
             von
             Stefan Lieser &
             Ralf Westphal
             clean-code-developer.de
Evolve


Clean Code
    &
Developer
W jax  wenn-code altert
W jax  wenn-code altert
W jax  wenn-code altert
Sven Peters
                   Atlassian




@svenpet

More Related Content

PDF
7 Things: How to make good teams great
PDF
How to make good teams great
PDF
When code gets_older
PDF
Atlassian - The latest and greatest early 2013
PDF
How effective feedback can improve your software
PDF
Passion For Software
PDF
Stash - We Code Together
PDF
Devops its not about the tooling
7 Things: How to make good teams great
How to make good teams great
When code gets_older
Atlassian - The latest and greatest early 2013
How effective feedback can improve your software
Passion For Software
Stash - We Code Together
Devops its not about the tooling

What's hot (12)

PDF
5-Whys Method
PDF
Agile and the evolution
PDF
Atlassian - Software For Every Team
PPTX
Test innovation for everyone
PPTX
WeActuallyBuildStuff - Extreme Programming Live
PPTX
Running efficient distributed teams
PPTX
Why just fake it
PDF
Dev / non dev communication
PPTX
10 Secret Unit Testing Tips
PDF
TDD - Why and How?
PPTX
10 Secret Unit Testing Tips
ODP
7 Habits of Highly Ineffective Project Managers
5-Whys Method
Agile and the evolution
Atlassian - Software For Every Team
Test innovation for everyone
WeActuallyBuildStuff - Extreme Programming Live
Running efficient distributed teams
Why just fake it
Dev / non dev communication
10 Secret Unit Testing Tips
TDD - Why and How?
10 Secret Unit Testing Tips
7 Habits of Highly Ineffective Project Managers
Ad

Viewers also liked (20)

PDF
Atlassian Bonfire
PDF
Atlassian User Group Karlsruhe + München
PDF
Atlassian User Group Berlin Brandenburg
PDF
Making the switch to DVCS
PDF
JIRA 4.4
PDF
Aug Karlsruhe
PDF
Atlassian User Group NRW
PDF
Atlassian User Group Wiesbaden
PDF
JIRA Enterprise
PDF
Keynote CCD 2011
PDF
Atlassian User Group Bielefeld
PPT
Software Programming Principles
PDF
Confluence - From Wiki to Collaboration Platform
PDF
Atlassian: The latest and greatest - May/June 2013
PDF
How To Do Kick-Ass Software Development
PDF
Bamboo - an introduction
PDF
The Secret Sauce of Successful Teams
PDF
Software Development Innovation in Practice - 33rd Degree 2014
PDF
Build Better Software Together
PDF
Atlassian User Group - September 2013
Atlassian Bonfire
Atlassian User Group Karlsruhe + München
Atlassian User Group Berlin Brandenburg
Making the switch to DVCS
JIRA 4.4
Aug Karlsruhe
Atlassian User Group NRW
Atlassian User Group Wiesbaden
JIRA Enterprise
Keynote CCD 2011
Atlassian User Group Bielefeld
Software Programming Principles
Confluence - From Wiki to Collaboration Platform
Atlassian: The latest and greatest - May/June 2013
How To Do Kick-Ass Software Development
Bamboo - an introduction
The Secret Sauce of Successful Teams
Software Development Innovation in Practice - 33rd Degree 2014
Build Better Software Together
Atlassian User Group - September 2013
Ad

Similar to W jax wenn-code altert (20)

PDF
Clearly, I Have Made Some Bad Decisions
ODP
Agile analysis development
PDF
Getting Started In Qa
PDF
How to make good teams great - Sven Peters
PDF
Paris Web - Javascript as a programming language
KEY
QC Merge 2012: Growing community
PDF
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
PDF
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...
PDF
Spring, CDI, Jakarta EE good parts
KEY
Le PERL est mort
PDF
TDD and Getting Paid
PDF
Automatic detection of highlights from a Cricket Match
PPTX
A sweet taste of clean code and software design
PPTX
Dear compiler please don't be my nanny v2
PDF
Agile Rabbit Holes
KEY
Ruby codebases in an entropic universe
KEY
Shelby Tech Talk - The Early Days
PPTX
Conversational Speech Translation - Challenges and Techniques, by Chris Wendt...
PPTX
Test Driven Development on Android (Kotlin Kenya)
PDF
Continuous Delivery
Clearly, I Have Made Some Bad Decisions
Agile analysis development
Getting Started In Qa
How to make good teams great - Sven Peters
Paris Web - Javascript as a programming language
QC Merge 2012: Growing community
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...
Spring, CDI, Jakarta EE good parts
Le PERL est mort
TDD and Getting Paid
Automatic detection of highlights from a Cricket Match
A sweet taste of clean code and software design
Dear compiler please don't be my nanny v2
Agile Rabbit Holes
Ruby codebases in an entropic universe
Shelby Tech Talk - The Early Days
Conversational Speech Translation - Challenges and Techniques, by Chris Wendt...
Test Driven Development on Android (Kotlin Kenya)
Continuous Delivery

More from Sven Peters (20)

PDF
Recalibrate - How AI shakes up software teams
PDF
Microservice Teams - How the cloud changes the way we work
PDF
✊ Join the DEV-olution: A culture of empowered developers
PDF
Team Shaping - Building a shared understanding
PDF
Developer Joy - How great teams get s%*t done
PDF
Teams Flow, Stay in sync, async
PDF
The Hitchhiker's Guide to a Great Developer Career
PDF
The Effective Developer - Work Smarter, not Harder
PDF
How to Become a Conference Speaker
PDF
The Effective Developer - Work Smarter, Not Harder
PDF
5 Things: How to Rock Remote Work
PDF
A Career Advice: Change is the Only Constant
PDF
Be More Productive with Confluence
PDF
Less Process, more Guidance with a Team Playbook
PDF
Rise of the Machines - Automate your Development
PDF
Kick-@$$ Sofware Development
PDF
The 5 Hottest Atlassian News from Summit 2014
PDF
Coding Culture
PDF
It's the culture, but not as you know it
PDF
Atlassian - The Latest & Greatest April 2014
Recalibrate - How AI shakes up software teams
Microservice Teams - How the cloud changes the way we work
✊ Join the DEV-olution: A culture of empowered developers
Team Shaping - Building a shared understanding
Developer Joy - How great teams get s%*t done
Teams Flow, Stay in sync, async
The Hitchhiker's Guide to a Great Developer Career
The Effective Developer - Work Smarter, not Harder
How to Become a Conference Speaker
The Effective Developer - Work Smarter, Not Harder
5 Things: How to Rock Remote Work
A Career Advice: Change is the Only Constant
Be More Productive with Confluence
Less Process, more Guidance with a Team Playbook
Rise of the Machines - Automate your Development
Kick-@$$ Sofware Development
The 5 Hottest Atlassian News from Summit 2014
Coding Culture
It's the culture, but not as you know it
Atlassian - The Latest & Greatest April 2014

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Modernizing your data center with Dell and AMD
PDF
cuic standard and advanced reporting.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Machine learning based COVID-19 study performance prediction
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Electronic commerce courselecture one. Pdf
Modernizing your data center with Dell and AMD
cuic standard and advanced reporting.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Machine learning based COVID-19 study performance prediction
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Per capita expenditure prediction using model stacking based on satellite ima...

W jax wenn-code altert