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
190
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
2
1k
Failure is not an Option. Error handling strategies for Kotlin programs
npryce
0
580
Taking the Tiger by the Tail, P3X 2019
npryce
1
210
What we talk about when we talk about software, Agile Turkey Summit 2019
npryce
2
420
The Kotlin Type Hierarchy From Top to Bottom
npryce
7
3.1k
What we talk about when we talk about software
npryce
3
390
Why software changes & how we must change what we change when we change software
npryce
1
280
What we talk about when we talk about software
npryce
1
680
Having Our Cake and Eating It
npryce
4
1.3k
Other Decks in Programming
See All in Programming
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
850
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
740
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
570
DROBEの生成AI活用事例 with AWS
ippey
0
130
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
3
120
Formの複雑さに立ち向かう
bmthd
1
860
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
760
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
100
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
530
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
210
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Thoughts on Productivity
jonyablonski
69
4.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Being A Developer After 40
akosma
89
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Building Applications with DynamoDB
mza
93
6.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Writing Fast Ruby
sferik
628
61k
We Have a Design System, Now What?
morganepeng
51
7.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
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