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
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.1k
Failure is not an Option. Error handling strategies for Kotlin programs
npryce
0
620
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
440
The Kotlin Type Hierarchy From Top to Bottom
npryce
7
3.3k
What we talk about when we talk about software
npryce
3
400
Why software changes & how we must change what we change when we change software
npryce
1
300
What we talk about when we talk about software
npryce
1
690
Having Our Cake and Eating It
npryce
4
1.4k
Other Decks in Programming
See All in Programming
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
620
Developer Joy - The New Paradigm
hollycummins
1
340
Leading Effective Engineering Teams in the AI Era
addyosmani
7
570
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
560
What's new in Spring Modulith?
olivergierke
1
160
CSC305 Lecture 08
javiergs
PRO
0
270
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.7k
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
1
150
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
技術的負債の正体を知って向き合う
irof
0
230
All About Angular's New Signal Forms
manfredsteyer
PRO
0
200
contribution to astral-sh/uv
shunsock
0
450
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Pragmatic Product Professional
lauravandoore
36
7k
KATA
mclloyd
PRO
32
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Practical Orchestrator
shlominoach
190
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
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