Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Reengineering
Search
Nat Pryce
January 22, 2017
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
660
Taking the Tiger by the Tail, P3X 2019
npryce
1
260
What we talk about when we talk about software, Agile Turkey Summit 2019
npryce
2
490
The Kotlin Type Hierarchy From Top to Bottom
npryce
7
3.5k
What we talk about when we talk about software
npryce
3
470
Why software changes & how we must change what we change when we change software
npryce
1
350
What we talk about when we talk about software
npryce
1
730
Having Our Cake and Eating It
npryce
4
1.5k
Other Decks in Programming
See All in Programming
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
Security issues being discussed on Web Platforms
petamoriken
0
960
一人だけ、Kiroが静止する日
hideg
0
110
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
250
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
130
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
220
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
140
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Into the Great Unknown - MozCon
thekraken
41
2.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
Are puppies a ranking factor?
jonoalderson
2
3.9k
Automating Front-end Workflow
addyosmani
1369
210k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
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