SlideShare a Scribd company logo
1 of 39
How To Convince Your Boss To
Rewrite the App
In this session, we'll talk about the pot of gold at the end of the rewrite rainbow (or lack thereof) in
the context of web applications. Developers are always looking for ways to leverage the latest and
greatest, and your boss needs to know how this can benefit the bottom line. Let’s get into the
details, weigh the pros and cons, and discuss several approaches that might make it possible.
1
Copyright 2018 Tendril, Inc. All rights reserved. 2
Copyright 2018 Tendril, Inc. All rights reserved.
TITLE SPONSORS
TRACK SPONSORS
Copyright 2018 Tendril, Inc. All rights reserved.
HEADLINE SPONSORS
PARTNER SPONSORS MEMBER SPONSORS
AutoDesk
Bradford, ltd
CenturyLink
City & County of Denver, OED
Colorado House of Pod
The Commons On Champa
Cooley
DCPA - Seawell Ballroom
eTuk Ride
General Assembly
Hired.com
Husch Blackwell
ImageSeller
Intelivideo
Luna Gourmet Coffee & Tea
Mass FX Media
Nanno
Netsuite
Nordstrom
OfficeScapes
The Passport Program
Peak Beverage
Perficient
Slalom Consulting
Spectrum
Test Double
Verizon Wireless
Workiva
Xactly
Zayo
Granicus
Hogan Lovells
Meyer Law
Photomadic
Slifer Smith & Frampton
Swiftpage
Copyright 2018 Tendril, Inc. All rights reserved.
Tendril delivers personalized energy experiences for
consumers around the world.
Copyright 2018 Tendril, Inc. All rights reserved.
Pete Jeffryes
6
o petej.org
o pete.topleft@gmail.com
o Twitter: @topleftdev
o Github: @topleft
o https://github.com/topleft/rewrite_talk
Copyright 2018 Tendril, Inc. All rights reserved.
How To Convince Your Boss To
Rewrite the App
7
Copyright 2018 Tendril, Inc. All rights reserved.
Engineer:
“Create a better foundation and we can fly
through new features!”
Copyright 2018 Tendril, Inc. All rights reserved.
Manager:
“Rewrites are risky, how do I know this is going
to work out?”
Copyright 2018 Tendril, Inc. All rights reserved.
Perspective
10
Copyright 2018 Tendril, Inc. All rights reserved.
The Question:
Replace vs Repair?
Copyright 2018 Tendril, Inc. All rights reserved.
Scenario #1:
Young Startup
with a Young
Team
12
Copyright 2018 Tendril, Inc. All rights reserved.
Scenario #2:
Legacy
Application
13
Copyright 2018 Tendril, Inc. All rights reserved.
Scenario #3:
API That Can’t
Keep Up
14
Copyright 2018 Tendril, Inc. All rights reserved.
The Risks
15
• Rewrites are extremely unpredictable in both
timeline and outcome
• Missed opportunities
• New app, new bugs
• Loss of functionality
• Customers won’t switch
• Run out of capital
Copyright 2018 Tendril, Inc. All rights reserved.
The Rewards
16
• Stable platform
• Faster feature development
• Pay down tech debt
• Less bugs
• Happy engineers
Copyright 2018 Tendril, Inc. All rights reserved.
What’s an engineer to do?
17
Copyright 2018 Tendril, Inc. All rights reserved.
Diagnose Measure Identify
18
Copyright 2018 Tendril, Inc. All rights reserved.
What’s Wrong With the App?
19
• Too tightly coupled
• Can’t scale
• Old tech
Copyright 2018 Tendril, Inc. All rights reserved.
How can the problem be
measured?
20
• Performance Tests
• Hosting Costs
• Bug Tracking (Jira, Trello, Pivotal Tracker, etc)
• Outage and Response
Copyright 2018 Tendril, Inc. All rights reserved.
How do you help the company
accomplish it’s goals?
21
• Capture opportunity
• Accrue tech debt wisely
• Fix bugs
• Identify relevant solutions
• Empower development teams
• Keep architecture flexible
Copyright 2018 Tendril, Inc. All rights reserved.
How does the company benefit?
22
• Less bugs = more resources
• Faster feature delivery
• Better security
• New business opportunities
• Lower hosting costs
• More stability = happy customers
• Better dev retention and recruitment
• Better company culture
Copyright 2018 Tendril, Inc. All rights reserved.
Collaborate
Find Allies and Experts to back
you up (or challenge you)
23
Copyright 2018 Tendril, Inc. All rights reserved.
A little more fuel…
Copyright 2018 Tendril, Inc. All rights reserved.
Cost to replace a developer:
$50 to $200+k
25
Copyright 2018 Tendril, Inc. All rights reserved.
Bankrupting the company is also
not good for developers
26
Copyright 2018 Tendril, Inc. All rights reserved.
Stack Overflow
Survey:
Technology is the
#2 priority for
accessing new
jobs
27
Copyright 2018 Tendril, Inc. All rights reserved.
Be honest with
yourself…
Rewrites can be
a huge decision
• They should generally be avoided in favor of
o Refactoring
o Creating micro services
o Paving a path for modularity
• When they are necessary
o Have a plan to maintain existing app(s)
o Incremental Changes
o Confirm customer buy-in
28
Copyright 2018 Tendril, Inc. All rights reserved.
You’ve got the thumbs up…now what?
29
Copyright 2018 Tendril, Inc. All rights reserved.
Research: Examples from the Wild
Netscape
Failed
Twitter
Succeeded
30
Copyright 2018 Tendril, Inc. All rights reserved.
The big picture
Copyright 2018 Tendril, Inc. All rights reserved.
Current
Trajectory
32
Copyright 2018 Tendril, Inc. All rights reserved.
The Rewrite
33
Copyright 2018 Tendril, Inc. All rights reserved.
The Benefit
34
Copyright 2018 Tendril, Inc. All rights reserved.
Rewrite takes
longer
35
Copyright 2018 Tendril, Inc. All rights reserved.
Out of money
36
Copyright 2018 Tendril, Inc. All rights reserved.
Rewrite Needed
37
Copyright 2018 Tendril, Inc. All rights reserved.
Conclusion
38
• Gain the perspective of your manager
• Diagnose, Measure, Identify
• Be honest, try to avoid the rewrite if possible
• Favor incremental change
• Be prepared
o Timeline
o Budget
o Assumed outcome
Copyright 2018 Tendril, Inc. All rights reserved.
Thanks
39
• Pete Jeffryes
• Github: /topleft
• Twitter: @topleftdev
• pete.topleft@gmail.com
• https://github.com/topleft/rewrite_talk

More Related Content

Similar to How To Convince Your Boss a Rewrite is Necessary

The Lima Consulting Group Digital Transformation Maturity Model Presented at ...
The Lima Consulting Group Digital Transformation Maturity Model Presented at ...The Lima Consulting Group Digital Transformation Maturity Model Presented at ...
The Lima Consulting Group Digital Transformation Maturity Model Presented at ...Lima Consulting Group
 
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution ArchitectureWhat Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution ArchitectureNick Noecker
 
2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...
2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...
2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...Niels Harre
 
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...Itai Yaffe
 
Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...
Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...
Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...Matt Stubbs
 
Natural Language Understanding
Natural Language UnderstandingNatural Language Understanding
Natural Language UnderstandingSaama
 
2018 Reinertsen SAFe meet up 11-26-2018
2018 Reinertsen SAFe meet up 11-26-20182018 Reinertsen SAFe meet up 11-26-2018
2018 Reinertsen SAFe meet up 11-26-2018Etienne Laverdière
 
Webinar for Apr 2019 - AI Powered Insurer
Webinar for Apr 2019 - AI Powered InsurerWebinar for Apr 2019 - AI Powered Insurer
Webinar for Apr 2019 - AI Powered InsurerThe Digital Insurer
 
Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...
Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...
Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...Michael Hewitt, GISP
 
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...AppDynamics
 
16 startup revenue models
16 startup revenue models 16 startup revenue models
16 startup revenue models Dave Parker
 
Talent accurate (DPASS) Pitch Deck
Talent accurate (DPASS) Pitch DeckTalent accurate (DPASS) Pitch Deck
Talent accurate (DPASS) Pitch DeckTactii Research
 
Designing a Successful Governed Citizen Data Science Strategy
Designing a Successful Governed Citizen Data Science StrategyDesigning a Successful Governed Citizen Data Science Strategy
Designing a Successful Governed Citizen Data Science StrategyDATAVERSITY
 
Designing and Building a Winning Digital Strategy
Designing and Building a Winning Digital StrategyDesigning and Building a Winning Digital Strategy
Designing and Building a Winning Digital StrategyModyo.com
 
TC Crowdsourcing Presentation
TC Crowdsourcing PresentationTC Crowdsourcing Presentation
TC Crowdsourcing Presentationguestb0b31
 
The future of FinTech product using pervasive Machine Learning automation - A...
The future of FinTech product using pervasive Machine Learning automation - A...The future of FinTech product using pervasive Machine Learning automation - A...
The future of FinTech product using pervasive Machine Learning automation - A...Shift Conference
 
Front-end, Back-end & Full-stack: Best Practices for Hiring Developers
Front-end, Back-end & Full-stack: Best Practices for Hiring DevelopersFront-end, Back-end & Full-stack: Best Practices for Hiring Developers
Front-end, Back-end & Full-stack: Best Practices for Hiring DevelopersHackerRank
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringAndré Agostinho
 
CompTIA Instructor Network - CyberFest 2018 Week 1
CompTIA Instructor Network - CyberFest 2018 Week 1CompTIA Instructor Network - CyberFest 2018 Week 1
CompTIA Instructor Network - CyberFest 2018 Week 1Daniel Millbank
 
2013 - Yhat - YC app.pdf
2013 - Yhat - YC app.pdf2013 - Yhat - YC app.pdf
2013 - Yhat - YC app.pdfAustin Ogilvie
 

Similar to How To Convince Your Boss a Rewrite is Necessary (20)

The Lima Consulting Group Digital Transformation Maturity Model Presented at ...
The Lima Consulting Group Digital Transformation Maturity Model Presented at ...The Lima Consulting Group Digital Transformation Maturity Model Presented at ...
The Lima Consulting Group Digital Transformation Maturity Model Presented at ...
 
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution ArchitectureWhat Is Solution Architecture? The Black Art Of I/T Solution Architecture
What Is Solution Architecture? The Black Art Of I/T Solution Architecture
 
2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...
2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...
2018-11-13 Don Reinertsen: An Introduction to Second Generation Lean Product ...
 
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
From AWS Data Pipeline to Airflow - managing data pipelines in Nielsen Market...
 
Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...
Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...
Big Data LDN 2018: 7 SUCCESSFUL HABITS FOR DATA-INTENSIVE APPLICATIONS IN PRO...
 
Natural Language Understanding
Natural Language UnderstandingNatural Language Understanding
Natural Language Understanding
 
2018 Reinertsen SAFe meet up 11-26-2018
2018 Reinertsen SAFe meet up 11-26-20182018 Reinertsen SAFe meet up 11-26-2018
2018 Reinertsen SAFe meet up 11-26-2018
 
Webinar for Apr 2019 - AI Powered Insurer
Webinar for Apr 2019 - AI Powered InsurerWebinar for Apr 2019 - AI Powered Insurer
Webinar for Apr 2019 - AI Powered Insurer
 
Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...
Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...
Daniel Bochicchio, Skybernetics - “Valuable Insights from On High: Drone use ...
 
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
 
16 startup revenue models
16 startup revenue models 16 startup revenue models
16 startup revenue models
 
Talent accurate (DPASS) Pitch Deck
Talent accurate (DPASS) Pitch DeckTalent accurate (DPASS) Pitch Deck
Talent accurate (DPASS) Pitch Deck
 
Designing a Successful Governed Citizen Data Science Strategy
Designing a Successful Governed Citizen Data Science StrategyDesigning a Successful Governed Citizen Data Science Strategy
Designing a Successful Governed Citizen Data Science Strategy
 
Designing and Building a Winning Digital Strategy
Designing and Building a Winning Digital StrategyDesigning and Building a Winning Digital Strategy
Designing and Building a Winning Digital Strategy
 
TC Crowdsourcing Presentation
TC Crowdsourcing PresentationTC Crowdsourcing Presentation
TC Crowdsourcing Presentation
 
The future of FinTech product using pervasive Machine Learning automation - A...
The future of FinTech product using pervasive Machine Learning automation - A...The future of FinTech product using pervasive Machine Learning automation - A...
The future of FinTech product using pervasive Machine Learning automation - A...
 
Front-end, Back-end & Full-stack: Best Practices for Hiring Developers
Front-end, Back-end & Full-stack: Best Practices for Hiring DevelopersFront-end, Back-end & Full-stack: Best Practices for Hiring Developers
Front-end, Back-end & Full-stack: Best Practices for Hiring Developers
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
CompTIA Instructor Network - CyberFest 2018 Week 1
CompTIA Instructor Network - CyberFest 2018 Week 1CompTIA Instructor Network - CyberFest 2018 Week 1
CompTIA Instructor Network - CyberFest 2018 Week 1
 
2013 - Yhat - YC app.pdf
2013 - Yhat - YC app.pdf2013 - Yhat - YC app.pdf
2013 - Yhat - YC app.pdf
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

How To Convince Your Boss a Rewrite is Necessary

  • 1. How To Convince Your Boss To Rewrite the App In this session, we'll talk about the pot of gold at the end of the rewrite rainbow (or lack thereof) in the context of web applications. Developers are always looking for ways to leverage the latest and greatest, and your boss needs to know how this can benefit the bottom line. Let’s get into the details, weigh the pros and cons, and discuss several approaches that might make it possible. 1
  • 2. Copyright 2018 Tendril, Inc. All rights reserved. 2
  • 3. Copyright 2018 Tendril, Inc. All rights reserved. TITLE SPONSORS TRACK SPONSORS
  • 4. Copyright 2018 Tendril, Inc. All rights reserved. HEADLINE SPONSORS PARTNER SPONSORS MEMBER SPONSORS AutoDesk Bradford, ltd CenturyLink City & County of Denver, OED Colorado House of Pod The Commons On Champa Cooley DCPA - Seawell Ballroom eTuk Ride General Assembly Hired.com Husch Blackwell ImageSeller Intelivideo Luna Gourmet Coffee & Tea Mass FX Media Nanno Netsuite Nordstrom OfficeScapes The Passport Program Peak Beverage Perficient Slalom Consulting Spectrum Test Double Verizon Wireless Workiva Xactly Zayo Granicus Hogan Lovells Meyer Law Photomadic Slifer Smith & Frampton Swiftpage
  • 5. Copyright 2018 Tendril, Inc. All rights reserved. Tendril delivers personalized energy experiences for consumers around the world.
  • 6. Copyright 2018 Tendril, Inc. All rights reserved. Pete Jeffryes 6 o petej.org o pete.topleft@gmail.com o Twitter: @topleftdev o Github: @topleft o https://github.com/topleft/rewrite_talk
  • 7. Copyright 2018 Tendril, Inc. All rights reserved. How To Convince Your Boss To Rewrite the App 7
  • 8. Copyright 2018 Tendril, Inc. All rights reserved. Engineer: “Create a better foundation and we can fly through new features!”
  • 9. Copyright 2018 Tendril, Inc. All rights reserved. Manager: “Rewrites are risky, how do I know this is going to work out?”
  • 10. Copyright 2018 Tendril, Inc. All rights reserved. Perspective 10
  • 11. Copyright 2018 Tendril, Inc. All rights reserved. The Question: Replace vs Repair?
  • 12. Copyright 2018 Tendril, Inc. All rights reserved. Scenario #1: Young Startup with a Young Team 12
  • 13. Copyright 2018 Tendril, Inc. All rights reserved. Scenario #2: Legacy Application 13
  • 14. Copyright 2018 Tendril, Inc. All rights reserved. Scenario #3: API That Can’t Keep Up 14
  • 15. Copyright 2018 Tendril, Inc. All rights reserved. The Risks 15 • Rewrites are extremely unpredictable in both timeline and outcome • Missed opportunities • New app, new bugs • Loss of functionality • Customers won’t switch • Run out of capital
  • 16. Copyright 2018 Tendril, Inc. All rights reserved. The Rewards 16 • Stable platform • Faster feature development • Pay down tech debt • Less bugs • Happy engineers
  • 17. Copyright 2018 Tendril, Inc. All rights reserved. What’s an engineer to do? 17
  • 18. Copyright 2018 Tendril, Inc. All rights reserved. Diagnose Measure Identify 18
  • 19. Copyright 2018 Tendril, Inc. All rights reserved. What’s Wrong With the App? 19 • Too tightly coupled • Can’t scale • Old tech
  • 20. Copyright 2018 Tendril, Inc. All rights reserved. How can the problem be measured? 20 • Performance Tests • Hosting Costs • Bug Tracking (Jira, Trello, Pivotal Tracker, etc) • Outage and Response
  • 21. Copyright 2018 Tendril, Inc. All rights reserved. How do you help the company accomplish it’s goals? 21 • Capture opportunity • Accrue tech debt wisely • Fix bugs • Identify relevant solutions • Empower development teams • Keep architecture flexible
  • 22. Copyright 2018 Tendril, Inc. All rights reserved. How does the company benefit? 22 • Less bugs = more resources • Faster feature delivery • Better security • New business opportunities • Lower hosting costs • More stability = happy customers • Better dev retention and recruitment • Better company culture
  • 23. Copyright 2018 Tendril, Inc. All rights reserved. Collaborate Find Allies and Experts to back you up (or challenge you) 23
  • 24. Copyright 2018 Tendril, Inc. All rights reserved. A little more fuel…
  • 25. Copyright 2018 Tendril, Inc. All rights reserved. Cost to replace a developer: $50 to $200+k 25
  • 26. Copyright 2018 Tendril, Inc. All rights reserved. Bankrupting the company is also not good for developers 26
  • 27. Copyright 2018 Tendril, Inc. All rights reserved. Stack Overflow Survey: Technology is the #2 priority for accessing new jobs 27
  • 28. Copyright 2018 Tendril, Inc. All rights reserved. Be honest with yourself… Rewrites can be a huge decision • They should generally be avoided in favor of o Refactoring o Creating micro services o Paving a path for modularity • When they are necessary o Have a plan to maintain existing app(s) o Incremental Changes o Confirm customer buy-in 28
  • 29. Copyright 2018 Tendril, Inc. All rights reserved. You’ve got the thumbs up…now what? 29
  • 30. Copyright 2018 Tendril, Inc. All rights reserved. Research: Examples from the Wild Netscape Failed Twitter Succeeded 30
  • 31. Copyright 2018 Tendril, Inc. All rights reserved. The big picture
  • 32. Copyright 2018 Tendril, Inc. All rights reserved. Current Trajectory 32
  • 33. Copyright 2018 Tendril, Inc. All rights reserved. The Rewrite 33
  • 34. Copyright 2018 Tendril, Inc. All rights reserved. The Benefit 34
  • 35. Copyright 2018 Tendril, Inc. All rights reserved. Rewrite takes longer 35
  • 36. Copyright 2018 Tendril, Inc. All rights reserved. Out of money 36
  • 37. Copyright 2018 Tendril, Inc. All rights reserved. Rewrite Needed 37
  • 38. Copyright 2018 Tendril, Inc. All rights reserved. Conclusion 38 • Gain the perspective of your manager • Diagnose, Measure, Identify • Be honest, try to avoid the rewrite if possible • Favor incremental change • Be prepared o Timeline o Budget o Assumed outcome
  • 39. Copyright 2018 Tendril, Inc. All rights reserved. Thanks 39 • Pete Jeffryes • Github: /topleft • Twitter: @topleftdev • pete.topleft@gmail.com • https://github.com/topleft/rewrite_talk

Editor's Notes

  1. Tendril delivers personalized energy experiences for consumers around the world.
  2. This talk a will last about 40 min and then if there are any questions I’d be happy to take those at the end. In this session we are going to cover some ideas about perspective define some terms and give some context around why companies might be considering a rewrite, Go over a couple strategies for accessing an application and approaching your boss or team And finally zoom out and look at the timeline of a rewrite We probably have some managers in the room, we probably have some engineers … and we almost certainly have some tech debt in our lives This talk is about the conversation between engineer and manager as they work through a problematic application in an effort to achieve their companies greater goals, which usually end in making more money. So if we agree that both the manager and engineer have the same end goal of creating value for the business, then we can start to look at each of their perspectives and how they might approach a broken application. What might be an engineers perspective on a problematic app?
  3. The engineer sees in the code what is the team back: tightly coupled code, poorly designed schemas, rocky architecture, etc. So what is the manager’s response?
  4. The manager is looking at the big picture, maybe less optimistically than the engineer at the possible out comes of a rewrite. This person is not wading through code everyday and not constantly confronted the spaghetti that is the application, but instead looking at the team goals and lining those up with available resources, prioritizing work. But that is not to say they do not share the goal of stability and velocity with the engineer. Opportunity costs.
  5. The question here is: When does software become sufficiently costly to maintain that it is more economic to replace (rewrite) it than to repair (maintain) it? Define rewrite: create a new application from scratch. Old code is a guide, offers direction for requirements, but no code is used. It is a somewhat drastic measure. Asking this question indicates that the application is broken and needs a lot of help to get on track. (Avoid the term refactor, stick to repair) Lets understand this question from both perspectives, engineer and manager while we walk through a few scenarios of how a company might have arrived at the question of a rewrite.
  6. Needs image - Working application with growing customer base - Several pivots in the process of getting to market - Fast moving development in effort to capture opportunity - Very tightly Coupled code Inexperienced team Too many features Perspective of the developer and the manager Manager: We need to drill down on the problem areas that are affecting the core services and go from there, or to get customers in the door, we promised some customer development, that’s next on the list. Dev: There is so much spaghetti here and now that we actually know what our core offerings are, lets start fresh.
  7. - A real success, many customers, unique problems solved - Years of profit, core offering of the company - Classic/archaic monolith architecture Need for reliability makes significant improvements difficult/risky - Hosting costs are significant Tribal knowledge is high Finding the right devs / keeping a team is challenging Manager: I know its hard to read and a little delicate, but that’s years of bug fixes, features requests, problem solving in that app. Super concerned about risk as it is the cash cow. Dev: If I dig into this thing who knows what is going to break, that’s not on me.
  8. - Core problems solved, but still much to be desired - Original estimates of scale were very wrong - Looming Contract promising 100x growth Manager: A new language are architecture isn’t going to fix this. We don’t even know what is wrong. Dev: I can’t figure out what’s wrong, there’s too much noise. We need to simplify this to even have a chance.
  9. Explain less bugs and happy engineers = attract top talent Less bugs = happy engineers Better tech = more fruitful environment
  10. I think about this as three steps to success  Here is a break down of a few things you can do to get a better idea of your problem and to be more persuasive in communicating with your boss. Again by taking on their perspective. What’s wrong with the app? How can the problem be measured? How does this help the company accomplish its goals?
  11. Too tightly coupled Everything is always breaking Hard to isolate bugs Complexity is off the charts Can’t scale Has too many dependencies Needs too much hardware Old tech Can’t keep a quality dev team Can’t ensure security Harder to integrate new tech
  12. Quantify that gut feeling Often leads to more discovery Bench marks for comparing to when you actually take on the rewrite Performance Tests Is their a single bottle neck? Or several? Load testing end to end Hosting Costs Infrastructure Data storage Third party solutions (or lack of) Bug Tracking (Jira, Trello, Pivotal Tracker, etc) How many bugs? How long do they take to fix? How long do new features take? Outage and Response MTBF - mean time between failure MTTR – meant time to resolve Outage tools, escalation, on-call tools
  13. Both of these perspectives, while coming from different angles, have the common goal of creating value for the company. Each group might arrive at value very differently. These goals can’t all be achieved at the same time, That is the chess game of software development. How do you help the company accomplish its goals?
  14. Mention managers/stakeholders perspective
  15. More features Less Stress, Fear Happier Customers More Uptime
  16. Behind compensation and benefits … tech is the top priority for job seekers
  17. Rewrites are a huge decision They should generally be avoided in favor of Refactoring Isolating functionality one micro service at a time Creating a path forward for modularity When they are necessary Have a plan to maintain existing app(s) Deliver value as soon as possible Incremental Changes Make sure you have customer buy-in At all costs??? Write you applications in a way that rewriting is less impactful... Good test coverage?? Simple services...
  18. Learn from others paths, and beware. Netscape: 3 years to rewrite from scratch, minimal features, poorly tested, rushed the release released buggy code Major strategic failure Twitter: Backend rewrite to Java/Scala – incremental changes, but deep and thorough, almost no rails left on the backend
  19. More features Less Stress, Fear Happier Customers More Uptime
  20. Out of money or out of customer (missed the opportunity)
  21. The tree trunk, foundation New growth
  22. We probably have some managers in the room, we probably have some engineers … and we are probably all have some tech debt in our lives What might be an engineers perspective on rewriting an app? List engineers perspectives, list some ideas… then switch to next slide Possibly seed the option of ‘no rewrite’