Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reengineering
Search
Nat Pryce
January 22, 2017
Programming
210
0
Share
Reengineering
A case study presented to 4th year students at Imperial College
Nat Pryce
January 22, 2017
More Decks by Nat Pryce
See All by Nat Pryce
Mistakes we made adopting event sourcing (and how we recovered)
npryce
3
1.2k
Failure is not an Option. Error handling strategies for Kotlin programs
npryce
0
650
Taking the Tiger by the Tail, P3X 2019
npryce
1
250
What we talk about when we talk about software, Agile Turkey Summit 2019
npryce
2
470
The Kotlin Type Hierarchy From Top to Bottom
npryce
7
3.5k
What we talk about when we talk about software
npryce
3
430
Why software changes & how we must change what we change when we change software
npryce
1
330
What we talk about when we talk about software
npryce
1
720
Having Our Cake and Eating It
npryce
4
1.5k
Other Decks in Programming
See All in Programming
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
270
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
160
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
270
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.3k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
420
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
680
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
2k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
210
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
230
Modding RubyKaigi for Myself
yui_knk
0
870
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
The Pragmatic Product Professional
lauravandoore
37
7.3k
For a Future-Friendly Web
brad_frost
183
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Faster Mobile Websites
deanohume
310
31k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Documentation Writing (for coders)
carmenintech
77
5.4k
Transcript
Reengineering Evolution, Devolution & Revolution Nat Pryce @natpryce | natpryce.com
|
[email protected]
Quoting
Grand vision APAC EMEA US
Original architecture
Attempted optimisation
Parallelise calculations for APAC APAC EMEA
Start refactoring, but don't finish APAC EMEA
A new feature for EMEA APAC EMEA
Reports for APAC APAC EMEA
Diagnosing problems
The system was modelled on a manual, paper-based process
Idealised architecture
Separate the projects
"Cuckoo's Egg" application behind gateway
HTTP data service "simplicators"
"Pregression" tests
Fake simplicators in system tests
Introduce an acceptance test driven process
Replace the GUI with a web application
Continual indicative quoting is just a client
Caching proxies for performance and scaling
None
Lines of Code Over Time