SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Software
Modernisation:
a strategic approach
Sandro Mancuso
codurance.com
@sandromancuso
Software Modernisation: a strategic approach
What is Software modernisation?
Software modernisation is the continuous
process of improving strategic systems in
order to increase business agility.
Why do we fail to
make a case for it?
Software Modernisation: a strategic approach
Software Modernisation: a strategic approach
Business Drivers
Software Modernisation: a strategic approach
Sustainable Change Innovation Leveraging Technology
Business Alignment People & Culture Risk Management
Common drivers for Software Modernisation
Business drivers for software modernisation
Driver 1:
Sustainable Change
How:
Stable and repeatable release processes; Continuous
Delivery; Automated delivery pipelines; Test
automation at multiple levels; Test-Driven
Development; Clean Code; Modular architecture; XP
practices; DevOps
Business can move only as fast as
we can deliver quality software
Sustainable
Change
Innovation
Leveraging
Technology
Business Alignment People & Culture Risk Management
Business goals:
● Reduce lead time
● Reduce cost of change
● Frequent and safer releases to production
● Reduce technical debt
● Reduce defect rate
Business drivers for software modernisation
Driver 2:
Innovation
How:
Contained experiments; Design thinking; Lean
startup; User research; Cloud enablement; Big data;
A/B testing; Analytics; Feature flags
Business goals:
● Stay competitive
● Easy to experiment
● Data-driven decisions
● Fast feedback
Sustainable Change Innovation Leveraging
Technology
Business Alignment People & Culture Risk Management
Continuous innovation is only possible when
supported by well-designed and flexible software
Business drivers for software modernisation
Driver 3:
Leveraging Technology
How:
Cloud native; Serverless architecture; 3rd party
integration; Containerisation; Elastic scaling; Security;
Automation; Infrastructure-as-code; Managed
databases; Modern frameworks; Modular architecture
Business goals:
● Effectiveness and productivity
● Competitive advantage
● Cost reduction
● Technology refresh
● Mitigation against end-of-life
Sustainable Change Innovation
Leveraging
Technology
Business Alignment People & Culture Risk Management
Leveraging technology should be straightforward
and not a scary prospect
Business drivers for software modernisation
Driver 4:
Business Alignment
How:
Eliminate silos; Aligning teams to strategic business
goals; Align architecture to business areas;
Ubiquitous language; Domain Driven Design
Business goals:
● Technology led business evolution
● Faster quality feedback
● Closer collaboration
● Embrace change
Sustainable Change Innovation
Leveraging
Technology
Business
Alignment
People & Culture Risk Management
Achieving business goals is much easier when
technology and business are aligned
Business drivers for software modernisation
Driver 5:
People & Culture
How:
Attractive technologies; Training; Coaching and
mentoring; Internal communities of practice;
Involvement in external communities
Business goals:
● Talent retention and attraction
● Staff development
● Culture of learning
● Leadership at all levels
● Team autonomy
Sustainable Change Innovation
Leveraging
Technology
Business Alignment
People &
Culture
Risk Management
A healthy and modern technology ecosystem is
key to develop, attract, and retain talent
Business drivers for software modernisation
Driver 6:
Risk Management
How:
Isolation and tighter control of critical areas of the
system; Strategic approach to regulatory compliance,
security, monitoring, auditing and logging;
Operational effectiveness and cost control; Site
Reliability Engineering (SRE)
Business goals:
● Real-time system intelligence
● System observability
● Security & Compliance
● Operational excellence
● Reduce mean time to recover
Sustainable Change Innovation
Leveraging
Technology
Business Alignment People & Culture
Risk
Management
Risk management, operational excellence,
security, and compliance must be done by design,
not as an afterthought
Software Modernisation: a strategic approach
Drivers for Software Modernisation Summary
Sustainable Change Innovation Leveraging Technology
Business Alignment People & Culture Risk Management
Software Modernisation: a strategic approach
Common Impediments
Software Modernisation: a strategic approach
Common impediments for Software Modernisation
Lack of time Lack of money Lack of skills
Overwhelmed by
problems
Don’t know where
to start
Fear of increasing
risk
Burned by failed
attempts
Disruption of
business as usual
Cannot convince
the business
Lack of capacity
Lack of
technical vision
Software Modernisation: a strategic approach
Principles
Software Modernisation: a strategic approach
Software Modernisation Principles
Big vision,
small increments
Minimal business
disruption
Excellence within
pragmatic solutions
Law of
diminishing returns
If ain’t broke,
don’t fix it
Value-driven
increments
Starting a Software
Modernisation Initiative
Software Modernisation: a strategic approach
Software Modernisation: a strategic approach
Creating a strategic approach to Software Modernisation
1. Business Alignment 2. Technical Alignment
3. Technical
Vision
4. Technical Strategy
5. Implementation
Strategy
Software Modernisation: a strategic approach
Business Alignment
Software Modernisation: business alignment
Strategic value
● Cost reduction
● Preparing for future changes
● Compliance with regulations
● Risk management
● Support business demand
Inefficiencies
● Long release cycle
● Bad performance
● Difficult to test and maintain
● Multi-team hotspot
● High number of bugs
● Legacy technology
Focusing the Software Modernisation initiative
Selecting areas by:
Experimentation
● Proof of Concept
● Exemplar project
● Prototype
Software Modernisation: business alignment
Main features
Shared understanding of the existing solution
Pain points
Desired improvements Path to production (VSM)
Value Stream Mapping (VSM)
Goal
Actor 1
Impact 1
Deliverable 1
Deliverable 2
Impact 2 Deliverable 3
Actor 2
Impact 3
Deliverable 4
Deliverable 5
Impact 4
Deliverable 6
Deliverable 7
Business vision and direction Milestone goals and strategy Prioritisation and distribution
Portfolio management Impact mapping Backlog management
Software Modernisation: business alignment
Business vision, strategy and priorities
Software Modernisation: business alignment
Business constraints
● External deadlines
● Internal deadlines
● Money
● SLAs
● Regulations
● Certifications
● Lack of skills
● Company structure
● ...
It’s important to differentiate immovable
constraints from made-up constraints.
Software Modernisation: business alignment
Business OKRs, KPIs
and Metrics
● Cost reduction
● Sales increase
● Market share
● Customer acquisition
● Customer retention
● Work efficiency
● SLAs
● Regulation compliance
● Reduce lead time
Credit: Forsgren PhD, Nicole. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
*It was found that low performers were lower on average (at a statistically significant level), but had the same median as the medium performers
Software Modernisation: business alignment
Metrics for successful software delivery organisations
High Performers Medium Performers Low Performers
Deployment Frequency On-demand
(multiple deploys per day)
Between once per week
and once per month
Between once per week
and once per month*
Lead Time Less than one hour
Between one week and
one month
Up to Many Months
Mean Time To Restore Less than one hour Less than one day
Between one day and
one week
Change Failure Rate 0-15% 0-15% 31-45%
Software Modernisation: a strategic approach
Technical Alignment
Detailed design of
prioritised areas
Main business flows and
respective components
Overall architecture
Software Modernisation: technical alignment
Understanding the existing technical solution
Software Modernisation: technical alignment
Shared understanding of the existing solution
Pain points Desired improvements
Technical constraints Modernisation risks
Software Modernisation: technical alignment
Technical constraints
● Multi-instance vs multi-tenant
● Operational maturity
● Data location
● Regulations
● SLAs
● Technology investment
● Volume of data or transactions
● On-premise installations
● Existing technical direction
● Skills set
● ...
Software Modernisation: a strategic approach
Technical Vision
Software Modernisation: technical vision
Creating a technical vision
● Architecture
● Technology
● Testing
● Deployment
● Production environment
● Modularisation
● Team ownership
● ...
Technical vision
is a direction, not a
plan. It is also a
moving target.
Software Modernisation: technical alignment
The technical vision should take into account:
Business vision
and strategy
Business
constraints
Business
priorities
Business goals
(OKRs,KPIs,Metrics)
Pain points
Desired
improvements
Technical
constraints
Inefficiencies
Software Modernisation: a strategic approach
Technical Strategy
Software Modernisation: technical strategy
Risks & Disadvantages
Advantages
Re-architectRewrite Refactor HybridRe-platform
Software Modernisation: technical strategy
Prioritising technical strategy by:
Functional areas New features Business flows Usability
Technical
components
Code hotspots Operational aspects Technical debt
Software Modernisation: technical strategy
Modernisation techniques and architecture
Modular
monolith
Monolith to
microservices
Strangler fig
Frontend/backend
separation
UI-based flow
orchestration
Operational
requirements
segregation
Data ownership
segregation
Code
refactoring
Incremental approach to modularisation
Vision
Modularising key functional areas enables continuous delivery of value
By isolating key functional areas of the system, we can scale to meet increasing
demand and release features to support new opportunities
Entangled system Improvements in key areas Isolation of key areas Stable and independent areas
Current Situation
Software Modernisation: technical strategy
Key advantages of modularisation
Reduced
cognitive load
Easy to build fast and
reliable automated tests
Enable continuous
delivery
Strategic and gradual
improvements
Easy parallelisation of work
across teams
Localised and
safer changes
Software Modernisation: technical strategy
Architectural modules
A well-designed system is composed by loose-coupled and cohesive modules.
● Group of Services
● Services
● Libraries
● Components
● Packages/namespaces
Software Modernisation: a strategic approach
Implementation Strategy
Software Modernisation: implementation strategy
Implementation
strategies
● Dedicated team
● Specialised team
● Unified backlog prioritised by value
● Embedded specialists
● 20% improvements
● Dedicated individuals per iteration
● Time-boxed improvements
Software Modernisation: implementation strategy
Modernisation
roadmap
● Incremental approach
● Roadmap and milestones
● Iterative development
● Run as a project
● Continuous delivery
Software Modernisation: a strategic approach
Summary: a strategic approach to Software Modernisation
1. Business Alignment 2. Technical Alignment
3. Technical
Vision
4. Technical Strategy
5. Implementation
Strategy
Software Modernisation: a strategic approach
Modernisation at large
Functional
area 1
QA / Ops
Functional
area 2
CAPA
Initiative
Initiatives funnel
CIP Backlog
Improvement
Teams
Improvement Initiative
Sources
.....
CIP Steering Group
Technical
debt
Continuous Improvement Program (CIP)
Software Modernisation: implementation strategy
Software Modernisation: a strategic approach
Healthy Development
Software Modernisation: a strategic approach
Aligning product and software design
PRODUCT
DEFINITION
PRODUCT
ROADMAP
NEXT
MILESTONE
MINIMUM
VALUABLE
INCREMENTS
NEXT
INCREMENT
(MVI)
WORK ITEMS
NEXT WORK
ITEM
TECHNICAL
FEASIBILITY
PRODUCT
ARCHITECTURE
TECHNICAL
STRATEGY
DETAILED
ARCHITECTURE
HIGH LEVEL
DESIGN
DETAILED
DESIGN
IMPLEMENTATION
PLAN
IMPLEMENTATION
IDEATION STRATEGY PLANNING DEVELOPMENT
Product Review
6-12 months
Goal achieved
1-3 months
MVI Delivered
1-2 weeks
Work item done
1-4 days
Thank you
codurance.com
@sandromancuso

Más contenido relacionado

La actualidad más candente

New Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesNew Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesSlideTeam
 
Agile Manifesto Values
Agile Manifesto ValuesAgile Manifesto Values
Agile Manifesto ValuesNikolai F.
 
Taming technical debt
Taming technical debt Taming technical debt
Taming technical debt Panji Gautama
 
Agile project management
Agile project managementAgile project management
Agile project managementmicovi
 
The art of agile project initiation
The art of agile project initiationThe art of agile project initiation
The art of agile project initiationKshitij Agrawal
 
Software development with agile methodologies
Software development with agile methodologiesSoftware development with agile methodologies
Software development with agile methodologiesElmozamil Elamir
 
The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)Adrian Howard
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management iACT Global
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environmentsunil1993
 
Agile project management
Agile project managementAgile project management
Agile project managementeng100
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development PrimerDerek Winter
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementKamuran Koçak
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methodsSyed Zaid Irshad
 

La actualidad más candente (20)

New Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesNew Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation Slides
 
Agile Manifesto Values
Agile Manifesto ValuesAgile Manifesto Values
Agile Manifesto Values
 
Taming technical debt
Taming technical debt Taming technical debt
Taming technical debt
 
Agile project management
Agile project managementAgile project management
Agile project management
 
The art of agile project initiation
The art of agile project initiationThe art of agile project initiation
The art of agile project initiation
 
Software development with agile methodologies
Software development with agile methodologiesSoftware development with agile methodologies
Software development with agile methodologies
 
AgilePM® V2 - Agile Project Management V2 - Foundation
AgilePM® V2 - Agile Project Management V2 - FoundationAgilePM® V2 - Agile Project Management V2 - Foundation
AgilePM® V2 - Agile Project Management V2 - Foundation
 
The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environment
 
Agile project management
Agile project managementAgile project management
Agile project management
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 
TSU CMM CMMI
TSU CMM CMMITSU CMM CMMI
TSU CMM CMMI
 
Agile frameworks
Agile frameworksAgile frameworks
Agile frameworks
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methods
 
DSDM
DSDMDSDM
DSDM
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 

Similar a Software Modernisation: a strategic approach

Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Microsoft Décideurs IT
 
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Microsoft Technet France
 
Leonardo Group Americas Introduction
Leonardo Group Americas IntroductionLeonardo Group Americas Introduction
Leonardo Group Americas IntroductionRichard Rahn
 
Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...
Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...
Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...AgileNetwork
 
Building Your Own Modernization Roadmap - Emmanuel Tzinevrakis
Building Your Own Modernization Roadmap - Emmanuel TzinevrakisBuilding Your Own Modernization Roadmap - Emmanuel Tzinevrakis
Building Your Own Modernization Roadmap - Emmanuel TzinevrakisFresche Solutions
 
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...WSO2
 
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...Cognizant
 
The Fundamentals Of BPM Innovation In Telecommunications
The Fundamentals Of BPM Innovation In TelecommunicationsThe Fundamentals Of BPM Innovation In Telecommunications
The Fundamentals Of BPM Innovation In TelecommunicationsNathaniel Palmer
 
Mindtree agile offering.
Mindtree agile offering.Mindtree agile offering.
Mindtree agile offering.Mindtree Ltd.
 
Sept 2008 Presentation Quality & Project Management
Sept 2008 Presentation Quality & Project ManagementSept 2008 Presentation Quality & Project Management
Sept 2008 Presentation Quality & Project ManagementHaroon Abbu
 
Developing a Modernization Strategy: Evaluating the Options by Chris Koppe
Developing a Modernization Strategy: Evaluating the Options by Chris KoppeDeveloping a Modernization Strategy: Evaluating the Options by Chris Koppe
Developing a Modernization Strategy: Evaluating the Options by Chris KoppeFresche Solutions
 
Google Global React Presentation 2008[1]
Google Global React Presentation 2008[1]Google Global React Presentation 2008[1]
Google Global React Presentation 2008[1]guest4ff51
 
Metrics that Matters in Software Engineering
Metrics that Matters in Software EngineeringMetrics that Matters in Software Engineering
Metrics that Matters in Software EngineeringPanji Gautama
 
Improving software economics
Improving software economicsImproving software economics
Improving software economicsdeep sharma
 
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
 

Similar a Software Modernisation: a strategic approach (20)

Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
 
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
 
Leonardo Group Americas Introduction
Leonardo Group Americas IntroductionLeonardo Group Americas Introduction
Leonardo Group Americas Introduction
 
Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...
Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...
Agile Gurugram 2022 - Dinker Charak | Line of Sight from Engineering Excellen...
 
Building Your Own Modernization Roadmap - Emmanuel Tzinevrakis
Building Your Own Modernization Roadmap - Emmanuel TzinevrakisBuilding Your Own Modernization Roadmap - Emmanuel Tzinevrakis
Building Your Own Modernization Roadmap - Emmanuel Tzinevrakis
 
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...
 
Panduit_ERP_061407
Panduit_ERP_061407Panduit_ERP_061407
Panduit_ERP_061407
 
Lets get digital
Lets get digitalLets get digital
Lets get digital
 
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...
 
Agile dashboard
Agile dashboardAgile dashboard
Agile dashboard
 
The Fundamentals Of BPM Innovation In Telecommunications
The Fundamentals Of BPM Innovation In TelecommunicationsThe Fundamentals Of BPM Innovation In Telecommunications
The Fundamentals Of BPM Innovation In Telecommunications
 
Noor-Res
Noor-ResNoor-Res
Noor-Res
 
Mindtree agile offering.
Mindtree agile offering.Mindtree agile offering.
Mindtree agile offering.
 
Sept 2008 Presentation Quality & Project Management
Sept 2008 Presentation Quality & Project ManagementSept 2008 Presentation Quality & Project Management
Sept 2008 Presentation Quality & Project Management
 
Developing a Modernization Strategy: Evaluating the Options by Chris Koppe
Developing a Modernization Strategy: Evaluating the Options by Chris KoppeDeveloping a Modernization Strategy: Evaluating the Options by Chris Koppe
Developing a Modernization Strategy: Evaluating the Options by Chris Koppe
 
Google Global React Presentation 2008[1]
Google Global React Presentation 2008[1]Google Global React Presentation 2008[1]
Google Global React Presentation 2008[1]
 
Metrics that Matters in Software Engineering
Metrics that Matters in Software EngineeringMetrics that Matters in Software Engineering
Metrics that Matters in Software Engineering
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
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...
 
Presentation on Denovo SAP Service
Presentation on Denovo SAP ServicePresentation on Denovo SAP Service
Presentation on Denovo SAP Service
 

Más de Sandro Mancuso

A Case for Outside-In Design
A Case for Outside-In DesignA Case for Outside-In Design
A Case for Outside-In DesignSandro Mancuso
 
Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014Sandro Mancuso
 
Crafted Design - ITAKE 2014
Crafted Design - ITAKE 2014Crafted Design - ITAKE 2014
Crafted Design - ITAKE 2014Sandro Mancuso
 
Crafted Design - GeeCON 2014
Crafted Design - GeeCON 2014Crafted Design - GeeCON 2014
Crafted Design - GeeCON 2014Sandro Mancuso
 
Legacy Code Hands-on Session
Legacy Code Hands-on Session Legacy Code Hands-on Session
Legacy Code Hands-on Session Sandro Mancuso
 
How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?Sandro Mancuso
 

Más de Sandro Mancuso (6)

A Case for Outside-In Design
A Case for Outside-In DesignA Case for Outside-In Design
A Case for Outside-In Design
 
Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014
 
Crafted Design - ITAKE 2014
Crafted Design - ITAKE 2014Crafted Design - ITAKE 2014
Crafted Design - ITAKE 2014
 
Crafted Design - GeeCON 2014
Crafted Design - GeeCON 2014Crafted Design - GeeCON 2014
Crafted Design - GeeCON 2014
 
Legacy Code Hands-on Session
Legacy Code Hands-on Session Legacy Code Hands-on Session
Legacy Code Hands-on Session
 
How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?How much do we know about Object-Oriented Programming?
How much do we know about Object-Oriented Programming?
 

Último

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
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.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Último (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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 ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Software Modernisation: a strategic approach

  • 1. Software Modernisation: a strategic approach Sandro Mancuso codurance.com @sandromancuso
  • 2. Software Modernisation: a strategic approach What is Software modernisation? Software modernisation is the continuous process of improving strategic systems in order to increase business agility.
  • 3. Why do we fail to make a case for it? Software Modernisation: a strategic approach
  • 4. Software Modernisation: a strategic approach Business Drivers
  • 5. Software Modernisation: a strategic approach Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management Common drivers for Software Modernisation
  • 6. Business drivers for software modernisation Driver 1: Sustainable Change How: Stable and repeatable release processes; Continuous Delivery; Automated delivery pipelines; Test automation at multiple levels; Test-Driven Development; Clean Code; Modular architecture; XP practices; DevOps Business can move only as fast as we can deliver quality software Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management Business goals: ● Reduce lead time ● Reduce cost of change ● Frequent and safer releases to production ● Reduce technical debt ● Reduce defect rate
  • 7. Business drivers for software modernisation Driver 2: Innovation How: Contained experiments; Design thinking; Lean startup; User research; Cloud enablement; Big data; A/B testing; Analytics; Feature flags Business goals: ● Stay competitive ● Easy to experiment ● Data-driven decisions ● Fast feedback Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management Continuous innovation is only possible when supported by well-designed and flexible software
  • 8. Business drivers for software modernisation Driver 3: Leveraging Technology How: Cloud native; Serverless architecture; 3rd party integration; Containerisation; Elastic scaling; Security; Automation; Infrastructure-as-code; Managed databases; Modern frameworks; Modular architecture Business goals: ● Effectiveness and productivity ● Competitive advantage ● Cost reduction ● Technology refresh ● Mitigation against end-of-life Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management Leveraging technology should be straightforward and not a scary prospect
  • 9. Business drivers for software modernisation Driver 4: Business Alignment How: Eliminate silos; Aligning teams to strategic business goals; Align architecture to business areas; Ubiquitous language; Domain Driven Design Business goals: ● Technology led business evolution ● Faster quality feedback ● Closer collaboration ● Embrace change Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management Achieving business goals is much easier when technology and business are aligned
  • 10. Business drivers for software modernisation Driver 5: People & Culture How: Attractive technologies; Training; Coaching and mentoring; Internal communities of practice; Involvement in external communities Business goals: ● Talent retention and attraction ● Staff development ● Culture of learning ● Leadership at all levels ● Team autonomy Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management A healthy and modern technology ecosystem is key to develop, attract, and retain talent
  • 11. Business drivers for software modernisation Driver 6: Risk Management How: Isolation and tighter control of critical areas of the system; Strategic approach to regulatory compliance, security, monitoring, auditing and logging; Operational effectiveness and cost control; Site Reliability Engineering (SRE) Business goals: ● Real-time system intelligence ● System observability ● Security & Compliance ● Operational excellence ● Reduce mean time to recover Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management Risk management, operational excellence, security, and compliance must be done by design, not as an afterthought
  • 12. Software Modernisation: a strategic approach Drivers for Software Modernisation Summary Sustainable Change Innovation Leveraging Technology Business Alignment People & Culture Risk Management
  • 13. Software Modernisation: a strategic approach Common Impediments
  • 14. Software Modernisation: a strategic approach Common impediments for Software Modernisation Lack of time Lack of money Lack of skills Overwhelmed by problems Don’t know where to start Fear of increasing risk Burned by failed attempts Disruption of business as usual Cannot convince the business Lack of capacity Lack of technical vision
  • 15. Software Modernisation: a strategic approach Principles
  • 16. Software Modernisation: a strategic approach Software Modernisation Principles Big vision, small increments Minimal business disruption Excellence within pragmatic solutions Law of diminishing returns If ain’t broke, don’t fix it Value-driven increments
  • 17. Starting a Software Modernisation Initiative Software Modernisation: a strategic approach
  • 18. Software Modernisation: a strategic approach Creating a strategic approach to Software Modernisation 1. Business Alignment 2. Technical Alignment 3. Technical Vision 4. Technical Strategy 5. Implementation Strategy
  • 19. Software Modernisation: a strategic approach Business Alignment
  • 20. Software Modernisation: business alignment Strategic value ● Cost reduction ● Preparing for future changes ● Compliance with regulations ● Risk management ● Support business demand Inefficiencies ● Long release cycle ● Bad performance ● Difficult to test and maintain ● Multi-team hotspot ● High number of bugs ● Legacy technology Focusing the Software Modernisation initiative Selecting areas by: Experimentation ● Proof of Concept ● Exemplar project ● Prototype
  • 21. Software Modernisation: business alignment Main features Shared understanding of the existing solution Pain points Desired improvements Path to production (VSM)
  • 23. Goal Actor 1 Impact 1 Deliverable 1 Deliverable 2 Impact 2 Deliverable 3 Actor 2 Impact 3 Deliverable 4 Deliverable 5 Impact 4 Deliverable 6 Deliverable 7 Business vision and direction Milestone goals and strategy Prioritisation and distribution Portfolio management Impact mapping Backlog management Software Modernisation: business alignment Business vision, strategy and priorities
  • 24. Software Modernisation: business alignment Business constraints ● External deadlines ● Internal deadlines ● Money ● SLAs ● Regulations ● Certifications ● Lack of skills ● Company structure ● ... It’s important to differentiate immovable constraints from made-up constraints.
  • 25. Software Modernisation: business alignment Business OKRs, KPIs and Metrics ● Cost reduction ● Sales increase ● Market share ● Customer acquisition ● Customer retention ● Work efficiency ● SLAs ● Regulation compliance ● Reduce lead time
  • 26. Credit: Forsgren PhD, Nicole. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations *It was found that low performers were lower on average (at a statistically significant level), but had the same median as the medium performers Software Modernisation: business alignment Metrics for successful software delivery organisations High Performers Medium Performers Low Performers Deployment Frequency On-demand (multiple deploys per day) Between once per week and once per month Between once per week and once per month* Lead Time Less than one hour Between one week and one month Up to Many Months Mean Time To Restore Less than one hour Less than one day Between one day and one week Change Failure Rate 0-15% 0-15% 31-45%
  • 27. Software Modernisation: a strategic approach Technical Alignment
  • 28. Detailed design of prioritised areas Main business flows and respective components Overall architecture Software Modernisation: technical alignment Understanding the existing technical solution
  • 29. Software Modernisation: technical alignment Shared understanding of the existing solution Pain points Desired improvements Technical constraints Modernisation risks
  • 30. Software Modernisation: technical alignment Technical constraints ● Multi-instance vs multi-tenant ● Operational maturity ● Data location ● Regulations ● SLAs ● Technology investment ● Volume of data or transactions ● On-premise installations ● Existing technical direction ● Skills set ● ...
  • 31. Software Modernisation: a strategic approach Technical Vision
  • 32. Software Modernisation: technical vision Creating a technical vision ● Architecture ● Technology ● Testing ● Deployment ● Production environment ● Modularisation ● Team ownership ● ... Technical vision is a direction, not a plan. It is also a moving target.
  • 33. Software Modernisation: technical alignment The technical vision should take into account: Business vision and strategy Business constraints Business priorities Business goals (OKRs,KPIs,Metrics) Pain points Desired improvements Technical constraints Inefficiencies
  • 34. Software Modernisation: a strategic approach Technical Strategy
  • 35. Software Modernisation: technical strategy Risks & Disadvantages Advantages Re-architectRewrite Refactor HybridRe-platform
  • 36. Software Modernisation: technical strategy Prioritising technical strategy by: Functional areas New features Business flows Usability Technical components Code hotspots Operational aspects Technical debt
  • 37. Software Modernisation: technical strategy Modernisation techniques and architecture Modular monolith Monolith to microservices Strangler fig Frontend/backend separation UI-based flow orchestration Operational requirements segregation Data ownership segregation Code refactoring
  • 38. Incremental approach to modularisation Vision Modularising key functional areas enables continuous delivery of value By isolating key functional areas of the system, we can scale to meet increasing demand and release features to support new opportunities Entangled system Improvements in key areas Isolation of key areas Stable and independent areas Current Situation
  • 39. Software Modernisation: technical strategy Key advantages of modularisation Reduced cognitive load Easy to build fast and reliable automated tests Enable continuous delivery Strategic and gradual improvements Easy parallelisation of work across teams Localised and safer changes
  • 40. Software Modernisation: technical strategy Architectural modules A well-designed system is composed by loose-coupled and cohesive modules. ● Group of Services ● Services ● Libraries ● Components ● Packages/namespaces
  • 41. Software Modernisation: a strategic approach Implementation Strategy
  • 42. Software Modernisation: implementation strategy Implementation strategies ● Dedicated team ● Specialised team ● Unified backlog prioritised by value ● Embedded specialists ● 20% improvements ● Dedicated individuals per iteration ● Time-boxed improvements
  • 43. Software Modernisation: implementation strategy Modernisation roadmap ● Incremental approach ● Roadmap and milestones ● Iterative development ● Run as a project ● Continuous delivery
  • 44. Software Modernisation: a strategic approach Summary: a strategic approach to Software Modernisation 1. Business Alignment 2. Technical Alignment 3. Technical Vision 4. Technical Strategy 5. Implementation Strategy
  • 45. Software Modernisation: a strategic approach Modernisation at large
  • 46. Functional area 1 QA / Ops Functional area 2 CAPA Initiative Initiatives funnel CIP Backlog Improvement Teams Improvement Initiative Sources ..... CIP Steering Group Technical debt Continuous Improvement Program (CIP) Software Modernisation: implementation strategy
  • 47. Software Modernisation: a strategic approach Healthy Development
  • 48. Software Modernisation: a strategic approach Aligning product and software design PRODUCT DEFINITION PRODUCT ROADMAP NEXT MILESTONE MINIMUM VALUABLE INCREMENTS NEXT INCREMENT (MVI) WORK ITEMS NEXT WORK ITEM TECHNICAL FEASIBILITY PRODUCT ARCHITECTURE TECHNICAL STRATEGY DETAILED ARCHITECTURE HIGH LEVEL DESIGN DETAILED DESIGN IMPLEMENTATION PLAN IMPLEMENTATION IDEATION STRATEGY PLANNING DEVELOPMENT Product Review 6-12 months Goal achieved 1-3 months MVI Delivered 1-2 weeks Work item done 1-4 days