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
600
Taking the Tiger by the Tail, P3X 2019
npryce
1
220
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.2k
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
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
Better Code Design in PHP
afilina
0
180
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
470
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
150
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
170
ML.NETで始める機械学習
ymd65536
0
240
Swift Testingのモチベを上げたい
stoticdev
2
150
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
19
4.2k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
250
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
160
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
iOSでQRコード生成奮闘記
ktcryomm
2
110
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Designing for humans not robots
tammielis
250
25k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Transcript
Reengineering Evolution, Devolution & Revolution Nat Pryce @natpryce | natpryce.com
| nat@natpryce.com
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