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
0
200
Reengineering
A case study presented to 4th year students at Imperial College
Nat Pryce
January 22, 2017
Tweet
Share
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
640
Taking the Tiger by the Tail, P3X 2019
npryce
1
230
What we talk about when we talk about software, Agile Turkey Summit 2019
npryce
2
450
The Kotlin Type Hierarchy From Top to Bottom
npryce
7
3.4k
What we talk about when we talk about software
npryce
3
410
Why software changes & how we must change what we change when we change software
npryce
1
310
What we talk about when we talk about software
npryce
1
700
Having Our Cake and Eating It
npryce
4
1.5k
Other Decks in Programming
See All in Programming
AgentCoreとHuman in the Loop
har1101
5
230
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
Fragmented Architectures
denyspoltorak
0
150
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Oxlintはいいぞ
yug1224
5
1.3k
CSC307 Lecture 01
javiergs
PRO
0
690
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
20
6.9k
AtCoder Conference 2025
shindannin
0
1k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
970
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
550
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
AI時代の認知負荷との向き合い方
optfit
0
150
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The Curse of the Amulet
leimatthew05
1
8.3k
The Spectacular Lies of Maps
axbom
PRO
1
520
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Docker and Python
trallard
47
3.7k
Building AI with AI
inesmontani
PRO
1
680
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Into the Great Unknown - MozCon
thekraken
40
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
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