The big rewrite

The big rewrite

Slides from my talk at Droidcon IT 2018
Video: https://youtu.be/he27mDanZgA

Are you living the dream? An architecture so SOLID you could literally build your house on? Tests so fast you can't even sip your coffee before they finish? Code so clean it literally hurts your eyes?

No? Then why don't you convince management to start over? Things will be different, you'll do things right.

Truth be told, app rewrites seldom work out: estimates turn out to be overly optimistic, functionality a lot more complex and crucial details have been deeply buried in the legacy code. Result: pressure to ship increases and technical debt again piles up.

Join this keynote to get a better understanding of the unique challenge of today's ever-growing, more and more complex apps. Learn how we can efficiently tackle legacy code bases and how to get back your developer happiness.

Further reads:
- The big rewrite - Chad Fowler: https://goo.gl/hjzUY6
- The big rewrite - Jo Van Eyck: https://goo.gl/QVkyPt
- Paying technical depth - Jeroen Moons: https://goo.gl/cMGuqp
- Things you should never do - Joel Spolsky: https://goo.gl/DdYdcv

5f57d2d205e77e185986459c1b89a874?s=128

Jeroen Mols

April 19, 2018
Tweet

Transcript

  1. 4.

    @molsjeroen THE BRAVE STEP ➤ Our App is in a

    bad state ➤ We’re constantly firefighting ➤ Team is unhappy ➤ We should start over
  2. 6.

    @molsjeroen REALITY KICKS IN ➤ More features than anticipated (feature

    complete) ➤ Plans overly optimistic ➤ Requirements hidden in source code ➤ Designs keep on changing ➤ Requirements keep on changing ➤ Loss of development capacity to old app ➤ Underestimating qualities of previous team ➤ Risky big bang launch
  3. 8.

    @molsjeroen SHIP SHIP SHIP ➤ Pressure increases massively ➤ Shortcuts

    are taken ➤ Technical debt accumulates ➤ Are you really better off than before?
  4. 10.

    @molsjeroen A BETTER WAY ➤ Refactor the code step by

    step ➤ Work as a team towards a clear goal ➤ Fast and reliable CI in place ➤ Automated tests ➤ Modularise your app to enable riskier changes ➤ Master your tools ➤ Release often and frequently ➤ Have faith
  5. 12.

    @molsjeroen SUMMARY ➤ Rewrites are risky and time consuming
 ➤

    Reduce risk as much as possible ➤ Minimise time to market & maximise user value ➤ Refactor to make code incrementally better ➤ Modularise to enable bigger, riskier changes
 ➤ Automate your testing ➤ Release release release
  6. 13.

    @molsjeroen IMAGE CREDITS ➤ Almost all images - clement127
 https://www.flickr.com/photos/clement127/

    ➤ Intro slide - Kenny Louie
 https://goo.gl/WufAP3 ➤ Moon lander - DasUngesagte
 https://goo.gl/TqtbHt ➤ Spaceship - Marshal Banana
 https://goo.gl/jb4m2p ➤ Captain - Chris Christian
 https://goo.gl/odtLx9 ➤ Juggler - Markus Lütkemeyer
 https://goo.gl/bVdxhG
  7. 14.

    @molsjeroen FURTHER READS ➤ The big rewrite - Chad Fowler

    ➤ The big rewrite - Jo Van Eyck ➤ Paying technical depth - Jeroen Moons ➤ Things you should never do - Joel Spolsky