SlideShare une entreprise Scribd logo
1  sur  42
Reversed TTeessttss PPyyrraammiidd –– DDeeaalliinngg WWiitthh 
LLeeggaaccyy CCooddee 
Wiktor Żołnowski 
@streser 
http://www.agileszkolenia.pl 
http://codesprinters.com 
@pragmaticcoders 
http://pragmaticcoders.com
Can you imagine perfect software?
Tests pyramid 
End to End Tests 
Functional/Integration Tests 
Unit Tests
It would be perfect to work with perfect 
software every day...
But!
Reality...
Is...
Different!
Legacy Code
How did we get to this point?
It's all because of the money...
Technical Debt
Sometimes Technical Debt could be 
considered as something good...
Unfortunately temptation of easy 
making money is huge...
People lives in illusion of continuous, 
fast and low cost development...
Forgetting about the Quality...
Success in Software Development is something which is not 
continuous...
Success is state that you can achieve but also lose very fast 
if you can't respond to changes fast enough...
So, is it possible to deal with legacy code?
Reversed Tests Pyramid 
End-to-End Tests 
Functional/Integration Tests 
Unit Tests
- What?!
You can't do unit testing when there are 
no units in your software...
You can't do integration tests when 
there is nothing to integrate...
You need to refactor your code so it 
would be testable...
How to refactor without tests?!
Now refactor... 
High level tests gives you courage to refactor your code... 
●
But.. There are few reasons why you shouldn't 
reverse tests pyramid 
End-To-End tests are too long...
End-to-end tests are difficult to maintain... 
If we need end-to-end tests we are probably doing something 
wrong with our architecture...
So it's all about reversing back our 
tests pyramid.
Step by step we are introducing new 
architecture...
Remember that creating reversed tests 
pyramid and reversing it back will take 
some time...
But you need to do this if you want to 
pay your technical debt back!
Few final thoughts... 
Keep your technical debt as low as possible and try to 
pay it back every time you can. For example use your 
slack time for that!
Remember - WHY we are doing this?
“Leave the world better then you found it”
Beware of refactoring just for refactoring! 
Few final thoughts...
Few final thoughts... 
● Beware of refactoring just for refactoring! 
● Resist temptation to re-write from scratch – history is against you, 
such projects usually fail. 
● Remember to always remove your (duplicated) tests! 
● Software quality in many cases could be understood as ability to 
introduce changes into software! 
● Keep your technical debt as low as possible and try to pay it back 
every time you can. For example use your slack time for that! 
Resist temptation to re-write from scratch – history is 
against you, such projects usually fail.
Few final thoughts... 
● Beware of refactoring just for refactoring! 
● Resist temptation to re-write from scratch – history is against you, 
such projects usually fail. 
● Remember to always remove your (duplicated) tests! 
Remember to always remove your (duplicated) tests! 
● Software quality in many cases could be understood as ability to 
introduce changes into software! 
● Keep your technical debt as low as possible and try to pay it back 
every time you can. For example use your slack time for that!
False positive or false negative safety 
net is even worst than lack of safety 
net...
● Software quality in many cases could be understood as 
ability to introduce changes into software!
Wiktor Żołnowski 
agileszkolenia.pl 
Questions? 
@streser 
http://pragmaticcoders.com 
http://codesprinters.com

Contenu connexe

Tendances

What Software Quality Assurance Means to Me
What Software Quality Assurance Means to MeWhat Software Quality Assurance Means to Me
What Software Quality Assurance Means to Me
Robert Stackhouse
 
AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2
Adron Hall
 

Tendances (20)

Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
The art of not being too good at the Marshmallow test
The art of not being too good at the Marshmallow testThe art of not being too good at the Marshmallow test
The art of not being too good at the Marshmallow test
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not Guaranteed
 
Agileee 2012
Agileee 2012Agileee 2012
Agileee 2012
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Xp days ukraine 2012
Xp days ukraine 2012Xp days ukraine 2012
Xp days ukraine 2012
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile Development
 
Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"
 
JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...
JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...
JDD2014: Continuous delivery: capitalizing high quality automated tests - Szc...
 
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than EverTest Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
 
Design Sprints
Design SprintsDesign Sprints
Design Sprints
 
Managing and evolving JavaScript Code
Managing and evolving JavaScript CodeManaging and evolving JavaScript Code
Managing and evolving JavaScript Code
 
What Software Quality Assurance Means to Me
What Software Quality Assurance Means to MeWhat Software Quality Assurance Means to Me
What Software Quality Assurance Means to Me
 
Understanding Why Testing is Importaint
Understanding Why Testing is ImportaintUnderstanding Why Testing is Importaint
Understanding Why Testing is Importaint
 
AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2AWS Toolkit for Visual Studio Version 2
AWS Toolkit for Visual Studio Version 2
 
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
 
Tester vs Developer
Tester vs DeveloperTester vs Developer
Tester vs Developer
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
The art of being an agile programmer
The art of being an agile programmerThe art of being an agile programmer
The art of being an agile programmer
 

En vedette

Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowaniaBogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Geek Girls Carrots Poznan
 
Bdd and Agile Requirements Boiling Frogs 2016
Bdd and Agile Requirements Boiling Frogs 2016Bdd and Agile Requirements Boiling Frogs 2016
Bdd and Agile Requirements Boiling Frogs 2016
Wiktor Żołnowski
 
Scrum and Kanban are not enough - Agile Slovenia 2013
Scrum and Kanban are not enough - Agile Slovenia 2013Scrum and Kanban are not enough - Agile Slovenia 2013
Scrum and Kanban are not enough - Agile Slovenia 2013
Wiktor Żołnowski
 

En vedette (20)

Few Questions about Continuous Delivery
Few Questions about Continuous DeliveryFew Questions about Continuous Delivery
Few Questions about Continuous Delivery
 
Stickies on the wall will not help you if you are building crappy software
Stickies on the wall will not help you if you are building crappy softwareStickies on the wall will not help you if you are building crappy software
Stickies on the wall will not help you if you are building crappy software
 
Frameworki agilowe w obszarze testow - Monika Braun
Frameworki agilowe w obszarze testow - Monika BraunFrameworki agilowe w obszarze testow - Monika Braun
Frameworki agilowe w obszarze testow - Monika Braun
 
A little bird told me... about a good page in your user guide
A little bird told me... about a good page in your user guideA little bird told me... about a good page in your user guide
A little bird told me... about a good page in your user guide
 
Continuous Delivery - kolejny krok na drodze do Agile - Quality Excites 2014
Continuous Delivery - kolejny krok na drodze do Agile - Quality Excites 2014Continuous Delivery - kolejny krok na drodze do Agile - Quality Excites 2014
Continuous Delivery - kolejny krok na drodze do Agile - Quality Excites 2014
 
Abe 2012
Abe 2012Abe 2012
Abe 2012
 
Sqa days2013
Sqa days2013Sqa days2013
Sqa days2013
 
Monika Braun - Agile Test Team
Monika Braun - Agile Test TeamMonika Braun - Agile Test Team
Monika Braun - Agile Test Team
 
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowaniaBogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
Bogna Majchrzak, Magda Traciłowska - Tester jako strażnik jakości oprogramowania
 
Bdd and Agile Requirements Boiling Frogs 2016
Bdd and Agile Requirements Boiling Frogs 2016Bdd and Agile Requirements Boiling Frogs 2016
Bdd and Agile Requirements Boiling Frogs 2016
 
selenium grid & docker
selenium grid & dockerselenium grid & docker
selenium grid & docker
 
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
 
Scrum and Kanban are not enough - Agile Slovenia 2013
Scrum and Kanban are not enough - Agile Slovenia 2013Scrum and Kanban are not enough - Agile Slovenia 2013
Scrum and Kanban are not enough - Agile Slovenia 2013
 
Artur Górski - How many defects are left
Artur Górski - How many defects are leftArtur Górski - How many defects are left
Artur Górski - How many defects are left
 
Let's tests! Prezentacja Moniki Braun w trakcie warsztatów "Let's go to IT"
Let's tests! Prezentacja Moniki Braun w trakcie warsztatów "Let's go to IT"Let's tests! Prezentacja Moniki Braun w trakcie warsztatów "Let's go to IT"
Let's tests! Prezentacja Moniki Braun w trakcie warsztatów "Let's go to IT"
 
BDD and Agile Requirements (v 2.1)
BDD and Agile Requirements (v 2.1) BDD and Agile Requirements (v 2.1)
BDD and Agile Requirements (v 2.1)
 
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web ServicesKraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
 
Interoperability Testing
Interoperability TestingInteroperability Testing
Interoperability Testing
 
People are awesome - ALE 2014
People are awesome - ALE 2014People are awesome - ALE 2014
People are awesome - ALE 2014
 
Bdd and Agile Requirements
Bdd and Agile RequirementsBdd and Agile Requirements
Bdd and Agile Requirements
 

Similaire à Reversed Tests Pyramid - Agile Prague 2014

Effective cplusplus
Effective cplusplusEffective cplusplus
Effective cplusplus
Mark Veltzer
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
John Choi
 
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
 

Similaire à Reversed Tests Pyramid - Agile Prague 2014 (20)

Reversed Test Pyramid - Testing and dealing with Legacy Code
Reversed Test Pyramid - Testing and dealing with Legacy CodeReversed Test Pyramid - Testing and dealing with Legacy Code
Reversed Test Pyramid - Testing and dealing with Legacy Code
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
Effective cplusplus
Effective cplusplusEffective cplusplus
Effective cplusplus
 
AgilePT'10 - Evolving Software: Five powerful metaphors to explain change
AgilePT'10 - Evolving Software: Five powerful metaphors to explain changeAgilePT'10 - Evolving Software: Five powerful metaphors to explain change
AgilePT'10 - Evolving Software: Five powerful metaphors to explain change
 
Agile Development: Key to smart software development
Agile Development: Key to smart software developmentAgile Development: Key to smart software development
Agile Development: Key to smart software development
 
Agile
AgileAgile
Agile
 
Dear compiler please don't be my nanny v2
Dear compiler  please don't be my nanny v2Dear compiler  please don't be my nanny v2
Dear compiler please don't be my nanny v2
 
Software Development Essential Skills
Software Development Essential SkillsSoftware Development Essential Skills
Software Development Essential Skills
 
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
 
top developer mistakes
top developer mistakes top developer mistakes
top developer mistakes
 
Investing in a good software factory and automating the build process
Investing in a good software factory and automating the build processInvesting in a good software factory and automating the build process
Investing in a good software factory and automating the build process
 
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
Don't Suck at Building Stuff  - Mykel Alvis at Puppet Camp AltantaDon't Suck at Building Stuff  - Mykel Alvis at Puppet Camp Altanta
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
 
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpPHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in php
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
 
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
 
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
 
Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"Put "fast" back in "fast feedback"
Put "fast" back in "fast feedback"
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from Industry
 

Dernier

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Dernier (20)

Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Reversed Tests Pyramid - Agile Prague 2014

  • 1. Reversed TTeessttss PPyyrraammiidd –– DDeeaalliinngg WWiitthh LLeeggaaccyy CCooddee Wiktor Żołnowski @streser http://www.agileszkolenia.pl http://codesprinters.com @pragmaticcoders http://pragmaticcoders.com
  • 2. Can you imagine perfect software?
  • 3.
  • 4. Tests pyramid End to End Tests Functional/Integration Tests Unit Tests
  • 5. It would be perfect to work with perfect software every day...
  • 11. How did we get to this point?
  • 12. It's all because of the money...
  • 14. Sometimes Technical Debt could be considered as something good...
  • 15. Unfortunately temptation of easy making money is huge...
  • 16. People lives in illusion of continuous, fast and low cost development...
  • 17. Forgetting about the Quality...
  • 18. Success in Software Development is something which is not continuous...
  • 19. Success is state that you can achieve but also lose very fast if you can't respond to changes fast enough...
  • 20. So, is it possible to deal with legacy code?
  • 21. Reversed Tests Pyramid End-to-End Tests Functional/Integration Tests Unit Tests
  • 23. You can't do unit testing when there are no units in your software...
  • 24. You can't do integration tests when there is nothing to integrate...
  • 25. You need to refactor your code so it would be testable...
  • 26. How to refactor without tests?!
  • 27. Now refactor... High level tests gives you courage to refactor your code... ●
  • 28. But.. There are few reasons why you shouldn't reverse tests pyramid End-To-End tests are too long...
  • 29. End-to-end tests are difficult to maintain... If we need end-to-end tests we are probably doing something wrong with our architecture...
  • 30. So it's all about reversing back our tests pyramid.
  • 31. Step by step we are introducing new architecture...
  • 32. Remember that creating reversed tests pyramid and reversing it back will take some time...
  • 33. But you need to do this if you want to pay your technical debt back!
  • 34. Few final thoughts... Keep your technical debt as low as possible and try to pay it back every time you can. For example use your slack time for that!
  • 35. Remember - WHY we are doing this?
  • 36. “Leave the world better then you found it”
  • 37. Beware of refactoring just for refactoring! Few final thoughts...
  • 38. Few final thoughts... ● Beware of refactoring just for refactoring! ● Resist temptation to re-write from scratch – history is against you, such projects usually fail. ● Remember to always remove your (duplicated) tests! ● Software quality in many cases could be understood as ability to introduce changes into software! ● Keep your technical debt as low as possible and try to pay it back every time you can. For example use your slack time for that! Resist temptation to re-write from scratch – history is against you, such projects usually fail.
  • 39. Few final thoughts... ● Beware of refactoring just for refactoring! ● Resist temptation to re-write from scratch – history is against you, such projects usually fail. ● Remember to always remove your (duplicated) tests! Remember to always remove your (duplicated) tests! ● Software quality in many cases could be understood as ability to introduce changes into software! ● Keep your technical debt as low as possible and try to pay it back every time you can. For example use your slack time for that!
  • 40. False positive or false negative safety net is even worst than lack of safety net...
  • 41. ● Software quality in many cases could be understood as ability to introduce changes into software!
  • 42. Wiktor Żołnowski agileszkolenia.pl Questions? @streser http://pragmaticcoders.com http://codesprinters.com