Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Quoting

Slide 3

Slide 3 text

Grand vision APAC EMEA US

Slide 4

Slide 4 text

Original architecture

Slide 5

Slide 5 text

Attempted optimisation

Slide 6

Slide 6 text

Parallelise calculations for APAC APAC EMEA

Slide 7

Slide 7 text

Start refactoring, but don't finish APAC EMEA

Slide 8

Slide 8 text

A new feature for EMEA APAC EMEA

Slide 9

Slide 9 text

Reports for APAC APAC EMEA

Slide 10

Slide 10 text

Diagnosing problems

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Idealised architecture

Slide 13

Slide 13 text

Separate the projects

Slide 14

Slide 14 text

"Cuckoo's Egg" application behind gateway

Slide 15

Slide 15 text

HTTP data service "simplicators"

Slide 16

Slide 16 text

"Pregression" tests

Slide 17

Slide 17 text

Fake simplicators in system tests

Slide 18

Slide 18 text

Introduce an acceptance test driven process

Slide 19

Slide 19 text

Replace the GUI with a web application

Slide 20

Slide 20 text

Continual indicative quoting is just a client

Slide 21

Slide 21 text

Caching proxies for performance and scaling

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Lines of Code Over Time