SlideShare a Scribd company logo
Keeping Code Agile
Agile Manchester
11th
May 2016
#AgileManc
#KeepingCodeAgile
David Legge
@TheCodeCleaner
Working effectively with Legacy Code
Michael Feathers
“I never
wrote any
other
sort”
- my dad
Working Effectively with Legacy Code
Michael Feathers
Invaluable toolbox
● How to isolate for testing
● Create a test harness
● Baselines and documents
current behaviour
● Allows further development
with confidence
#KeepingCodeAgile
Why?
Entropy happens
Imagine yourself
3am on the day of release
Who?
Everyone
Needs support from business
When?
All the time
Small deferments possible
What?
Changable
Maintainable
Readable
No Dragons
What isn't Agile Code?
Greenfield to Legacy
In 6 months
Swimming in Treacle
Spaghetti Code
Weak groupings
Big Buckets
Scared to Commit
Code Wars
“Don't touch my code”
Here be Dragons
Here be Dragons
Well go slay them
Learn the code by changing it
Build momentum
It's
software
not
stoneware
Make it work
Then make it better
You're not 'Done'
Until you've refactored
Integrating more than a days work is risky
Work In Progress
=
Work At Risk
Small change
Smaller risk
“Software has diseconomies of scale”
@allenkellynet
Bank your work
Use git/hg's local repo
Minimal branching
Manage the risk
Evolve it
Manage the risk
Prototype it
Manage the risk
Frontload it
There's only
one
source of truth in the codebase
And its not the comments
Clean Code – 'Uncle Bob' Martin
My bible
Key concepts:
● Abstraction
● Don't repeat yourself
● Naming
● Commenting
Need tests you can be confident in
Don't be strangled by tests
Not enough
Too many
Too fragile
Too slow
Pyramid of Tests
Christmas Tree of Tests
UI
Rest API
Lean build
Art of Agile Development – Warden & Shore
Key Concepts:
● 10 minute build
● Collective Code
Ownership
Move analysis offline
It's a Learning Opportunity
Look after the
Goose that lays the Golden Egg
Be Proactive
Manual decision
Single-click deploy
#KeepingCodeAgile
David Legge
@TheCodeCleaner

More Related Content

What's hot (12)

PPTX
B leach
NASAPMC
 
PDF
There's no such thing as DevSecOps
Dave Mangot
 
PPTX
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
JacobRogers53
 
PPTX
How to Avoid End-of-Life Software Pitfalls
Aventis Systems, Inc.
 
PPTX
Stop multiplying by 4: Practical Software Estimation
Chuck Reeves
 
PDF
Are You Building the Right Thing? - Janet G @ CMBAgileConf 2016
ColomboCampsCommunity
 
PDF
Top 10 construction safety slogans for 2013
Lukman Nulhakiem
 
PDF
What Testers Can Learn to Collaborate Effectively with Programmers, others
lisacrispin
 
PDF
DevOps and IT security
ch.osme
 
PPTX
EER Modeling
RANVIJAY GAUR
 
PDF
Grammar of truth and lies
Peter Bleackley
 
PDF
How to drive growth to your early stage startup
Viral Loops
 
B leach
NASAPMC
 
There's no such thing as DevSecOps
Dave Mangot
 
GETTING THINGS DONE: WHAT I LEARNED FROM APPLYING GTD
JacobRogers53
 
How to Avoid End-of-Life Software Pitfalls
Aventis Systems, Inc.
 
Stop multiplying by 4: Practical Software Estimation
Chuck Reeves
 
Are You Building the Right Thing? - Janet G @ CMBAgileConf 2016
ColomboCampsCommunity
 
Top 10 construction safety slogans for 2013
Lukman Nulhakiem
 
What Testers Can Learn to Collaborate Effectively with Programmers, others
lisacrispin
 
DevOps and IT security
ch.osme
 
EER Modeling
RANVIJAY GAUR
 
Grammar of truth and lies
Peter Bleackley
 
How to drive growth to your early stage startup
Viral Loops
 

Similar to Keeping Code Agile (20)

PDF
Notes On Agile Development
Matt Griffin
 
PDF
Back to basics simple, elegant, beautiful code
Andrew Harcourt
 
PPTX
You cant be agile if your code sucks
Peter Gfader
 
PPT
Agile Austin - Peer Code Review An Agile Process
gsporar
 
PPTX
Chasingwindmills agile success
Paul Boos
 
PDF
Agile Software Development
Ahmet Bulut
 
PDF
Why Agile? Back to Basics.
Lucas Hendrich
 
PDF
Dave Thomas - Agile is Dead (GOTO 2015)
Osvaldo Santana Neto
 
PDF
Does Anyone Remember YAGNI?
Ian Thomas
 
PDF
Practices and obstacles in agile development
Grgur Grisogono
 
PDF
Practices and obstacles in agile development
Thorsten Suckow-Homberg
 
ODP
Agile Engineering
John Lewis
 
PPTX
Why Agile?
Saberin (Pvt) Ltd
 
PPT
Peer Code Review An Agile Process
gsporar
 
PPTX
Continuous everything
TEST Huddle
 
PPTX
Tools for Change: Introduction to agile
Oxford City Council
 
PDF
Write Code For The Future You - LR Tech Fest
Paul Gower
 
PDF
Software engineering 101 - The basics you should hear about at least once
Alexey (Mr_Mig) Migutsky
 
PDF
Agile Secure Cloud Application Development Management
Adam Getchell
 
PDF
No Time to Waste!
David Grant
 
Notes On Agile Development
Matt Griffin
 
Back to basics simple, elegant, beautiful code
Andrew Harcourt
 
You cant be agile if your code sucks
Peter Gfader
 
Agile Austin - Peer Code Review An Agile Process
gsporar
 
Chasingwindmills agile success
Paul Boos
 
Agile Software Development
Ahmet Bulut
 
Why Agile? Back to Basics.
Lucas Hendrich
 
Dave Thomas - Agile is Dead (GOTO 2015)
Osvaldo Santana Neto
 
Does Anyone Remember YAGNI?
Ian Thomas
 
Practices and obstacles in agile development
Grgur Grisogono
 
Practices and obstacles in agile development
Thorsten Suckow-Homberg
 
Agile Engineering
John Lewis
 
Why Agile?
Saberin (Pvt) Ltd
 
Peer Code Review An Agile Process
gsporar
 
Continuous everything
TEST Huddle
 
Tools for Change: Introduction to agile
Oxford City Council
 
Write Code For The Future You - LR Tech Fest
Paul Gower
 
Software engineering 101 - The basics you should hear about at least once
Alexey (Mr_Mig) Migutsky
 
Agile Secure Cloud Application Development Management
Adam Getchell
 
No Time to Waste!
David Grant
 
Ad

Recently uploaded (20)

PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
Q2 Leading a Tableau User Group - Onboarding
lward7
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Q2 Leading a Tableau User Group - Onboarding
lward7
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Ad

Keeping Code Agile