SlideShare a Scribd company logo
Beating the Product Credit Crunch
Tales from the Tech Debt front-line
1
Why does Debt matter?
2
Failure to address reduces the ability to add end-user value
Causes of Technical Debt
3
Failure to invest in maintenance causes decay
Application Debt – Failure to keep your code clean Infrastructure Debt – Failure to maintain environments
Causes of Technical Debt
4
Pushing beyond limits of original design will cause failure
Architecture Debt – Extending beyond design safety limits or continuing to extend when on fire
Causes of Technical Debt
5
Failure to invest in good tooling causes delays and extends outages
Ecosystem Debt – Tools & Process not maintained or fit for modern development
Whose Debt is it Anyway?
• Classic Silo’d Organisations think Debt is a Technical concern
• Software products that are not maintained properly, just like houses, over time
• Will become costly to support
• People will avoid them
• Will lose value
• The issues maybe Technical but it’s the value of the Product that’s affected
• Short term can be a strategic advantage - longer term becomes a tactical error
• Need to plan for Debt management – It's unavoidable
6
Technical Debt should be thought of as Product Debt
What Leads to Product Debt?
7
Poor prioritisation decisions due to lack of understanding
Organisational Issues
• Not a true partnership between Product Owner & Technical Lead
• Belief Technical Debt is a Technical issue not a product issue
• Lack shared ownership of code
Communication Issues
• Poor communication & awareness
• Information provided is not sufficient to make informed decisions
• Lack understanding of implications of decisions
Lack of Principled Development
• Lack of focus on Technical Excellence (Quality, Security, Performance)
• Commercial & Time based pressures lead to short cuts that reduce Quality
• Short term view
Collaborative Partnerships
Delivery / Domain / Feature Teams
• You Build It, Ship It, Own It
• Product Owners exist within the Team
• Triumvirate Partnership – Product Owner, Tech
Lead & Iteration Manager
• Joint decision making
• Product Owners own the code & tools as much as
engineers
Excellence
• Focus on Quality, Efficiency, Long term view
• Pair Programming – reduced knowledge gaps,
higher quality output
• Test Driven Development – evolve code quicker
8
Collaborative partnerships that agree on all aspects of delivery
SMEs
Principals
Test Automation
Security
Performance
Deployment
Cloud Automation
UX
Product Owner
Tech Lead
QA
Developers
UX
App Support
Product Owner
Tech Lead
QA
Developers
UX
App Support
Excellence Domain A Domain B
Know Your Ecosystem – The Software Factory
9
• Product Owners should be aware of what is required & the costs to create, maintain, deploy and operate a system
• Software Factory defines the processes, testing, tools, standards and rules to manage software
• Aims to ensure efficient delivery, the long term sustainment of product and maximise ROI
Creating a service is not simply writing code
Unit Tests
Functional Tests
User / System Tests
Exploratory
In Memory Tests
Static Analysis
Integration Tests
User/System Tests
Performance Tests
Security Tests
Compatibility Tests
Reliability Tests
Deployment Tests Logging
Monitoring
Synthetic Transactions
Event Analysis
Correlations
UX Research
Acceptance
Criteria
BDD Scenarios
If you Want more Business & Customer Value
• Strategic – Lean Value Tree, Business Goals / KPIs, ROI
• Products – Visitor Activity, Conversion, AB & MVT, Customer Value
Then you will also Care about Change Processes & Product Fitness
• Delivery – Agile, Lean, Efficiency, Responsiveness
• Operations – DevOps, Support, Hosting Costs
• Quality – Code, Functional, Security, Performance Metrics
Need to invest in Tooling to help create visibility
• SonarQube - Code Quality
• Custom tools & monitoring
Data Driven For Processes & Technology
10
Understand how delivery & quality metrics change over time
Minimise The Technical Burden
11
• Tech Radar Defines what technology is safe to use, coming to end of life, or must be removed
• Aims to simplify and standardise the technical estate and minimise burden
• Should be aware of Technology that is becoming End of Life
• Should be planning replacement or upgrades
Prioritise upgrades to keep lean & efficient
Prioritising Technical Improvements
• Technical backlogs create visibility of improvements required
• Prioritise using a weighted attribute method – Impact vs Investment
• Not only for Technical Backlogs!
• Whole Team Should collaborate on defining attributes & weights
• Whole Team need to prioritise maintaining technical estate & ecosystem
12
Continuously apply technical improvements to stay healthy
What Is The Minimum Requirement
• Cross Functional Requirements (CFRs) – implementation of standards to a specific level
• Standards – set the expectations on how to implement something
• Maturity Matrices – define level of implementation required, prevents unnecessary rework and avoids
gold plating
• Audit systems on standards and maturity levels by the CFR implemented
• Whole Team should collaborate and agree on level of standard to be applied
13
There is no such thing as a non-functional requirement
Maturity Level Description / Capabilities Suitability
Level 1 Event capture is non-existent, not granular, or not… Throw away code
Level 2 Limited awareness of whole platform health Proof of Concept /
Experiments
Level 3 - Target Delivery Teams have full access to their application General early
development
Level 4 Shared monitoring dashboards available to anyone
with a need to be informed of an app
High risk / value services
Standard Product A Product B
Logging Level 2 Level 3
Deployment Level 4 Level 3
Database Schema Mgt Level 2 Level 1
User Journey Testing Level 1 Level 2
Healthchecks Level 1 Level 3
Evolving Architecture
• Evolutionary Architecture – incremental change designed for evolvability
• Emergent Design – identifying patterns to simplify as a system is grown incrementally
• Micro-services – modular, domain specific, support improved delivery and experimentation
• We often make decisions at the last responsible moment on architecture, technology stacks, etc
• Micro-services make change is easier & cost to replace or retrofit is low
• Need to recognise discovering the need to re-architect or change technology is part of the design process
14
Change is natural part of evolving systems
What Are The Key Take Aways?
• Managing debt is not a choice it’s a responsibility
• Include the cost to maintain, deploy and operate products in your analysis
• If Product Owners own the value and then they should own the debt
• Collaborate & Partner effectively with Tech Leads
• Understand options for decisions and impacts
• Continuously monitor our metrics over time and where improvements are required
• Continuously manage debt
15
Don’t be scared by debt but do act

More Related Content

What's hot

Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfallMuthu Natarajan
 
ACT-IAC Partners #GovDevOps: PTO - agile - and DevOps
ACT-IAC Partners #GovDevOps: PTO - agile - and DevOpsACT-IAC Partners #GovDevOps: PTO - agile - and DevOps
ACT-IAC Partners #GovDevOps: PTO - agile - and DevOpsChristopher Dorobek
 
Dealing with Auditors: Helping Them Understand Agile
Dealing with Auditors: Helping Them Understand AgileDealing with Auditors: Helping Them Understand Agile
Dealing with Auditors: Helping Them Understand AgileTechWell
 
ADDO19 - Automate or not from the beginning that is the question
ADDO19 - Automate or not from the beginning that is the questionADDO19 - Automate or not from the beginning that is the question
ADDO19 - Automate or not from the beginning that is the questionEnrique Carbonell
 
Five Key Numbers to Gauge your Agile Engineering Efforts
Five Key Numbers to Gauge your Agile Engineering EffortsFive Key Numbers to Gauge your Agile Engineering Efforts
Five Key Numbers to Gauge your Agile Engineering EffortsJeff Nielsen
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015Pavel Chunyayev
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software DevelopmentLife Cycle Engineering
 
2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery
2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery
2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps deliveryChristopher Dorobek
 
Critical Considerations for Continuous Delivery 04.09.2018
Critical Considerations for Continuous Delivery 04.09.2018Critical Considerations for Continuous Delivery 04.09.2018
Critical Considerations for Continuous Delivery 04.09.2018Claire Priester Papas
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMMarco Silva
 
From Measurement to Insight: Putting DevOps Metrics To Work
From Measurement to Insight: Putting DevOps Metrics To WorkFrom Measurement to Insight: Putting DevOps Metrics To Work
From Measurement to Insight: Putting DevOps Metrics To WorkDevOps.com
 
Understanding DevOps
Understanding DevOpsUnderstanding DevOps
Understanding DevOpsInnoTech
 
The Agile Revolution of IBM
The Agile Revolution of IBMThe Agile Revolution of IBM
The Agile Revolution of IBMAlan Kan
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...WiMLDSMontreal
 
Webinar Driving DevOps
Webinar Driving DevOpsWebinar Driving DevOps
Webinar Driving DevOpsDelta-N
 
Alm Agile In Large Projects V2
Alm Agile In Large Projects V2Alm Agile In Large Projects V2
Alm Agile In Large Projects V2AllyWick
 

What's hot (20)

Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
ACT-IAC Partners #GovDevOps: PTO - agile - and DevOps
ACT-IAC Partners #GovDevOps: PTO - agile - and DevOpsACT-IAC Partners #GovDevOps: PTO - agile - and DevOps
ACT-IAC Partners #GovDevOps: PTO - agile - and DevOps
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
Dealing with Auditors: Helping Them Understand Agile
Dealing with Auditors: Helping Them Understand AgileDealing with Auditors: Helping Them Understand Agile
Dealing with Auditors: Helping Them Understand Agile
 
ADDO19 - Automate or not from the beginning that is the question
ADDO19 - Automate or not from the beginning that is the questionADDO19 - Automate or not from the beginning that is the question
ADDO19 - Automate or not from the beginning that is the question
 
Five Key Numbers to Gauge your Agile Engineering Efforts
Five Key Numbers to Gauge your Agile Engineering EffortsFive Key Numbers to Gauge your Agile Engineering Efforts
Five Key Numbers to Gauge your Agile Engineering Efforts
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery
2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery
2016.06 ACT-IAC Partners breakfast: GSA's 18F on DevOps delivery
 
Critical Considerations for Continuous Delivery 04.09.2018
Critical Considerations for Continuous Delivery 04.09.2018Critical Considerations for Continuous Delivery 04.09.2018
Critical Considerations for Continuous Delivery 04.09.2018
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALM
 
DSDM
DSDMDSDM
DSDM
 
From Measurement to Insight: Putting DevOps Metrics To Work
From Measurement to Insight: Putting DevOps Metrics To WorkFrom Measurement to Insight: Putting DevOps Metrics To Work
From Measurement to Insight: Putting DevOps Metrics To Work
 
Understanding DevOps
Understanding DevOpsUnderstanding DevOps
Understanding DevOps
 
The Agile Revolution of IBM
The Agile Revolution of IBMThe Agile Revolution of IBM
The Agile Revolution of IBM
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
 
Webinar Driving DevOps
Webinar Driving DevOpsWebinar Driving DevOps
Webinar Driving DevOps
 
Alm Agile In Large Projects V2
Alm Agile In Large Projects V2Alm Agile In Large Projects V2
Alm Agile In Large Projects V2
 

Similar to Beating the product credit crunch

UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle ParikshitTaksande1
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementationTerry Bunio
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
The TI Promise
The TI PromiseThe TI Promise
The TI Promiseslhigg1099
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spmPrakash Poudel
 
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker HannifinParker Hannifin Corporation
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditCliftone Mullah
 
Agile Project Development
Agile Project DevelopmentAgile Project Development
Agile Project DevelopmentHajrah Jahan
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Ronan Consulting Group - Systems Selection and Implementation
Ronan Consulting Group - Systems Selection and ImplementationRonan Consulting Group - Systems Selection and Implementation
Ronan Consulting Group - Systems Selection and ImplementationSteve Ronan
 

Similar to Beating the product credit crunch (20)

Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
The TI Promise
The TI PromiseThe TI Promise
The TI Promise
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
6 Steps to Accelerate the Development Cycle | Life Science Parker Hannifin
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration audit
 
Agile Project Development
Agile Project DevelopmentAgile Project Development
Agile Project Development
 
Software process models
Software process modelsSoftware process models
Software process models
 
Sandeep Gupta
Sandeep GuptaSandeep Gupta
Sandeep Gupta
 
Ronan Consulting Group - Systems Selection and Implementation
Ronan Consulting Group - Systems Selection and ImplementationRonan Consulting Group - Systems Selection and Implementation
Ronan Consulting Group - Systems Selection and Implementation
 

Recently uploaded

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareinfo611746
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandIES VE
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 

Recently uploaded (20)

Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 

Beating the product credit crunch

  • 1. Beating the Product Credit Crunch Tales from the Tech Debt front-line 1
  • 2. Why does Debt matter? 2 Failure to address reduces the ability to add end-user value
  • 3. Causes of Technical Debt 3 Failure to invest in maintenance causes decay Application Debt – Failure to keep your code clean Infrastructure Debt – Failure to maintain environments
  • 4. Causes of Technical Debt 4 Pushing beyond limits of original design will cause failure Architecture Debt – Extending beyond design safety limits or continuing to extend when on fire
  • 5. Causes of Technical Debt 5 Failure to invest in good tooling causes delays and extends outages Ecosystem Debt – Tools & Process not maintained or fit for modern development
  • 6. Whose Debt is it Anyway? • Classic Silo’d Organisations think Debt is a Technical concern • Software products that are not maintained properly, just like houses, over time • Will become costly to support • People will avoid them • Will lose value • The issues maybe Technical but it’s the value of the Product that’s affected • Short term can be a strategic advantage - longer term becomes a tactical error • Need to plan for Debt management – It's unavoidable 6 Technical Debt should be thought of as Product Debt
  • 7. What Leads to Product Debt? 7 Poor prioritisation decisions due to lack of understanding Organisational Issues • Not a true partnership between Product Owner & Technical Lead • Belief Technical Debt is a Technical issue not a product issue • Lack shared ownership of code Communication Issues • Poor communication & awareness • Information provided is not sufficient to make informed decisions • Lack understanding of implications of decisions Lack of Principled Development • Lack of focus on Technical Excellence (Quality, Security, Performance) • Commercial & Time based pressures lead to short cuts that reduce Quality • Short term view
  • 8. Collaborative Partnerships Delivery / Domain / Feature Teams • You Build It, Ship It, Own It • Product Owners exist within the Team • Triumvirate Partnership – Product Owner, Tech Lead & Iteration Manager • Joint decision making • Product Owners own the code & tools as much as engineers Excellence • Focus on Quality, Efficiency, Long term view • Pair Programming – reduced knowledge gaps, higher quality output • Test Driven Development – evolve code quicker 8 Collaborative partnerships that agree on all aspects of delivery SMEs Principals Test Automation Security Performance Deployment Cloud Automation UX Product Owner Tech Lead QA Developers UX App Support Product Owner Tech Lead QA Developers UX App Support Excellence Domain A Domain B
  • 9. Know Your Ecosystem – The Software Factory 9 • Product Owners should be aware of what is required & the costs to create, maintain, deploy and operate a system • Software Factory defines the processes, testing, tools, standards and rules to manage software • Aims to ensure efficient delivery, the long term sustainment of product and maximise ROI Creating a service is not simply writing code Unit Tests Functional Tests User / System Tests Exploratory In Memory Tests Static Analysis Integration Tests User/System Tests Performance Tests Security Tests Compatibility Tests Reliability Tests Deployment Tests Logging Monitoring Synthetic Transactions Event Analysis Correlations UX Research Acceptance Criteria BDD Scenarios
  • 10. If you Want more Business & Customer Value • Strategic – Lean Value Tree, Business Goals / KPIs, ROI • Products – Visitor Activity, Conversion, AB & MVT, Customer Value Then you will also Care about Change Processes & Product Fitness • Delivery – Agile, Lean, Efficiency, Responsiveness • Operations – DevOps, Support, Hosting Costs • Quality – Code, Functional, Security, Performance Metrics Need to invest in Tooling to help create visibility • SonarQube - Code Quality • Custom tools & monitoring Data Driven For Processes & Technology 10 Understand how delivery & quality metrics change over time
  • 11. Minimise The Technical Burden 11 • Tech Radar Defines what technology is safe to use, coming to end of life, or must be removed • Aims to simplify and standardise the technical estate and minimise burden • Should be aware of Technology that is becoming End of Life • Should be planning replacement or upgrades Prioritise upgrades to keep lean & efficient
  • 12. Prioritising Technical Improvements • Technical backlogs create visibility of improvements required • Prioritise using a weighted attribute method – Impact vs Investment • Not only for Technical Backlogs! • Whole Team Should collaborate on defining attributes & weights • Whole Team need to prioritise maintaining technical estate & ecosystem 12 Continuously apply technical improvements to stay healthy
  • 13. What Is The Minimum Requirement • Cross Functional Requirements (CFRs) – implementation of standards to a specific level • Standards – set the expectations on how to implement something • Maturity Matrices – define level of implementation required, prevents unnecessary rework and avoids gold plating • Audit systems on standards and maturity levels by the CFR implemented • Whole Team should collaborate and agree on level of standard to be applied 13 There is no such thing as a non-functional requirement Maturity Level Description / Capabilities Suitability Level 1 Event capture is non-existent, not granular, or not… Throw away code Level 2 Limited awareness of whole platform health Proof of Concept / Experiments Level 3 - Target Delivery Teams have full access to their application General early development Level 4 Shared monitoring dashboards available to anyone with a need to be informed of an app High risk / value services Standard Product A Product B Logging Level 2 Level 3 Deployment Level 4 Level 3 Database Schema Mgt Level 2 Level 1 User Journey Testing Level 1 Level 2 Healthchecks Level 1 Level 3
  • 14. Evolving Architecture • Evolutionary Architecture – incremental change designed for evolvability • Emergent Design – identifying patterns to simplify as a system is grown incrementally • Micro-services – modular, domain specific, support improved delivery and experimentation • We often make decisions at the last responsible moment on architecture, technology stacks, etc • Micro-services make change is easier & cost to replace or retrofit is low • Need to recognise discovering the need to re-architect or change technology is part of the design process 14 Change is natural part of evolving systems
  • 15. What Are The Key Take Aways? • Managing debt is not a choice it’s a responsibility • Include the cost to maintain, deploy and operate products in your analysis • If Product Owners own the value and then they should own the debt • Collaborate & Partner effectively with Tech Leads • Understand options for decisions and impacts • Continuously monitor our metrics over time and where improvements are required • Continuously manage debt 15 Don’t be scared by debt but do act

Editor's Notes

  1. Why does Debt matter? Like a black hole sucking up energy; Technical debt sucks up effort and it gets harder and harder to avoid. If not managed technical debt builds up over time, the more it builds up the more severe its impact Failure to address reduces ability to deliver change to production and to add end-user value.  
  2. If we don’t maintain our properties they will decay and rot over time Same happens with codebases
  3. Building standards and regulations prevent extending properties beyond recognised limits. You wouldn’t try to move into a burning house Similar cramming features into applications beyond original designs or when they have known issues will exasperate problems
  4. Debt can be accrued not only in the products and service we create but also the tools we use to create, deploy, operate and manage those applications. This tooling we think of as the eco-system, the context in which we work and if we don’t have the right tooling this will also cause friction, delays and likely production issues
  5. Just like a house or property will love value and decay over time because you havent maintained it – The property has a debt that needs repayment, the maintenance is the technical things that need to happen to remediate the problem Same with Software if its not maintained, the product degrades and loses its value – therefore we should be looking at things as Product Debt, not just Technical Debt. The technical work is the work required to remediate problems
  6. Should be asking questions, such as How do we know we’ve built software right and correctly? How do we ensure our releases to Production continue to be high quality and can release with confidence? How do we ensure that our applications and systems continue to be of high quality over time? How well are we delivering changes and value into production? How much does it cost to create & operate software? How can we be more agile?
  7. End of Life means prepare to replace / upgrade the Technology Reducing technical burden keeps us lean, efficient and allows us to be more innovative Don’t wait for a Technology to be Deprecated Multiple versions of a framework causes overheads, delays in onboarding,
  8. Standardised approach avoids emotion