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
670
Taking the Tiger by the Tail, P3X 2019
npryce
1
270
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
360
What we talk about when we talk about software
npryce
1
740
Having Our Cake and Eating It
npryce
4
1.5k
Other Decks in Programming
See All in Programming
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
340
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.9k
JRuby: Past, Present, and Future
headius
0
220
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
270
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
230
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
570
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
310
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
Verilogで学ぶCPU自作入門
uyuki234
8
4k
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
4
520
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
WENDY [Excerpt]
tessaabrams
14
40k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Making Projects Easy
brettharned
120
6.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
870
KATA
mclloyd
PRO
35
16k
First, design no harm
axbom
PRO
2
1.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
450
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
Building the Perfect Custom Keyboard
takai
2
900
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