Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Legacy Code is Fear 
www.mozaicworks.com
Me 
Adi Bolboacă 
Programmer 
Organizational & Technical 
Trainer & Coach www.mozaicworks.com
Legacy code scenario 
Current situation vs Better situation 
Not knowing what the actual code does 
Vs 
Gradually understa...
Legacy code scenario 
Reasons why to change existing code: 
Fix a bug 
Add a feature 
Have automated tests for the system ...
Legacy code scenario 
Reasons why not to change existing 
code: 
It looks ugly 
I would like to see nicer code 
I want to ...
Current situation 
You need to add some features 
to an existing old project www.mozaicworks.com
Current situation 
They tell you that you have a very 
short time to do it www.mozaicworks.com
Current situation 
You are afraid to change the 
system www.mozaicworks.com
Current situation 
The time feels waaaaay to short 
www.mozaicworks.com
Current situation 
And you tell your manager: I 
cannot do it 
www.mozaicworks.com
Current situation 
But the manager says... 
www.mozaicworks.com
Current situation 
It takes double the time you said 
www.mozaicworks.com
Current situation 
Your company loses money. 
Your customer loses money. www.mozaicworks.com
Current situation 
Everyone is stressed 
www.mozaicworks.com
Better situation 
Someone signs a contract to add 
some features to an existing old 
project www.mozaicworks.com
Better situation 
Your team starts writing 
characterization tests to 
understand the change www.mozaicworks.com
Better situation 
Your team writes end-to-end 
tests to understand the external 
dependencies 
www.mozaicworks.com
Better situation 
Your team splits the end-to-end 
tests into integration tests and 
unit tests 
www.mozaicworks.com
Better situation 
Your team starts adding more unit 
tests around the area that needs 
to be modified 
www.mozaicworks.com
Better situation 
Every member of the team is using 
the refactoring skills to improve 
the design 
www.mozaicworks.com
Better situation 
Your team adds the new feature. 
It is fully test automated. 
www.mozaicworks.com
Better situation 
Your testers make the final 
exploratory and manual tests 
www.mozaicworks.com
Better situation 
The team delivers on time. 
www.mozaicworks.com
Better situation 
Your company wins money and 
respect from your customer. 
Your customer wins money and has 
trust in you...
The problem: Legacy code is fear 
Our unknowns are making us afraid 
Automating tests minimizes the unknowns 
By automatin...
Very nice 
But how to do this? 
www.mozaicworks.com
Find the known unknowns of the 
team 
Talk with the team 
Find what they do not know: domain 
knowledge, programming langu...
Make small scale experiments 
Use a smaller problem at first 
Learn how to write charaterization tests 
for that problem 
...
The littany against fear 
I must not fear. 
Fear is the mind-killer. 
Fear is the little-death that brings total obliterat...
Solve the legacy code fear: invest 
Invest in the future business agility of your 
company 
www.mozaicworks.com
Solve the legacy code fear: learn 
Find the unknowns of the team 
Make a medium-term learning program 
Make small scale ex...
What's next? 
Read the Working Effectively with Legacy 
code book by Michael Feathers 
Find a good trainer to help the tea...
Questions? 
www.mozaicworks.com
Thank you! 
Working Fast and SAFE with Existing Product Inception 
Code retreat 
www.mozaicworks.com 
See the slides at 
h...
Extend your mentoring & training 
capacity 
Accelerate learning through 
communities of practice 
Grow your functional lea...
References 
http://upload.wikimedia.org/wikipedia/commons/7/7f/Snake_warning_sign.jpg 
http://upload.wikimedia.org/wikiped...
Ha terminado este documento.
Descárguela y léala sin conexión.
Próximo SlideShare
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
Siguiente
Próximo SlideShare
Sherlock Holmes and Pairing @Wlidcard Conference 2013 09 13
Siguiente
Descargar para leer sin conexión y ver en pantalla completa.

Compartir

Legacy Code is Fear @Codecamp Iasi 25 10 2014

Descargar para leer sin conexión

My talk "Legacy Code is Fear" at codecamp Iasi http://iasi.codecamp.ro

Legacy Code is Fear @Codecamp Iasi 25 10 2014

  1. 1. Legacy Code is Fear www.mozaicworks.com
  2. 2. Me Adi Bolboacă Programmer Organizational & Technical Trainer & Coach www.mozaicworks.com
  3. 3. Legacy code scenario Current situation vs Better situation Not knowing what the actual code does Vs Gradually understanding the code and changing it to the minimum www.mozaicworks.com
  4. 4. Legacy code scenario Reasons why to change existing code: Fix a bug Add a feature Have automated tests for the system core www.mozaicworks.com
  5. 5. Legacy code scenario Reasons why not to change existing code: It looks ugly I would like to see nicer code I want to update to newest framework ... www.mozaicworks.com
  6. 6. Current situation You need to add some features to an existing old project www.mozaicworks.com
  7. 7. Current situation They tell you that you have a very short time to do it www.mozaicworks.com
  8. 8. Current situation You are afraid to change the system www.mozaicworks.com
  9. 9. Current situation The time feels waaaaay to short www.mozaicworks.com
  10. 10. Current situation And you tell your manager: I cannot do it www.mozaicworks.com
  11. 11. Current situation But the manager says... www.mozaicworks.com
  12. 12. Current situation It takes double the time you said www.mozaicworks.com
  13. 13. Current situation Your company loses money. Your customer loses money. www.mozaicworks.com
  14. 14. Current situation Everyone is stressed www.mozaicworks.com
  15. 15. Better situation Someone signs a contract to add some features to an existing old project www.mozaicworks.com
  16. 16. Better situation Your team starts writing characterization tests to understand the change www.mozaicworks.com
  17. 17. Better situation Your team writes end-to-end tests to understand the external dependencies www.mozaicworks.com
  18. 18. Better situation Your team splits the end-to-end tests into integration tests and unit tests www.mozaicworks.com
  19. 19. Better situation Your team starts adding more unit tests around the area that needs to be modified www.mozaicworks.com
  20. 20. Better situation Every member of the team is using the refactoring skills to improve the design www.mozaicworks.com
  21. 21. Better situation Your team adds the new feature. It is fully test automated. www.mozaicworks.com
  22. 22. Better situation Your testers make the final exploratory and manual tests www.mozaicworks.com
  23. 23. Better situation The team delivers on time. www.mozaicworks.com
  24. 24. Better situation Your company wins money and respect from your customer. Your customer wins money and has trust in you. www.mozaicworks.com
  25. 25. The problem: Legacy code is fear Our unknowns are making us afraid Automating tests minimizes the unknowns By automating tests we can increase confidence www.mozaicworks.com
  26. 26. Very nice But how to do this? www.mozaicworks.com
  27. 27. Find the known unknowns of the team Talk with the team Find what they do not know: domain knowledge, programming languages, unit testing, acceptance testing, frameworks, etc www.mozaicworks.com
  28. 28. Make small scale experiments Use a smaller problem at first Learn how to write charaterization tests for that problem Use coding dojos and mob programming to practice together www.mozaicworks.com
  29. 29. The littany against fear I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing.... only I will remain Dune by Frank Herbert www.mozaicworks.com
  30. 30. Solve the legacy code fear: invest Invest in the future business agility of your company www.mozaicworks.com
  31. 31. Solve the legacy code fear: learn Find the unknowns of the team Make a medium-term learning program Make small scale experiments Learn Extend to bigger scale experiments Learn Do a small change request in production Learn www.mozaicworks.com
  32. 32. What's next? Read the Working Effectively with Legacy code book by Michael Feathers Find a good trainer to help the team learn Build learning program with team&trainer Learn from each experience www.mozaicworks.com
  33. 33. Questions? www.mozaicworks.com
  34. 34. Thank you! Working Fast and SAFE with Existing Product Inception Code retreat www.mozaicworks.com See the slides at http://www.slideshare.net/adibolb
  35. 35. Extend your mentoring & training capacity Accelerate learning through communities of practice Grow your functional leaders and top talents http://www.mozaicworks.com adrian.bolboaca@mozaicworks.com @adibolb
  36. 36. References http://upload.wikimedia.org/wikipedia/commons/7/7f/Snake_warning_sign.jpg http://upload.wikimedia.org/wikipedia/commons/4/44/CatLolCatExample.jpg http://upload.wikimedia.org/wikipedia/commons/8/88/I_IZ_SERIUS_ADMNIM_THIZ_IZ_SERIUS_BIZNIS_lolcat.jpg http://pixabay.com/p-160097/?no_redirect http://www.damemagazine.com/sites/default/files/styles/feature_wide/public/field/image/biological-clock.jpg?itok=http://fc01.deviantart.net/fs71/i/2012/149/6/9/no__9gag__by_hujikari-d51hu4l.jpg http://upload.wikimedia.org/wikipedia/commons/1/12/We_Can_Do_It!.jpg http://upload.wikimedia.org/wikipedia/commons/2/25/Dive_hand_signal_Descend.png http://pixabay.com/go/?t=/static/uploads/photo/2012/04/18/13/01/sign-36968_150.png%3Fattachment http://pixabay.com/static/uploads/photo/2014/06/03/19/38/plate-361516_640.jpg http://upload.wikimedia.org/wikipedia/commons/0/0c/Dive_hand_signal_OK_1.png www.mozaicworks.com
  • PeterGfader

    Jun. 1, 2015

My talk "Legacy Code is Fear" at codecamp Iasi http://iasi.codecamp.ro

Vistas

Total de vistas

378

En Slideshare

0

De embebidos

0

Número de embebidos

2

Acciones

Descargas

4

Compartidos

0

Comentarios

0

Me gusta

1

×