Renovating old buildings and homes is commonplace, but why is technological renovation often overlooked? Just like a big home renovation adds to the quality of life, a successful architectural renovation has an outsized impact on the pace of innovation. Yet, why are software migrations perceived negatively? Frequently, it stems from past encounters with projects that were disruptive, costly, and executed poorly. In this talk, I outline my learnings on gracefully outgrowing technology and architectural choices, based on my experience scaling payment orchestration at Netflix to 250M members and preparing for the next 250M. You'll leave this session equipped with cognitive frameworks for evaluating architectural health and tactics to overcome common hurdles to transforming legacy architecture. I share battle-tested strategies for successfully navigating a ground-up architectural revamp to unlock innovation and enhance business value.
🔗 Conference Website: https://softwarearchitecture.live
📺 CSharp TV - Dev Streaming Destination http://csharp.tv
🌎 C# Corner - Community of Software and Data Developers
https://www.c-sharpcorner.com
#CSharpTV #CSharpCorner #CSharp #SoftwareArchitectureConf
Show More Show Less View Video Transcript
0:03
hello everyone welcome to my talk um
0:06
hello everyone welcome to my talk um
0:06
hello everyone welcome to my talk um renovate to innovate the fundamentals of
0:09
renovate to innovate the fundamentals of
0:09
renovate to innovate the fundamentals of transforming Legacy architecture I'm
0:12
transforming Legacy architecture I'm
0:12
transforming Legacy architecture I'm excited to be speaking at the software
0:14
excited to be speaking at the software
0:14
excited to be speaking at the software engineer software architecture
0:15
engineer software architecture
0:15
engineer software architecture conference today so thank you for having
0:19
conference today so thank you for having
0:19
conference today so thank you for having me just a little bit about myself first
0:23
me just a little bit about myself first
0:23
me just a little bit about myself first I am Rashmi vug gopal and I'm currently
0:26
I am Rashmi vug gopal and I'm currently
0:26
I am Rashmi vug gopal and I'm currently a senior software engineer at Netflix
0:29
a senior software engineer at Netflix
0:29
a senior software engineer at Netflix I'm part of growth engineering where my
0:31
I'm part of growth engineering where my
0:31
I'm part of growth engineering where my team focuses on enabling seamless
0:35
team focuses on enabling seamless
0:35
team focuses on enabling seamless payment experiences for consumers
0:37
payment experiences for consumers
0:38
payment experiences for consumers signing up for Netflix I've worked with
0:41
signing up for Netflix I've worked with
0:41
signing up for Netflix I've worked with Microsoft and Uber in the past and as a
0:44
Microsoft and Uber in the past and as a
0:44
Microsoft and Uber in the past and as a software engineer I spent the last
0:47
software engineer I spent the last
0:47
software engineer I spent the last decade building and operating reliable
0:50
decade building and operating reliable
0:50
decade building and operating reliable distributed systems at
0:53
distributed systems at
0:53
distributed systems at scale okay so with my intro out of the
0:57
scale okay so with my intro out of the
0:57
scale okay so with my intro out of the way let's Dive Right In
1:01
way let's Dive Right In
1:01
way let's Dive Right In our agenda for
1:03
our agenda for
1:03
our agenda for today we'll begin with what Legacy means
1:08
today we'll begin with what Legacy means
1:08
today we'll begin with what Legacy means and how I Define legacy
1:11
and how I Define legacy
1:11
and how I Define legacy systems next we'll talk about why
1:14
systems next we'll talk about why
1:14
systems next we'll talk about why systems become Legacy in the first
1:18
systems become Legacy in the first
1:18
systems become Legacy in the first place we'll review what technical
1:21
place we'll review what technical
1:21
place we'll review what technical renovation means and when it is most
1:25
renovation means and when it is most
1:25
renovation means and when it is most appropriate to do
1:27
appropriate to do
1:27
appropriate to do one we'll spend the majority of of time
1:30
one we'll spend the majority of of time
1:30
one we'll spend the majority of of time on the guiding principles and best
1:33
on the guiding principles and best
1:33
on the guiding principles and best practices for technical renovation
1:35
practices for technical renovation
1:35
practices for technical renovation that'll be the Crux of the talk before
1:38
that'll be the Crux of the talk before
1:38
that'll be the Crux of the talk before we wrap
1:40
up
1:42
up
1:42
up so what's the first thing that comes to
1:45
so what's the first thing that comes to
1:45
so what's the first thing that comes to mind when you think of the word
1:50
mind when you think of the word
1:50
mind when you think of the word legacy if you're open to sharing you
1:53
legacy if you're open to sharing you
1:53
legacy if you're open to sharing you know feel free to drop some words on the
1:56
know feel free to drop some words on the
1:56
know feel free to drop some words on the chat
2:04
I have you know I basically have a word
2:06
I have you know I basically have a word
2:06
I have you know I basically have a word cloud of from open AI for the word
2:11
cloud of from open AI for the word
2:11
cloud of from open AI for the word legacy as you can tell there's a few
2:14
legacy as you can tell there's a few
2:14
legacy as you can tell there's a few different ways of thinking about
2:17
different ways of thinking about
2:17
different ways of thinking about Legacy so the term Legacy is quite
2:23
overloaded so it's useful to spend a
2:26
overloaded so it's useful to spend a
2:26
overloaded so it's useful to spend a couple of minutes to get on the same
2:28
couple of minutes to get on the same
2:28
couple of minutes to get on the same page about what Legacy systems mean in
2:32
page about what Legacy systems mean in
2:32
page about what Legacy systems mean in the context of this
2:36
talk I Define legacy system or a a
2:40
talk I Define legacy system or a a
2:40
talk I Define legacy system or a a software system is Legacy or on its way
2:43
software system is Legacy or on its way
2:43
software system is Legacy or on its way to becoming Legacy if it hinders the
2:47
to becoming Legacy if it hinders the
2:47
to becoming Legacy if it hinders the organization's ability to meet or keep
2:50
organization's ability to meet or keep
2:50
organization's ability to meet or keep up with business
2:53
up with business
2:53
up with business requirements let's make this more
2:55
requirements let's make this more
2:55
requirements let's make this more concrete and talk through some telltale
2:58
concrete and talk through some telltale
2:58
concrete and talk through some telltale signs of systems that are unable to keep
3:00
signs of systems that are unable to keep
3:00
signs of systems that are unable to keep up with business
3:05
requirements when there's a decrease in
3:07
requirements when there's a decrease in
3:07
requirements when there's a decrease in Innovation
3:08
Innovation
3:08
Innovation velocity so as your software systems get
3:11
velocity so as your software systems get
3:12
velocity so as your software systems get more and more complex even a simple
3:14
more and more complex even a simple
3:14
more and more complex even a simple change can take a disproportionate
3:17
change can take a disproportionate
3:17
change can take a disproportionate amount of
3:19
amount of
3:19
amount of time product and project managers expect
3:23
time product and project managers expect
3:23
time product and project managers expect productivity to scale linearly with
3:28
productivity to scale linearly with
3:28
productivity to scale linearly with complexity engineer know better you know
3:31
complexity engineer know better you know
3:31
complexity engineer know better you know we're close to the ground and our past
3:33
we're close to the ground and our past
3:33
we're close to the ground and our past experience has primed us to be more
3:38
pragmatic it is a sign of a legacy
3:40
pragmatic it is a sign of a legacy
3:41
pragmatic it is a sign of a legacy system when the reality of how long it
3:44
system when the reality of how long it
3:44
system when the reality of how long it takes to roll out A change is far from
3:47
takes to roll out A change is far from
3:47
takes to roll out A change is far from the
3:48
the
3:48
the expectation and this is driven by an
3:50
expectation and this is driven by an
3:50
expectation and this is driven by an increase in
3:53
complexity there are numerous sources of
3:56
complexity there are numerous sources of
3:56
complexity there are numerous sources of complexity in software engineering you
3:59
complexity in software engineering you
3:59
complexity in software engineering you know work across multiple teams involves
4:02
know work across multiple teams involves
4:02
know work across multiple teams involves coordination
4:04
coordination
4:04
coordination tax a lack of established boundary
4:07
tax a lack of established boundary
4:07
tax a lack of established boundary between teams makes it difficult to
4:09
between teams makes it difficult to
4:09
between teams makes it difficult to release isolated
4:12
release isolated
4:12
release isolated changes a lack of investment in
4:15
changes a lack of investment in
4:15
changes a lack of investment in observability Automation and testing
4:18
observability Automation and testing
4:18
observability Automation and testing leads to high operational costs just for
4:22
leads to high operational costs just for
4:22
leads to high operational costs just for keeping the lights
4:23
keeping the lights
4:23
keeping the lights on to recap there are various sources of
4:27
on to recap there are various sources of
4:27
on to recap there are various sources of complexity and as it go goes up the
4:30
complexity and as it go goes up the
4:30
complexity and as it go goes up the developer produ productivity and
4:33
developer produ productivity and
4:33
developer produ productivity and Innovation velocity comes
4:38
down another sign of Legacy system is
4:41
down another sign of Legacy system is
4:41
down another sign of Legacy system is when the quality of experience starts to
4:45
when the quality of experience starts to
4:45
when the quality of experience starts to degrade QE measures the overall
4:48
degrade QE measures the overall
4:48
degrade QE measures the overall satisfaction of end users when they
4:51
satisfaction of end users when they
4:51
satisfaction of end users when they interact with the
4:54
interact with the
4:54
interact with the system I'm sure we've all experienced
4:57
system I'm sure we've all experienced
4:57
system I'm sure we've all experienced the very real frustration of waiting
4:59
the very real frustration of waiting
4:59
the very real frustration of waiting many seconds for a screen to
5:03
many seconds for a screen to
5:03
many seconds for a screen to load in fact Amazon has an Infamous
5:06
load in fact Amazon has an Infamous
5:06
load in fact Amazon has an Infamous study that quantifies the impact of
5:09
study that quantifies the impact of
5:09
study that quantifies the impact of latency to their
5:11
latency to their
5:11
latency to their business they find that every 100
5:14
business they find that every 100
5:14
business they find that every 100 millisecond increase in latency impacts
5:17
millisecond increase in latency impacts
5:17
millisecond increase in latency impacts their sales by
5:20
their sales by
5:20
their sales by 1% to recap a dip in quality of
5:24
1% to recap a dip in quality of
5:24
1% to recap a dip in quality of experience despite a best effort to tune
5:27
experience despite a best effort to tune
5:27
experience despite a best effort to tune them is a sign of a legacy
5:31
system another signal is when it becomes
5:35
system another signal is when it becomes
5:35
system another signal is when it becomes consistently difficult to scale the
5:38
consistently difficult to scale the
5:38
consistently difficult to scale the system for increased user load and user
5:42
system for increased user load and user
5:42
system for increased user load and user demand as your business evolves you will
5:46
demand as your business evolves you will
5:46
demand as your business evolves you will find that the software infrastructure
5:48
find that the software infrastructure
5:48
find that the software infrastructure that was set up to serve you know a
5:49
that was set up to serve you know a
5:50
that was set up to serve you know a couple million users well is not going
5:52
couple million users well is not going
5:52
couple million users well is not going to be suitable to to serve a billion
5:55
to be suitable to to serve a billion
5:55
to be suitable to to serve a billion users
5:57
users
5:57
users well A system that is is not able to
6:00
well A system that is is not able to
6:00
well A system that is is not able to keep up with an increase in data load or
6:03
keep up with an increase in data load or
6:03
keep up with an increase in data load or user volume is on its way to becoming
6:09
Legacy in
6:11
Legacy in
6:11
Legacy in summary it is a sign of a legacy system
6:15
summary it is a sign of a legacy system
6:15
summary it is a sign of a legacy system when it consistently becomes difficult
6:18
when it consistently becomes difficult
6:18
when it consistently becomes difficult to add new features or even make
6:21
to add new features or even make
6:21
to add new features or even make changes and both of these are required
6:24
changes and both of these are required
6:24
changes and both of these are required to keep up with the business needs
6:30
now that we've covered what I mean by
6:33
now that we've covered what I mean by
6:34
now that we've covered what I mean by Legacy let's talk about why software
6:38
Legacy let's talk about why software
6:38
Legacy let's talk about why software systems become Legacy in the first
6:44
place the most obvious reason is the
6:47
place the most obvious reason is the
6:47
place the most obvious reason is the rapid Pace at which technology advances
6:53
today just like devices get
6:57
today just like devices get
6:57
today just like devices get outdated systems that were once
6:59
outdated systems that were once
6:59
outdated systems that were once considered Cutting Edge struggle to keep
7:02
considered Cutting Edge struggle to keep
7:02
considered Cutting Edge struggle to keep up with modern industry standards just a
7:05
up with modern industry standards just a
7:05
up with modern industry standards just a few years down the line as their
7:07
few years down the line as their
7:07
few years down the line as their technology choices become
7:10
technology choices become
7:10
technology choices become outdated in addition to this obvious
7:13
outdated in addition to this obvious
7:13
outdated in addition to this obvious reason there are two schools of thought
7:16
reason there are two schools of thought
7:16
reason there are two schools of thought that explain software
7:18
that explain software
7:18
that explain software degradation the first is bit rot
7:22
degradation the first is bit rot
7:23
degradation the first is bit rot Theory this states that software
7:25
Theory this states that software
7:25
Theory this states that software gradually degrades over time due to
7:28
gradually degrades over time due to
7:28
gradually degrades over time due to incremental changes to itself or its
7:33
surroundings some examples of bit rot
7:36
surroundings some examples of bit rot
7:36
surroundings some examples of bit rot are code
7:38
are code
7:38
are code duplication lack of documentation or a
7:40
duplication lack of documentation or a
7:40
duplication lack of documentation or a loss of
7:41
loss of
7:41
loss of knowledge the primary driving Factor
7:44
knowledge the primary driving Factor
7:44
knowledge the primary driving Factor here are project deadlines and the real
7:47
here are project deadlines and the real
7:47
here are project deadlines and the real tradeoffs that engineers make to be able
7:49
tradeoffs that engineers make to be able
7:49
tradeoffs that engineers make to be able to meet
7:50
to meet
7:50
to meet them bitrot can be kept in check by
7:53
them bitrot can be kept in check by
7:53
them bitrot can be kept in check by following you know all the software
7:55
following you know all the software
7:55
following you know all the software engineering best practices but despite a
7:58
engineering best practices but despite a
7:58
engineering best practices but despite a best efforts they will will accumulate
8:00
best efforts they will will accumulate
8:00
best efforts they will will accumulate over
8:03
time the law of architectural entropy
8:07
time the law of architectural entropy
8:07
time the law of architectural entropy states that software systems eventually
8:10
states that software systems eventually
8:10
states that software systems eventually lose their
8:11
lose their
8:11
lose their integrity when features are added
8:14
integrity when features are added
8:14
integrity when features are added without much consideration of the
8:16
without much consideration of the
8:16
without much consideration of the original
8:19
architecture as companies evolve their
8:21
architecture as companies evolve their
8:21
architecture as companies evolve their business model it is surprisingly common
8:24
business model it is surprisingly common
8:24
business model it is surprisingly common for teams to extend their existing
8:27
for teams to extend their existing
8:27
for teams to extend their existing services to find the product mark Market
8:29
services to find the product mark Market
8:29
services to find the product mark Market fit for the new business
8:34
areas imagine the growth journey of an
8:38
areas imagine the growth journey of an
8:38
areas imagine the growth journey of an e-commerce platform at the early stages
8:42
e-commerce platform at the early stages
8:42
e-commerce platform at the early stages having the perfect architecture is not a
8:45
having the perfect architecture is not a
8:45
having the perfect architecture is not a priority they're focused on establishing
8:48
priority they're focused on establishing
8:48
priority they're focused on establishing a successful
8:49
a successful
8:49
a successful business so the architecture evolves
8:52
business so the architecture evolves
8:52
business so the architecture evolves very quickly and is driven by business
8:54
very quickly and is driven by business
8:54
very quickly and is driven by business needs like can we render order history
8:57
needs like can we render order history
8:57
needs like can we render order history for users how can we add the the ability
9:00
for users how can we add the the ability
9:00
for users how can we add the the ability to recommend products based on their
9:01
to recommend products based on their
9:02
to recommend products based on their past purchases Etc and in this example
9:05
past purchases Etc and in this example
9:05
past purchases Etc and in this example every new feature is added to the
9:08
every new feature is added to the
9:08
every new feature is added to the existing monolith steadily increasing
9:11
existing monolith steadily increasing
9:11
existing monolith steadily increasing the architectural
9:13
the architectural
9:13
the architectural entropy so architectural entropy to
9:16
entropy so architectural entropy to
9:16
entropy so architectural entropy to recap is attributed to updates and
9:19
recap is attributed to updates and
9:19
recap is attributed to updates and extensions that introduce more
9:21
extensions that introduce more
9:22
extensions that introduce more capability to a system than it was
9:24
capability to a system than it was
9:24
capability to a system than it was originally built to
9:28
handle in the real world software
9:31
handle in the real world software
9:31
handle in the real world software systems are affected by all of these
9:34
systems are affected by all of these
9:34
systems are affected by all of these phenomena this explains why outdated and
9:37
phenomena this explains why outdated and
9:37
phenomena this explains why outdated and Legacy systems are more common place
9:40
Legacy systems are more common place
9:40
Legacy systems are more common place than we'd like them to
9:43
than we'd like them to
9:43
than we'd like them to be now that we've established that
9:47
be now that we've established that
9:47
be now that we've established that Legacy systems are common
9:49
Legacy systems are common
9:49
Legacy systems are common place let's ask
9:52
place let's ask
9:52
place let's ask ourselves do we proactively improve the
9:55
ourselves do we proactively improve the
9:55
ourselves do we proactively improve the state of our software systems
9:59
state of our software systems
9:59
state of our software systems I
10:02
wish the inevitability of software
10:05
wish the inevitability of software
10:05
wish the inevitability of software degradation on one hand driven by
10:08
degradation on one hand driven by
10:08
degradation on one hand driven by entropy bitrot and technical
10:11
entropy bitrot and technical
10:11
entropy bitrot and technical advancements combined with the lack of
10:15
advancements combined with the lack of
10:15
advancements combined with the lack of always I mean I'm not saying this always
10:17
always I mean I'm not saying this always
10:17
always I mean I'm not saying this always happens but often the lack of
10:19
happens but often the lack of
10:19
happens but often the lack of proactiveness in addressing them on the
10:22
proactiveness in addressing them on the
10:22
proactiveness in addressing them on the other hand leaves us with systems that
10:24
other hand leaves us with systems that
10:24
other hand leaves us with systems that are difficult to understand maintain and
10:28
are difficult to understand maintain and
10:28
are difficult to understand maintain and extend
10:30
extend
10:30
extend and that brings us to technical
10:34
and that brings us to technical
10:34
and that brings us to technical renovation so what does technical
10:37
renovation so what does technical
10:37
renovation so what does technical renovation actually
10:40
mean I Define technical renovation as
10:44
mean I Define technical renovation as
10:44
mean I Define technical renovation as the act of upgrading or replacing
10:47
the act of upgrading or replacing
10:47
the act of upgrading or replacing outdated Systems and Technology to
10:50
outdated Systems and Technology to
10:50
outdated Systems and Technology to improve the state of your software
10:54
systems often I get asked hey but how
10:58
systems often I get asked hey but how
10:58
systems often I get asked hey but how about re factoring how does that fit
11:01
about re factoring how does that fit
11:01
about re factoring how does that fit into technical
11:04
renovation I view refactoring similar to
11:08
renovation I view refactoring similar to
11:08
renovation I view refactoring similar to organizing your
11:10
organizing your
11:10
organizing your closet much like refactoring organizing
11:14
closet much like refactoring organizing
11:14
closet much like refactoring organizing involves moving things around this makes
11:17
involves moving things around this makes
11:17
involves moving things around this makes it easy to access all pieces of your
11:20
it easy to access all pieces of your
11:20
it easy to access all pieces of your clothing hey you might even get rid of
11:23
clothing hey you might even get rid of
11:23
clothing hey you might even get rid of some stuff to create
11:25
some stuff to create
11:25
some stuff to create space and it also has the side effect of
11:27
space and it also has the side effect of
11:27
space and it also has the side effect of reminding you what you already have and
11:31
reminding you what you already have and
11:31
reminding you what you already have and that could influence your future
11:33
that could influence your future
11:33
that could influence your future wardrobe
11:37
Investments sticking with the closet
11:39
Investments sticking with the closet
11:39
Investments sticking with the closet analogy renovation is when you break
11:42
analogy renovation is when you break
11:42
analogy renovation is when you break down the Walls to replace your regular
11:45
down the Walls to replace your regular
11:45
down the Walls to replace your regular closet with a walk-in one renovation
11:49
closet with a walk-in one renovation
11:49
closet with a walk-in one renovation goes beyond just moving things around or
11:51
goes beyond just moving things around or
11:51
goes beyond just moving things around or getting rid of things renovation is when
11:54
getting rid of things renovation is when
11:54
getting rid of things renovation is when you make a drastic change that shakes
11:57
you make a drastic change that shakes
11:57
you make a drastic change that shakes things up and the end result result
11:59
things up and the end result result
11:59
things up and the end result result gives you capabilities that you didn't
12:02
gives you capabilities that you didn't
12:02
gives you capabilities that you didn't have
12:06
before that said refactoring is very
12:10
before that said refactoring is very
12:10
before that said refactoring is very important and it can occur a lot more
12:12
important and it can occur a lot more
12:12
important and it can occur a lot more frequently than a
12:14
frequently than a
12:14
frequently than a renovation refactoring is a valid
12:17
renovation refactoring is a valid
12:17
renovation refactoring is a valid strategy to maintain a healthy code base
12:20
strategy to maintain a healthy code base
12:20
strategy to maintain a healthy code base and there are a lot of benefits to
12:22
and there are a lot of benefits to
12:22
and there are a lot of benefits to maintaining a healthy Cod piece besides
12:24
maintaining a healthy Cod piece besides
12:24
maintaining a healthy Cod piece besides making technical renovation easier than
12:27
making technical renovation easier than
12:27
making technical renovation easier than it would otherwise be the sheer Joy of
12:30
it would otherwise be the sheer Joy of
12:30
it would otherwise be the sheer Joy of working in a refactored and readable and
12:33
working in a refactored and readable and
12:33
working in a refactored and readable and extendable code base is
12:36
extendable code base is
12:36
extendable code base is unmatched okay so now that we've
12:39
unmatched okay so now that we've
12:39
unmatched okay so now that we've established what technical renovation is
12:41
established what technical renovation is
12:41
established what technical renovation is and how it's different from
12:43
and how it's different from
12:43
and how it's different from refactoring let's review some scenarios
12:47
refactoring let's review some scenarios
12:47
refactoring let's review some scenarios that make technical renovation a
12:50
that make technical renovation a
12:50
that make technical renovation a compelling
12:54
approach when there is a new or
12:57
approach when there is a new or
12:57
approach when there is a new or diverging business need
12:59
diverging business need
13:00
diverging business need attempting to reuse the existing systems
13:03
attempting to reuse the existing systems
13:03
attempting to reuse the existing systems to solve for it introduces complexity
13:06
to solve for it introduces complexity
13:06
to solve for it introduces complexity and we've already talked about how
13:07
and we've already talked about how
13:07
and we've already talked about how complexity slows down Innovation
13:10
complexity slows down Innovation
13:10
complexity slows down Innovation velocity let's look at an example of a
13:14
velocity let's look at an example of a
13:14
velocity let's look at an example of a business driven renovation and Netflix
13:17
business driven renovation and Netflix
13:17
business driven renovation and Netflix is a good use case for that the company
13:20
is a good use case for that the company
13:21
is a good use case for that the company has evolved from a DVD distribution
13:23
has evolved from a DVD distribution
13:23
has evolved from a DVD distribution service to a streaming
13:26
service to a streaming
13:26
service to a streaming service the capabilities that were
13:28
service the capabilities that were
13:28
service the capabilities that were required re ired to deliver DVDs is very
13:31
required re ired to deliver DVDs is very
13:32
required re ired to deliver DVDs is very different from the capabilities required
13:34
different from the capabilities required
13:34
different from the capabilities required to stream video on
13:37
to stream video on
13:37
to stream video on demand so the systems that serve Netflix
13:40
demand so the systems that serve Netflix
13:40
demand so the systems that serve Netflix well in the DVD era aren't going to be
13:44
well in the DVD era aren't going to be
13:44
well in the DVD era aren't going to be sufficient to run a successful streaming
13:47
sufficient to run a successful streaming
13:47
sufficient to run a successful streaming service this drastic change in the
13:50
service this drastic change in the
13:50
service this drastic change in the business need eventually calls for a
13:52
business need eventually calls for a
13:52
business need eventually calls for a technical
13:54
technical
13:54
technical renovation the takeaway here is that
13:57
renovation the takeaway here is that
13:57
renovation the takeaway here is that architecting software involves making
14:00
architecting software involves making
14:00
architecting software involves making some broad and fundamental assumptions
14:03
some broad and fundamental assumptions
14:03
some broad and fundamental assumptions and they're hard to adapt when the
14:05
and they're hard to adapt when the
14:05
and they're hard to adapt when the business context changes
14:11
drastically another example is
14:13
drastically another example is
14:13
drastically another example is modernizing your technology stack and
14:16
modernizing your technology stack and
14:16
modernizing your technology stack and this specifically is an example of a
14:18
this specifically is an example of a
14:18
this specifically is an example of a ecosystem driven
14:21
ecosystem driven
14:21
ecosystem driven renovation if you're going from having a
14:24
renovation if you're going from having a
14:24
renovation if you're going from having a python service you know that hosts rest
14:27
python service you know that hosts rest
14:27
python service you know that hosts rest apis to then a Java service that's
14:29
apis to then a Java service that's
14:29
apis to then a Java service that's behind a graphql Gateway just
14:32
behind a graphql Gateway just
14:32
behind a graphql Gateway just refactoring isn't going to cut it you
14:34
refactoring isn't going to cut it you
14:34
refactoring isn't going to cut it you need a technical renovation to modernize
14:37
need a technical renovation to modernize
14:37
need a technical renovation to modernize your
14:41
software sometimes software systems turn
14:44
software sometimes software systems turn
14:44
software sometimes software systems turn out to be more successful than anyone
14:46
out to be more successful than anyone
14:46
out to be more successful than anyone imagined they would while this
14:49
imagined they would while this
14:49
imagined they would while this specifically is a good problem to have
14:52
specifically is a good problem to have
14:52
specifically is a good problem to have it also means that the architecture and
14:55
it also means that the architecture and
14:55
it also means that the architecture and the systems stick around for
14:57
the systems stick around for
14:57
the systems stick around for longer and and this unexpected longevity
15:01
longer and and this unexpected longevity
15:01
longer and and this unexpected longevity results in a significant accumulation of
15:04
results in a significant accumulation of
15:04
results in a significant accumulation of tech
15:04
tech
15:04
tech debt and that becomes extremely costly
15:07
debt and that becomes extremely costly
15:07
debt and that becomes extremely costly to address just with refactoring making
15:10
to address just with refactoring making
15:10
to address just with refactoring making a technical renovation a necessity to
15:13
a technical renovation a necessity to
15:13
a technical renovation a necessity to improve the state of the software
15:15
improve the state of the software
15:15
improve the state of the software systems and the architectural
15:21
Health now that we've identified a few
15:24
Health now that we've identified a few
15:24
Health now that we've identified a few scenarios that warrant a technical
15:27
scenarios that warrant a technical
15:27
scenarios that warrant a technical renovation
15:29
renovation
15:29
renovation let's talk about how to approach one and
15:33
let's talk about how to approach one and
15:33
let's talk about how to approach one and today I'd like to share five guiding
15:36
today I'd like to share five guiding
15:36
today I'd like to share five guiding principles to maximize the success of
15:39
principles to maximize the success of
15:39
principles to maximize the success of your technical
15:42
renovation make it work make it right
15:46
renovation make it work make it right
15:46
renovation make it work make it right make it
15:47
make it
15:47
make it fast this quote from Kent Beck
15:51
fast this quote from Kent Beck
15:51
fast this quote from Kent Beck encapsulates my approach to any new work
15:54
encapsulates my approach to any new work
15:54
encapsulates my approach to any new work not just Renovations and it is my first
15:57
not just Renovations and it is my first
15:57
not just Renovations and it is my first guiding principle for a good
16:00
guiding principle for a good
16:00
guiding principle for a good reason technical renovation is a huge
16:03
reason technical renovation is a huge
16:03
reason technical renovation is a huge undertaking and prioritizing can be a
16:06
undertaking and prioritizing can be a
16:06
undertaking and prioritizing can be a very daunting
16:08
very daunting
16:08
very daunting Affair identifying what we should be
16:10
Affair identifying what we should be
16:10
Affair identifying what we should be doing first and what can be left for
16:13
doing first and what can be left for
16:13
doing first and what can be left for later is a question that is kept me up
16:15
later is a question that is kept me up
16:15
later is a question that is kept me up at
16:16
at
16:16
at night Kent suggests that our first
16:19
night Kent suggests that our first
16:19
night Kent suggests that our first priority should be to focus on making it
16:23
priority should be to focus on making it
16:23
priority should be to focus on making it work beat the analysis paralysis by
16:27
work beat the analysis paralysis by
16:27
work beat the analysis paralysis by doing the simplest thing that just
16:31
doing the simplest thing that just
16:31
doing the simplest thing that just works because guess what you're out of
16:33
works because guess what you're out of
16:33
works because guess what you're out of business if you don't have a system that
16:36
business if you don't have a system that
16:36
business if you don't have a system that doesn't get the job
16:39
doesn't get the job
16:39
doesn't get the job done then make it right this stage is a
16:44
done then make it right this stage is a
16:44
done then make it right this stage is a good time to prioritize extensibility
16:47
good time to prioritize extensibility
16:47
good time to prioritize extensibility readability and
16:49
readability and
16:50
readability and adaptability this is also we you have to
16:52
adaptability this is also we you have to
16:52
adaptability this is also we you have to be mindful to resist the temptation to
16:54
be mindful to resist the temptation to
16:54
be mindful to resist the temptation to over
16:55
over
16:55
over engineer as a general rule of thumb if
16:58
engineer as a general rule of thumb if
16:58
engineer as a general rule of thumb if you don't regret any of your early
17:01
you don't regret any of your early
17:01
you don't regret any of your early decisions chances are you over
17:06
engineered finally make it fast now is a
17:11
engineered finally make it fast now is a
17:11
engineered finally make it fast now is a good time to prioritize
17:13
good time to prioritize
17:13
good time to prioritize performance make the necessary tweaks to
17:15
performance make the necessary tweaks to
17:15
performance make the necessary tweaks to the quality of experience metrics that a
17:17
the quality of experience metrics that a
17:18
the quality of experience metrics that a tabl takes to serve your business
17:21
tabl takes to serve your business
17:21
tabl takes to serve your business well so this structured approach to
17:24
well so this structured approach to
17:24
well so this structured approach to tackling the various aspects of a
17:27
tackling the various aspects of a
17:27
tackling the various aspects of a technical renovation
17:29
technical renovation
17:29
technical renovation helps break up a daunting Endeavor into
17:32
helps break up a daunting Endeavor into
17:32
helps break up a daunting Endeavor into manageable Milestones giving you the
17:35
manageable Milestones giving you the
17:35
manageable Milestones giving you the clarity you need to focus on the right
17:37
clarity you need to focus on the right
17:37
clarity you need to focus on the right things at the right
17:42
time my second guiding principle is
17:45
time my second guiding principle is
17:45
time my second guiding principle is evolutionary
17:49
architecture internalize the fact that
17:52
architecture internalize the fact that
17:52
architecture internalize the fact that complex systems cannot be fully designed
17:56
complex systems cannot be fully designed
17:56
complex systems cannot be fully designed upfront building software in a rapidly
17:59
upfront building software in a rapidly
17:59
upfront building software in a rapidly changing environment comes with many
18:02
changing environment comes with many
18:02
changing environment comes with many unknowns and
18:04
unknowns and
18:04
unknowns and surprises so evolving your architecture
18:07
surprises so evolving your architecture
18:07
surprises so evolving your architecture as you go is more
18:12
pragmatic so first start by defining a
18:15
pragmatic so first start by defining a
18:15
pragmatic so first start by defining a set of Fitness functions that represent
18:18
set of Fitness functions that represent
18:18
set of Fitness functions that represent the desired qualities of your end State
18:22
the desired qualities of your end State
18:22
the desired qualities of your end State such as performance security and
18:26
such as performance security and
18:26
such as performance security and scalability once you've picked the
18:28
scalability once you've picked the
18:29
scalability once you've picked the system qualities that matter the most to
18:31
system qualities that matter the most to
18:31
system qualities that matter the most to you use that to then guide your decision
18:35
you use that to then guide your decision
18:35
you use that to then guide your decision making this ensures that your
18:37
making this ensures that your
18:37
making this ensures that your architecture is evolving in the
18:39
architecture is evolving in the
18:39
architecture is evolving in the direction that is right for you and your
18:41
direction that is right for you and your
18:41
direction that is right for you and your organization's
18:45
priorities adopt a continuous delivery
18:49
priorities adopt a continuous delivery
18:49
priorities adopt a continuous delivery practice this helps reliably release
18:52
practice this helps reliably release
18:52
practice this helps reliably release changes
18:53
changes
18:54
changes frequently automate all the steps
18:56
frequently automate all the steps
18:56
frequently automate all the steps between developing a feature to
18:58
between developing a feature to
18:58
between developing a feature to releasing a
19:00
releasing a
19:00
releasing a feature this provides the fast feedback
19:03
feature this provides the fast feedback
19:03
feature this provides the fast feedback loop that helps your team AB test and
19:06
loop that helps your team AB test and
19:06
loop that helps your team AB test and experiment your changes out in the wild
19:09
experiment your changes out in the wild
19:09
experiment your changes out in the wild in the real
19:10
in the real
19:10
in the real world and experimentation in general is
19:14
world and experimentation in general is
19:14
world and experimentation in general is key to maintaining High Innovation
19:21
velocity that brings us to incremental
19:24
velocity that brings us to incremental
19:24
velocity that brings us to incremental changes and this is the Crux of
19:26
changes and this is the Crux of
19:26
changes and this is the Crux of evolutionary
19:27
evolutionary
19:27
evolutionary architecture create an environment that
19:30
architecture create an environment that
19:30
architecture create an environment that is conducive to making small changes and
19:34
is conducive to making small changes and
19:34
is conducive to making small changes and validate your technical decisions along
19:36
validate your technical decisions along
19:36
validate your technical decisions along the
19:36
the
19:36
the way first pilot your renovation
19:39
way first pilot your renovation
19:39
way first pilot your renovation architecture in a low stakes environment
19:42
architecture in a low stakes environment
19:42
architecture in a low stakes environment in an area that is not as business
19:44
in an area that is not as business
19:45
in an area that is not as business critical and once the pilot proves
19:47
critical and once the pilot proves
19:47
critical and once the pilot proves successful expand your renovation to
19:50
successful expand your renovation to
19:50
successful expand your renovation to more business critical
19:53
areas in
19:55
areas in
19:55
areas in summary you should expect your
19:58
summary you should expect your
19:58
summary you should expect your requirements to grow and evolve it's a
20:01
requirements to grow and evolve it's a
20:01
requirements to grow and evolve it's a given that that's not going to stay
20:03
given that that's not going to stay
20:03
given that that's not going to stay constant so make incremental changes
20:07
constant so make incremental changes
20:07
constant so make incremental changes validate your architecture against your
20:09
validate your architecture against your
20:09
validate your architecture against your Fitness functions AB test and experiment
20:12
Fitness functions AB test and experiment
20:12
Fitness functions AB test and experiment your changes in with real users and
20:16
your changes in with real users and
20:16
your changes in with real users and iterate from there to make more
20:18
iterate from there to make more
20:18
iterate from there to make more incremental
20:19
incremental
20:19
incremental changes so this process is critical for
20:23
changes so this process is critical for
20:23
changes so this process is critical for the long-term success of your renovation
20:25
the long-term success of your renovation
20:25
the long-term success of your renovation initiative because it ensures that your
20:28
initiative because it ensures that your
20:28
initiative because it ensures that your architect cure is adapting in line with
20:31
architect cure is adapting in line with
20:31
architect cure is adapting in line with the business
20:34
needs on to the third guiding
20:40
principle no organization or company
20:43
principle no organization or company
20:43
principle no organization or company will stop doing new
20:45
will stop doing new
20:45
will stop doing new work it is wishful thinking to hope for
20:49
work it is wishful thinking to hope for
20:49
work it is wishful thinking to hope for a dedicated renovation window that is
20:52
a dedicated renovation window that is
20:52
a dedicated renovation window that is uninterrupted by new feature
20:56
uninterrupted by new feature
20:56
uninterrupted by new feature requests so the ability to Main maintain
20:59
requests so the ability to Main maintain
20:59
requests so the ability to Main maintain feature development velocity in parallel
21:02
feature development velocity in parallel
21:02
feature development velocity in parallel with the renovation initiative becomes a
21:05
with the renovation initiative becomes a
21:05
with the renovation initiative becomes a prerequisite for
21:09
Success it is equally important to
21:11
Success it is equally important to
21:11
Success it is equally important to strike the right balance between the
21:14
strike the right balance between the
21:14
strike the right balance between the extent of overlap between feature
21:17
extent of overlap between feature
21:17
extent of overlap between feature Innovation and feature
21:19
Innovation and feature
21:19
Innovation and feature renovation imagine a scenario where you
21:22
renovation imagine a scenario where you
21:22
renovation imagine a scenario where you combine Innovation and renovation
21:24
combine Innovation and renovation
21:24
combine Innovation and renovation oriented steps in your project for a
21:28
oriented steps in your project for a
21:28
oriented steps in your project for a large number of
21:29
large number of
21:29
large number of components so now you're AB testing and
21:33
components so now you're AB testing and
21:33
components so now you're AB testing and experimenting your changes to ensure
21:35
experimenting your changes to ensure
21:35
experimenting your changes to ensure they're not inadvertently harming your
21:37
they're not inadvertently harming your
21:37
they're not inadvertently harming your business
21:38
business
21:38
business metrics and there's two possible
21:40
metrics and there's two possible
21:40
metrics and there's two possible outcomes here outcome a the test is
21:44
outcomes here outcome a the test is
21:44
outcomes here outcome a the test is green indicates no harm that's great
21:47
green indicates no harm that's great
21:47
green indicates no harm that's great news cuz all is
21:48
news cuz all is
21:49
news cuz all is well but if it is the outcome B where
21:52
well but if it is the outcome B where
21:52
well but if it is the outcome B where your test is
21:54
your test is
21:54
your test is negative then we need to be able to
21:57
negative then we need to be able to
21:57
negative then we need to be able to identify what is causing the
22:00
identify what is causing the
22:00
identify what is causing the regression are the renovation related
22:02
regression are the renovation related
22:02
regression are the renovation related changes the contributing factor here or
22:05
changes the contributing factor here or
22:05
changes the contributing factor here or is it the Innovation components that's
22:08
is it the Innovation components that's
22:08
is it the Innovation components that's causing the dip in your metric maybe
22:11
causing the dip in your metric maybe
22:11
causing the dip in your metric maybe it's both but debugging to pinpoint the
22:15
it's both but debugging to pinpoint the
22:15
it's both but debugging to pinpoint the problematic changes can become a painful
22:17
problematic changes can become a painful
22:17
problematic changes can become a painful Endeavor because of how entangled they
22:19
Endeavor because of how entangled they
22:19
Endeavor because of how entangled they both
22:20
both
22:20
both are so the take away here is that the
22:24
are so the take away here is that the
22:25
are so the take away here is that the two birds in one stone approach is not
22:28
two birds in one stone approach is not
22:28
two birds in one stone approach is not always a
22:30
always a
22:30
always a appropriate on the other end of the
22:32
appropriate on the other end of the
22:32
appropriate on the other end of the spectrum is enforcing that each new
22:35
spectrum is enforcing that each new
22:35
spectrum is enforcing that each new change has to either be an innovation
22:38
change has to either be an innovation
22:38
change has to either be an innovation step or a renovation step but never
22:42
step or a renovation step but never
22:42
step or a renovation step but never both this is also not practical because
22:46
both this is also not practical because
22:46
both this is also not practical because it becomes expensive and timec consuming
22:48
it becomes expensive and timec consuming
22:48
it becomes expensive and timec consuming to create an environment where only one
22:51
to create an environment where only one
22:51
to create an environment where only one thing changes at a time a more pragmatic
22:55
thing changes at a time a more pragmatic
22:55
thing changes at a time a more pragmatic approach would be to apply good judgment
22:58
approach would be to apply good judgment
22:58
approach would be to apply good judgment on the right extent of
23:02
on the right extent of
23:02
on the right extent of overlap so in summary it is worth the
23:05
overlap so in summary it is worth the
23:05
overlap so in summary it is worth the trouble to sequence the renovation and
23:08
trouble to sequence the renovation and
23:08
trouble to sequence the renovation and Innovation steps for business critical
23:11
Innovation steps for business critical
23:11
Innovation steps for business critical areas but then lean into risk to combine
23:14
areas but then lean into risk to combine
23:14
areas but then lean into risk to combine both for less sensitive features in the
23:17
both for less sensitive features in the
23:17
both for less sensitive features in the spirit of increasing the overall
23:19
spirit of increasing the overall
23:19
spirit of increasing the overall execution velocity for your
23:25
project on to our fourth guiding
23:27
project on to our fourth guiding
23:27
project on to our fourth guiding principle
23:30
deprecation driven development focuses
23:34
deprecation driven development focuses
23:34
deprecation driven development focuses on what we're gaining by deprecating as
23:38
on what we're gaining by deprecating as
23:38
on what we're gaining by deprecating as opposed to what we
23:39
opposed to what we
23:39
opposed to what we lose this approach makes the case that
23:43
lose this approach makes the case that
23:43
lose this approach makes the case that systematically removing obsolete
23:46
systematically removing obsolete
23:46
systematically removing obsolete technology is a prerequisite for healthy
23:49
technology is a prerequisite for healthy
23:49
technology is a prerequisite for healthy software engineering life
23:51
software engineering life
23:51
software engineering life cycle so having this common
23:54
cycle so having this common
23:54
cycle so having this common understanding of the critical role of
23:56
understanding of the critical role of
23:56
understanding of the critical role of deprecation is essential IAL for
23:58
deprecation is essential IAL for
23:59
deprecation is essential IAL for everyone involved in building
24:01
everyone involved in building
24:01
everyone involved in building software it is our Collective
24:04
software it is our Collective
24:04
software it is our Collective responsibility as developers PMs and
24:08
responsibility as developers PMs and
24:08
responsibility as developers PMs and managers to recognize that not all
24:11
managers to recognize that not all
24:11
managers to recognize that not all features stand to benefit from a
24:15
features stand to benefit from a
24:15
features stand to benefit from a renovation be honest about
24:18
renovation be honest about
24:18
renovation be honest about components you know like features that
24:20
components you know like features that
24:20
components you know like features that are in the maintenance mode or features
24:22
are in the maintenance mode or features
24:22
are in the maintenance mode or features that don't significantly contribute to
24:24
that don't significantly contribute to
24:24
that don't significantly contribute to your business that are better off left
24:27
your business that are better off left
24:27
your business that are better off left in the Legacy system because the return
24:30
in the Legacy system because the return
24:30
in the Legacy system because the return on
24:30
on
24:30
on investment just does just doesn't
24:33
investment just does just doesn't
24:33
investment just does just doesn't justify the cost and the effort required
24:36
justify the cost and the effort required
24:36
justify the cost and the effort required to renovate
24:38
to renovate
24:38
to renovate them this intentional cost benefit
24:41
them this intentional cost benefit
24:41
them this intentional cost benefit analysis has the ability to reveal what
24:44
analysis has the ability to reveal what
24:44
analysis has the ability to reveal what is beneficial for you and your
24:47
is beneficial for you and your
24:47
is beneficial for you and your organization that said deprecation is a
24:50
organization that said deprecation is a
24:50
organization that said deprecation is a delicate process and it requires
24:53
delicate process and it requires
24:53
delicate process and it requires thoughtful execution so come up with a
24:56
thoughtful execution so come up with a
24:56
thoughtful execution so come up with a strategy that minimize es disruption and
24:59
strategy that minimize es disruption and
24:59
strategy that minimize es disruption and fosters a positive transition
25:02
fosters a positive transition
25:02
fosters a positive transition experience and maintain backwards
25:04
experience and maintain backwards
25:04
experience and maintain backwards compatibility whenever
25:09
possible Netflix winding down dvd.com is
25:12
possible Netflix winding down dvd.com is
25:12
possible Netflix winding down dvd.com is an example of a well executed
25:15
an example of a well executed
25:15
an example of a well executed deprecation as the streaming business
25:19
deprecation as the streaming business
25:19
deprecation as the streaming business continued to grow and the DVD business
25:21
continued to grow and the DVD business
25:22
continued to grow and the DVD business started shrinking it became increasingly
25:25
started shrinking it became increasingly
25:25
started shrinking it became increasingly difficult to justify the cost of
25:27
difficult to justify the cost of
25:27
difficult to justify the cost of providing the best service experience
25:30
providing the best service experience
25:30
providing the best service experience for Netflix DVD
25:32
for Netflix DVD
25:32
for Netflix DVD members so this was a strategic decision
25:35
members so this was a strategic decision
25:35
members so this was a strategic decision to go out on a high
25:40
note my final guiding principle is
25:43
note my final guiding principle is
25:44
note my final guiding principle is intentional organization
25:48
design Innovation is equal parts
25:53
design Innovation is equal parts
25:53
design Innovation is equal parts discovering new products and iterating
25:56
discovering new products and iterating
25:56
discovering new products and iterating to improve existing ones
25:59
to improve existing ones
25:59
to improve existing ones an inspiration for Discovery or
26:01
an inspiration for Discovery or
26:01
an inspiration for Discovery or iteration can occur in any part of the
26:05
iteration can occur in any part of the
26:05
iteration can occur in any part of the company making it easy for ideas and
26:08
company making it easy for ideas and
26:08
company making it easy for ideas and inspiration to flow through your
26:10
inspiration to flow through your
26:10
inspiration to flow through your organization is important for Innovation
26:13
organization is important for Innovation
26:13
organization is important for Innovation velocity so intentional organization
26:16
velocity so intentional organization
26:16
velocity so intentional organization design involves identifying the optimal
26:19
design involves identifying the optimal
26:19
design involves identifying the optimal collaboration model for your business to
26:26
thrive as an example let's look at two
26:29
thrive as an example let's look at two
26:29
thrive as an example let's look at two different ways of organizing
26:32
different ways of organizing
26:33
different ways of organizing teams design a involves grouping
26:35
teams design a involves grouping
26:35
teams design a involves grouping Engineers based on their function like
26:38
Engineers based on their function like
26:38
Engineers based on their function like front end middle tier back
26:40
front end middle tier back
26:40
front end middle tier back end design B groups Engineers based on
26:44
end design B groups Engineers based on
26:44
end design B groups Engineers based on common deliverables and as full stack
26:47
common deliverables and as full stack
26:47
common deliverables and as full stack teams each design has its pros and cons
26:51
teams each design has its pros and cons
26:51
teams each design has its pros and cons design a optimizes for engineers to ramp
26:54
design a optimizes for engineers to ramp
26:54
design a optimizes for engineers to ramp up quickly and it provides space for
26:57
up quickly and it provides space for
26:57
up quickly and it provides space for them to become experts at their specific
27:00
them to become experts at their specific
27:00
them to become experts at their specific craft this also makes collaboration
27:02
craft this also makes collaboration
27:02
craft this also makes collaboration within their respective teams
27:05
within their respective teams
27:05
within their respective teams easy but if every new
27:08
easy but if every new
27:08
easy but if every new functionality requires making changes in
27:11
functionality requires making changes in
27:11
functionality requires making changes in all three parts of the
27:13
all three parts of the
27:13
all three parts of the stack then they'll need someone outside
27:16
stack then they'll need someone outside
27:16
stack then they'll need someone outside of the teams to manage dependencies and
27:19
of the teams to manage dependencies and
27:19
of the teams to manage dependencies and line up the
27:21
line up the
27:21
line up the tasks in this scenario the full stack
27:24
tasks in this scenario the full stack
27:24
tasks in this scenario the full stack teams in design B might Faire better
27:27
teams in design B might Faire better
27:27
teams in design B might Faire better they have the autonomy to control their
27:29
they have the autonomy to control their
27:29
they have the autonomy to control their road map and this increased autonomy
27:32
road map and this increased autonomy
27:32
road map and this increased autonomy might mean that renovation initiatives
27:35
might mean that renovation initiatives
27:35
might mean that renovation initiatives have a higher probability of getting
27:42
prioritized in addition to dependencies
27:45
prioritized in addition to dependencies
27:45
prioritized in addition to dependencies and flow of ideas organization design
27:49
and flow of ideas organization design
27:49
and flow of ideas organization design also has an impact on the software
27:52
also has an impact on the software
27:52
also has an impact on the software architecture Conway's law suggests that
27:55
architecture Conway's law suggests that
27:55
architecture Conway's law suggests that there is synergy between the two
27:59
there is synergy between the two
27:59
there is synergy between the two it says that the way the teams are
28:00
it says that the way the teams are
28:00
it says that the way the teams are structured and organized influences the
28:03
structured and organized influences the
28:03
structured and organized influences the architecture and the design of the
28:05
architecture and the design of the
28:05
architecture and the design of the systems they
28:06
systems they
28:06
systems they create so for an organization
28:09
create so for an organization
28:09
create so for an organization undertaking a technical renovation
28:11
undertaking a technical renovation
28:11
undertaking a technical renovation initiative it is a good idea to first
28:14
initiative it is a good idea to first
28:14
initiative it is a good idea to first take a step back and assess the AUG
28:18
take a step back and assess the AUG
28:18
take a step back and assess the AUG structure identify any changes that
28:20
structure identify any changes that
28:20
structure identify any changes that might be beneficial for streamlining
28:22
might be beneficial for streamlining
28:23
might be beneficial for streamlining communication and minimizing the cross
28:25
communication and minimizing the cross
28:25
communication and minimizing the cross team coordination
28:29
skipping the step could result in
28:31
skipping the step could result in
28:31
skipping the step could result in systems that mimic how organizations
28:34
systems that mimic how organizations
28:34
systems that mimic how organizations communicate internally and it might not
28:37
communicate internally and it might not
28:37
communicate internally and it might not be in the best interest of serving its
28:39
be in the best interest of serving its
28:39
be in the best interest of serving its end users
28:42
end users
28:42
end users well in
28:44
well in
28:44
well in summary you have to choose to strengthen
28:46
summary you have to choose to strengthen
28:46
summary you have to choose to strengthen the communication parts that are most
28:49
the communication parts that are most
28:49
the communication parts that are most important for the nature of your
28:50
important for the nature of your
28:50
important for the nature of your organization and its software
28:53
organization and its software
28:53
organization and its software architecture because every communication
28:55
architecture because every communication
28:55
architecture because every communication path cannot be the strongest
29:02
while that brings us to the end of The
29:04
while that brings us to the end of The
29:04
while that brings us to the end of The Guiding principles I have for us
29:07
Guiding principles I have for us
29:07
Guiding principles I have for us today I'd like to talk about a critical
29:10
today I'd like to talk about a critical
29:10
today I'd like to talk about a critical piece of the puzzle that is important
29:12
piece of the puzzle that is important
29:12
piece of the puzzle that is important for all the work required for a
29:14
for all the work required for a
29:14
for all the work required for a technical renovation to actually come
29:17
technical renovation to actually come
29:17
technical renovation to actually come together and that is embracing the
29:20
together and that is embracing the
29:20
together and that is embracing the growth
29:22
growth
29:22
growth mindset it starts with having the right
29:25
mindset it starts with having the right
29:25
mindset it starts with having the right perspective the perspective that Legacy
29:28
perspective the perspective that Legacy
29:28
perspective the perspective that Legacy systems more often than not are a
29:30
systems more often than not are a
29:31
systems more often than not are a byproduct of a company's
29:33
byproduct of a company's
29:33
byproduct of a company's success so it should not be of surprise
29:36
success so it should not be of surprise
29:36
success so it should not be of surprise that as your organization grows and
29:39
that as your organization grows and
29:39
that as your organization grows and evolves Legacy systems
29:42
evolves Legacy systems
29:42
evolves Legacy systems emerge building the muscle to work
29:45
emerge building the muscle to work
29:45
emerge building the muscle to work through renovation initiatives is
29:47
through renovation initiatives is
29:47
through renovation initiatives is imperative for for Innovation and the
29:49
imperative for for Innovation and the
29:49
imperative for for Innovation and the continued success for your
29:53
continued success for your
29:53
continued success for your organization that said a technical
29:56
organization that said a technical
29:56
organization that said a technical renovation initiative is a sign ific
29:58
renovation initiative is a sign ific
29:58
renovation initiative is a sign ific undertaking so rest assured that the
30:01
undertaking so rest assured that the
30:01
undertaking so rest assured that the path to successfully transforming your
30:03
path to successfully transforming your
30:03
path to successfully transforming your legacy architecture will be a bumpy and
30:06
legacy architecture will be a bumpy and
30:07
legacy architecture will be a bumpy and thorny
30:07
thorny
30:07
thorny one so Champion the growth mindset by
30:11
one so Champion the growth mindset by
30:11
one so Champion the growth mindset by you know learning from mistakes valuing
30:14
you know learning from mistakes valuing
30:14
you know learning from mistakes valuing feedback and focusing on getting better
30:17
feedback and focusing on getting better
30:17
feedback and focusing on getting better throughout your renovation
30:20
throughout your renovation
30:20
throughout your renovation journey and this is also how I
30:22
journey and this is also how I
30:22
journey and this is also how I approached the guiding principles for
30:24
approached the guiding principles for
30:24
approached the guiding principles for technical
30:25
technical
30:25
technical renovation some of the principles I
30:27
renovation some of the principles I
30:28
renovation some of the principles I shared here today may seem
30:31
shared here today may seem
30:31
shared here today may seem ambitious that is because they're
30:33
ambitious that is because they're
30:33
ambitious that is because they're intentionally aspirational in the spirit
30:36
intentionally aspirational in the spirit
30:36
intentionally aspirational in the spirit of shooting for the stars and landing on
30:40
of shooting for the stars and landing on
30:40
of shooting for the stars and landing on the
30:41
the
30:41
the moon that's my talk thank you all I'm
30:45
moon that's my talk thank you all I'm
30:45
moon that's my talk thank you all I'm going to
30:50
[Music]


