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 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 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: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 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 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 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 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 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 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 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 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 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 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 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: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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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: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 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 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: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 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 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 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 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: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 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 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 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 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: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 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 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 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 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 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 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 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 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 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: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 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 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 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 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