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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
へんな働き方
yusukebe
5
2.7k
Ruby and LLM Ecosystem 2nd
koic
1
1k
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
160
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
160
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
0
300
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
330
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
条件判定に名前、つけてますか? #phperkaigi #c
77web
1
330
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
160
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
760
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
Paper Plane
katiecoart
PRO
0
48k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Optimizing for Happiness
mojombo
378
71k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
Being A Developer After 40
akosma
91
590k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
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