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
180
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
870
Failure is not an Option. Error handling strategies for Kotlin programs
npryce
0
500
Taking the Tiger by the Tail, P3X 2019
npryce
1
200
What we talk about when we talk about software, Agile Turkey Summit 2019
npryce
2
400
The Kotlin Type Hierarchy From Top to Bottom
npryce
7
2.8k
What we talk about when we talk about software
npryce
3
380
Why software changes & how we must change what we change when we change software
npryce
1
260
What we talk about when we talk about software
npryce
1
650
Having Our Cake and Eating It
npryce
4
1.1k
Other Decks in Programming
See All in Programming
Front-end application development, Symfony-style(s)
dunglas
2
1.9k
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
240
OpenAPI を守るのは難しい
ohmori_yusuke
2
770
Javaエンジニアのための Nodejs/Nuxt3入門
hidekatsu_izuno
0
270
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
330
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
38
17k
Git Lint
bkuhlmann
4
740
StreamlitとTerraformでデータカタログを作った話
gussan0223
0
280
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
3.2k
本格ローグライク制作にEbitengineを選んでみた
nagainaganawa
0
280
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
31
21k
puregoの活用例
aethiopicuschan
0
220
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
24
5.8k
GitHub's CSS Performance
jonrohan
1023
450k
Optimizing for Happiness
mojombo
369
69k
Designing with Data
zakiwarfel
95
4.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
What's in a price? How to price your products and services
michaelherold
237
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
258
12k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
The Cost Of JavaScript in 2023
addyosmani
13
3.8k
Teambox: Starting and Learning
jrom
127
8.4k
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