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.2k
Other Decks in Programming
See All in Programming
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.7k
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
440
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
140
ASP.NET Core の OpenAPIサポート
h455h1
0
110
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
140
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.8k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Documentation Writing (for coders)
carmenintech
67
4.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Building an army of robots
kneath
302
45k
It's Worth the Effort
3n
183
28k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Designing for humans not robots
tammielis
250
25k
Being A Developer After 40
akosma
89
590k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
4 Signs Your Business is Dying
shpigford
182
22k
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