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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
App Intentsのビルドプロセスを支える技術
kntkymt
0
400
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
setup-vp GitLab対応の裏側
naokihaba
0
110
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
350
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
Family mrubyの進捗
kishima
1
130
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
290
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
180
Heart of Swift Concurrency
koher
0
910
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
2k
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
890
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The Curious Case for Waylosing
cassininazir
1
510
Tell your own story through comics
letsgokoyo
1
1.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
A better future with KSS
kneath
240
18k
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Music & Morning Musume
bryan
48
7.4k
Leo the Paperboy
mayatellez
10
2.3k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Practical Orchestrator
shlominoach
192
12k
Embracing the Ebb and Flow
colly
88
5.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