Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reengineering

5358df52bd2ef4f57da1b1cc8634cfd9?s=47 Nat Pryce
January 22, 2017

 Reengineering

A case study presented to 4th year students at Imperial College

5358df52bd2ef4f57da1b1cc8634cfd9?s=128

Nat Pryce

January 22, 2017
Tweet

Transcript

  1. Reengineering Evolution, Devolution & Revolution Nat Pryce @natpryce | natpryce.com

    | nat@natpryce.com
  2. Quoting

  3. Grand vision APAC EMEA US

  4. Original architecture

  5. Attempted optimisation

  6. Parallelise calculations for APAC APAC EMEA

  7. Start refactoring, but don't finish APAC EMEA

  8. A new feature for EMEA APAC EMEA

  9. Reports for APAC APAC EMEA

  10. Diagnosing problems

  11. The system was modelled on a manual, paper-based process

  12. Idealised architecture

  13. Separate the projects

  14. "Cuckoo's Egg" application behind gateway

  15. HTTP data service "simplicators"

  16. "Pregression" tests

  17. Fake simplicators in system tests

  18. Introduce an acceptance test driven process

  19. Replace the GUI with a web application

  20. Continual indicative quoting is just a client

  21. Caching proxies for performance and scaling

  22. None
  23. Lines of Code Over Time