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.5k
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
710
Having Our Cake and Eating It
npryce
4
1.5k
Other Decks in Programming
See All in Programming
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
220
AHC061解説
shun_pi
0
400
CSC307 Lecture 15
javiergs
PRO
0
260
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.3k
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.5k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
590
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
180
Claude Code Skill入門
mayahoney
0
400
Ruby and LLM Ecosystem 2nd
koic
1
1k
Docコメントで始める簡単ガードレール
keisukeikeda
1
130
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
2.9k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
89
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
Building AI with AI
inesmontani
PRO
1
800
Unsuck your backbone
ammeep
672
58k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
400
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
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