SlideShare a Scribd company logo
© 2019 Synopsys, Inc.1
Do Design Quality and Code Quality Matter in
M&A Tech Due Diligence?
(Spoiler: Yes)
Niles Madison, Synopsys
Dan Sturtevant, Silverthread
© 2019 Synopsys, Inc.2
Speakers
Niles Madison
Senior Manager
Black Duck Audits
Group
Dan Sturtevant
Founder/CEO
Silverthread
© 2019 Synopsys, Inc.3
Agenda
M&A due diligence and quality risk
Understanding code quality
Understanding design quality
Assessing quality in due diligence
Q&A
© 2019 Synopsys, Inc.4
M&A due diligence and quality risk
© 2019 Synopsys, Inc.5
Functions of M&A due diligence
• Confirm premises for doing the deal
• Gather information to plan for integration
• Identify unknown risks
© 2019 Synopsys, Inc.6
Software risk technical due diligence
Product / strategy
People
Process / tools
Architecture
Code
Strategic acquirer performs
PE firms may contract out
Our focus today is on
risks in the software
© 2019 Synopsys, Inc.7
Architecture
Dimensions of software risk
Open source
and third party
Proprietary
Software development process
Legal Security
Quality
© 2019 Synopsys, Inc.8
Poor-quality software can slow integration and blow the
business case for an acquisition
• Poor code quality: lots to fix
• Poor design quality: fixing is slow (including fixing legal and security issues)
Source: Silverthread, Inc.
Unhealthy codebase
Developer
productivity
8
Features/year
Developer time
fixing bugs
69%
Healthy codebase
Developer
productivity
20
Features/year
Developer time
fixing bugs
20%
Occurrence Severity Description
62.02% BLOCKER High probability of impact on system behavior
Must be fixed immediately
85.46% CRITICAL Lower probability of impact on system behavior
Must be reviewed immediately
96.14% MAJOR High impact on developer productivity
95.55% MINOR Some impact on developer productivity
72.70% INFO Could be an issue
96.44% Any project with an issue (excluding INFO)
Source: Black Duck Quality Audits
© 2019 Synopsys, Inc.9
Understanding code quality
© 2019 Synopsys, Inc.10
Quality risk
Perhaps not as acute as security and license risk, but insidious
• You won’t get sued or breached, but…
– Products may:
– Be hard to enhance/maintain
– Suffer significant technical debt
– Not scale
– Be buggy
– There can be a drag on every fix or feature
– You may need to redesign/refactor
– You may need to hire more senior developers
© 2019 Synopsys, Inc.11
Sample of metrics:
• File issues vs. complexity
• Average and number of high-complexity files/methods
• Number of large packages, files, and methods
• Amount of duplicated code (i.e., code redundancy/rework)
© 2019 Synopsys, Inc.12
Understanding design quality
© 2019 Synopsys, Inc.13
Code quality vs. design quality
Individual lines of code or functional parts
Architecture of a codebase
CODE
QUALITY
DESIGN
QUALITY
TECHNICAL HEALTH
Good Bad
Good Bad
vs.
vs.
© 2019 Synopsys, Inc.14
Design quality matters
goal
• Agility
• Predictability
• Schedule
• Safety
• Cloud readiness
• Cyber resilience
Technical
Programmatic
Unhealthy codebase
Developer
productivity
8
Features/year
Developer time
fixing bugs
69%
Healthy codebase
Developer
productivity
20
Features/year
Developer time
fixing bugs
20%
• Revenue generation
• Cost reduction
• Optionality for new businesses
Economics
vs.
© 2019 Synopsys, Inc.15
Elements of architectural health
Layered
API
Layer
compromised
API
circumvented
Cyclicality
Healthy architectureUnhealthy architecture
Modular
Hierarchical
dependence
Module too big
Source: Silverthread, Inc.
© 2019 Synopsys, Inc.16
Poor architectural health: Gaming company example
Oct–Nov:
Bigger cross-organization
team investigates and
finds source of problem.
Hack put in place to
enable Christmas ship.
Fingers crossed.
Video Game Engine: NY-based team
Physics
subsystem
Xbox drivers
PS4
drivers
Game 1: Los Angeles–based team
Vehicle
subsystem
Bad Guy
subsystem
Weapon
subsystem
3 years ago:
Some members of Engine team saved 1
month by introducing calls to code in
Game 1, including:
User: engine/physics/foo.cpp
Uses: game/bad_guy/bar.cpp
Line: 407
Type: Method Call
Bad
cyclicality
introduced,
violating platform
/ plugin
architecture
Platform & plugin
architecture
May: Game 1 team makes improvement, slightly
alters behavior. No thought that this would affect Engine
or Game 2.
June: Game 2 team experiences
new subtle bug. Spends 1 month trying to
debug. Eventually traces it to change in
Engine.
July–Sept:
Cross-organization
team investigates bug
together. Progress
slowed by geographic
distance. Bad cyclicality
discovered. Behavior
change traced to Game
1.
Game 1 depends
on Engine
Game 2 depends
on Engine
31 2
4
5
Game 2:
UK-based team
Rendering
subsystem
© 2019 Synopsys, Inc.17
Assessing quality in due diligence
© 2019 Synopsys, Inc.18
Code quality audit
• Method: Automated static code analysis / expert human review
• Requires: Access to source code and libraries
• Focus: Quality of coding at the file and method level relative to the industry
• Evaluates: Coding practices, structure complexity, commenting, errors
• Sample of metrics:
– File issues vs. complexity
– Average and number of high-complexity files/methods
– Number of large packages, files, and methods
– Amount of duplicated code (i.e., code redundancy/rework)
Is the code well-written?
© 2019 Synopsys, Inc.19
Design quality audit
• Method: Automated analysis / expert human review, powered by CodeMRI® from Silverthread
• Requires: Access to source code and libraries
• Focus: Quality of design at the architectural level
• Evaluates: Architecture, modularity, layering, APIs, cyclicality
• Sample of metrics:
– Economic impact
– Size and number of core (tangles)
– File interdependencies
Is the architecture healthy?
© 2019 Synopsys, Inc.20
Conclusions
• It’s important to understand the holistic risk when
evaluating software assets in M&A (and beyond)
• Poor-quality design and code can slow integration
and impede fixing and improving software
• It’s important to assess all aspects of quality
© 2019 Synopsys, Inc.21
Q&A

More Related Content

PDF
Webinar–Improving Fuzz Testing of Infotainment Systems and Telematics Units U...
Synopsys Software Integrity Group
 
PDF
Webinar–5 ways to risk rank your vulnerabilities
Synopsys Software Integrity Group
 
PDF
Webinar–Delivering a Next Generation Vulnerability Feed
Synopsys Software Integrity Group
 
PDF
Webinar–Using Evidence-Based Security
Synopsys Software Integrity Group
 
PDF
Webinar–Creating a Modern AppSec Toolchain to Quantify Service Risks
Synopsys Software Integrity Group
 
PDF
Webinar–That is Not How This Works
Synopsys Software Integrity Group
 
PDF
Webinar–You've Got Your Open Source Audit Report–Now What?
Synopsys Software Integrity Group
 
PDF
Webinar–Why All Open Source Scans Aren't Created Equal
Synopsys Software Integrity Group
 
Webinar–Improving Fuzz Testing of Infotainment Systems and Telematics Units U...
Synopsys Software Integrity Group
 
Webinar–5 ways to risk rank your vulnerabilities
Synopsys Software Integrity Group
 
Webinar–Delivering a Next Generation Vulnerability Feed
Synopsys Software Integrity Group
 
Webinar–Using Evidence-Based Security
Synopsys Software Integrity Group
 
Webinar–Creating a Modern AppSec Toolchain to Quantify Service Risks
Synopsys Software Integrity Group
 
Webinar–That is Not How This Works
Synopsys Software Integrity Group
 
Webinar–You've Got Your Open Source Audit Report–Now What?
Synopsys Software Integrity Group
 
Webinar–Why All Open Source Scans Aren't Created Equal
Synopsys Software Integrity Group
 

What's hot (20)

PDF
Webinar–Financial Services Study Shows Why Investing in AppSec Matters
Synopsys Software Integrity Group
 
PDF
Webinar–What You Need To Know About Open Source Licensing
Synopsys Software Integrity Group
 
PDF
Webinar–Best Practices for DevSecOps at Scale
Synopsys Software Integrity Group
 
PDF
Webinar–Is Your Software Security Supply Chain a Security Blind Spot?
Synopsys Software Integrity Group
 
PDF
Webinar–The 2019 Open Source Year in Review
Synopsys Software Integrity Group
 
PDF
Webinar–The State of Open Source in M&A Transactions
Synopsys Software Integrity Group
 
PDF
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
Synopsys Software Integrity Group
 
PDF
Webinar–OWASP Top 10 for JavaScript for Developers
Synopsys Software Integrity Group
 
PDF
Webinar – Streamling Your Tech Due Diligence Process for Software Assets
Synopsys Software Integrity Group
 
PDF
Webinar – Security Tool Misconfiguration and Abuse
Synopsys Software Integrity Group
 
PDF
Webinar – Risk-based adaptive DevSecOps
Synopsys Software Integrity Group
 
PDF
Webinar–Mobile Application Hardening Protecting Business Critical Apps
Synopsys Software Integrity Group
 
PPTX
Automate and Enhance Application Security Analysis
Carlos Andrés García
 
PPTX
Black Duck & IBM Present: Application Security in the Age of Open Source
Black Duck by Synopsys
 
PDF
Synopsys Security Event Israel Presentation: Making AppSec Testing Work in CI/CD
Synopsys Software Integrity Group
 
PPTX
Open Source Insight: You Can’t Beat Hackers and the Pentagon Moves into Open...
Black Duck by Synopsys
 
PDF
Webinar–AppSec: Hype or Reality
Synopsys Software Integrity Group
 
PDF
Open Source Outlook: Expected Developments for 2016
Black Duck by Synopsys
 
PDF
Preventing Code Leaks & Other Critical Security Risks from Code
DevOps.com
 
PDF
Software Security Assurance for DevOps
Black Duck by Synopsys
 
Webinar–Financial Services Study Shows Why Investing in AppSec Matters
Synopsys Software Integrity Group
 
Webinar–What You Need To Know About Open Source Licensing
Synopsys Software Integrity Group
 
Webinar–Best Practices for DevSecOps at Scale
Synopsys Software Integrity Group
 
Webinar–Is Your Software Security Supply Chain a Security Blind Spot?
Synopsys Software Integrity Group
 
Webinar–The 2019 Open Source Year in Review
Synopsys Software Integrity Group
 
Webinar–The State of Open Source in M&A Transactions
Synopsys Software Integrity Group
 
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
Synopsys Software Integrity Group
 
Webinar–OWASP Top 10 for JavaScript for Developers
Synopsys Software Integrity Group
 
Webinar – Streamling Your Tech Due Diligence Process for Software Assets
Synopsys Software Integrity Group
 
Webinar – Security Tool Misconfiguration and Abuse
Synopsys Software Integrity Group
 
Webinar – Risk-based adaptive DevSecOps
Synopsys Software Integrity Group
 
Webinar–Mobile Application Hardening Protecting Business Critical Apps
Synopsys Software Integrity Group
 
Automate and Enhance Application Security Analysis
Carlos Andrés García
 
Black Duck & IBM Present: Application Security in the Age of Open Source
Black Duck by Synopsys
 
Synopsys Security Event Israel Presentation: Making AppSec Testing Work in CI/CD
Synopsys Software Integrity Group
 
Open Source Insight: You Can’t Beat Hackers and the Pentagon Moves into Open...
Black Duck by Synopsys
 
Webinar–AppSec: Hype or Reality
Synopsys Software Integrity Group
 
Open Source Outlook: Expected Developments for 2016
Black Duck by Synopsys
 
Preventing Code Leaks & Other Critical Security Risks from Code
DevOps.com
 
Software Security Assurance for DevOps
Black Duck by Synopsys
 
Ad

Similar to Do Design Quality and Code Quality Matter in Merger and Acquisition Tech Due Diligence? (20)

PDF
Webinar–Building A Culture of Secure Programming in Your Organization
Synopsys Software Integrity Group
 
PDF
RSA Conference Presentation–Creating a Modern AppSec Toolchain to Quantify Se...
Synopsys Software Integrity Group
 
PDF
Webinar–Open Source Risk in M&A by the Numbers
Synopsys Software Integrity Group
 
PPTX
Automate and Enhance Application Security Analysis
VMware Tanzu
 
PPTX
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Robert Grupe, CSSLP CISSP PE PMP
 
PDF
Bridging the Security Testing Gap in Your CI/CD Pipeline
DevOps.com
 
PDF
Unlocking Engineering Observability with advanced IT analytics
source{d}
 
PDF
Agile Project Failures: Root Causes and Corrective Actions
TechWell
 
PDF
OWASP Chicago Meetup Presentation - Threat Modeling-Process Maturity
Synopsys Software Integrity Group
 
PDF
Webinar – Software Security 2019–Embrace Velocity
Synopsys Software Integrity Group
 
PDF
Webinar–2019 Open Source Risk Analysis Report
Synopsys Software Integrity Group
 
PDF
A Comprehensive Breakdown of Low Code, No Code and Traditional Development.pdf
Expert App Devs
 
PDF
Agile Project Failures: Root Causes and Corrective Actions
TechWell
 
PPTX
Software Change estimation
Brenda Barrioz, CPDS
 
PPTX
Webinar–Reviewing Modern JavaScript Applications
Synopsys Software Integrity Group
 
PDF
How to improve the quality of your application
EUR ING Ioannis Kolaxis MSc
 
PDF
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
DevOps for Enterprise Systems
 
PDF
lecture 1-5.pdf
AkankshaJha53
 
PDF
Outpost24 Webinar - Creating a sustainable application security program to dr...
Outpost24
 
PPTX
Software Audit Strategies - How often is good enough for a software audit?
Tiberius Forrester
 
Webinar–Building A Culture of Secure Programming in Your Organization
Synopsys Software Integrity Group
 
RSA Conference Presentation–Creating a Modern AppSec Toolchain to Quantify Se...
Synopsys Software Integrity Group
 
Webinar–Open Source Risk in M&A by the Numbers
Synopsys Software Integrity Group
 
Automate and Enhance Application Security Analysis
VMware Tanzu
 
Red7 SSDLC Introduction: Building Secure Web and Mobile Applications
Robert Grupe, CSSLP CISSP PE PMP
 
Bridging the Security Testing Gap in Your CI/CD Pipeline
DevOps.com
 
Unlocking Engineering Observability with advanced IT analytics
source{d}
 
Agile Project Failures: Root Causes and Corrective Actions
TechWell
 
OWASP Chicago Meetup Presentation - Threat Modeling-Process Maturity
Synopsys Software Integrity Group
 
Webinar – Software Security 2019–Embrace Velocity
Synopsys Software Integrity Group
 
Webinar–2019 Open Source Risk Analysis Report
Synopsys Software Integrity Group
 
A Comprehensive Breakdown of Low Code, No Code and Traditional Development.pdf
Expert App Devs
 
Agile Project Failures: Root Causes and Corrective Actions
TechWell
 
Software Change estimation
Brenda Barrioz, CPDS
 
Webinar–Reviewing Modern JavaScript Applications
Synopsys Software Integrity Group
 
How to improve the quality of your application
EUR ING Ioannis Kolaxis MSc
 
IBM Z for the Digital Enterprise 2018 - Automate Delivery Pipeline
DevOps for Enterprise Systems
 
lecture 1-5.pdf
AkankshaJha53
 
Outpost24 Webinar - Creating a sustainable application security program to dr...
Outpost24
 
Software Audit Strategies - How often is good enough for a software audit?
Tiberius Forrester
 
Ad

More from Synopsys Software Integrity Group (6)

PDF
Webinar–Segen oder Fluch?
Synopsys Software Integrity Group
 
PDF
Webinar–Sécurité Applicative et DevSecOps dans un monde Agile
Synopsys Software Integrity Group
 
PDF
Webinar - Developers Are Your Greatest AppSec Resource
Synopsys Software Integrity Group
 
PDF
Webinar – Using Metrics to Drive Your Software Security Initiative
Synopsys Software Integrity Group
 
PDF
Webinar–Vulnerabilities in Containerised Production Environments
Synopsys Software Integrity Group
 
PDF
Infographic–A Look Back at the First Year of GDPR
Synopsys Software Integrity Group
 
Webinar–Segen oder Fluch?
Synopsys Software Integrity Group
 
Webinar–Sécurité Applicative et DevSecOps dans un monde Agile
Synopsys Software Integrity Group
 
Webinar - Developers Are Your Greatest AppSec Resource
Synopsys Software Integrity Group
 
Webinar – Using Metrics to Drive Your Software Security Initiative
Synopsys Software Integrity Group
 
Webinar–Vulnerabilities in Containerised Production Environments
Synopsys Software Integrity Group
 
Infographic–A Look Back at the First Year of GDPR
Synopsys Software Integrity Group
 

Recently uploaded (20)

PPTX
Save Business Costs with CRM Software for Insurance Agents
Insurance Tech Services
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
PDF
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
PDF
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PDF
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
DOCX
The Five Best AI Cover Tools in 2025.docx
aivoicelabofficial
 
PDF
How to Seamlessly Integrate Salesforce Data Cloud with Marketing Cloud.pdf
NSIQINFOTECH
 
PPTX
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
Save Business Costs with CRM Software for Insurance Agents
Insurance Tech Services
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
Exploring AI Agents in Process Industries
amoreira6
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
The Five Best AI Cover Tools in 2025.docx
aivoicelabofficial
 
How to Seamlessly Integrate Salesforce Data Cloud with Marketing Cloud.pdf
NSIQINFOTECH
 
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Explanation about Structures in C language.pptx
Veeral Rathod
 

Do Design Quality and Code Quality Matter in Merger and Acquisition Tech Due Diligence?

  • 1. © 2019 Synopsys, Inc.1 Do Design Quality and Code Quality Matter in M&A Tech Due Diligence? (Spoiler: Yes) Niles Madison, Synopsys Dan Sturtevant, Silverthread
  • 2. © 2019 Synopsys, Inc.2 Speakers Niles Madison Senior Manager Black Duck Audits Group Dan Sturtevant Founder/CEO Silverthread
  • 3. © 2019 Synopsys, Inc.3 Agenda M&A due diligence and quality risk Understanding code quality Understanding design quality Assessing quality in due diligence Q&A
  • 4. © 2019 Synopsys, Inc.4 M&A due diligence and quality risk
  • 5. © 2019 Synopsys, Inc.5 Functions of M&A due diligence • Confirm premises for doing the deal • Gather information to plan for integration • Identify unknown risks
  • 6. © 2019 Synopsys, Inc.6 Software risk technical due diligence Product / strategy People Process / tools Architecture Code Strategic acquirer performs PE firms may contract out Our focus today is on risks in the software
  • 7. © 2019 Synopsys, Inc.7 Architecture Dimensions of software risk Open source and third party Proprietary Software development process Legal Security Quality
  • 8. © 2019 Synopsys, Inc.8 Poor-quality software can slow integration and blow the business case for an acquisition • Poor code quality: lots to fix • Poor design quality: fixing is slow (including fixing legal and security issues) Source: Silverthread, Inc. Unhealthy codebase Developer productivity 8 Features/year Developer time fixing bugs 69% Healthy codebase Developer productivity 20 Features/year Developer time fixing bugs 20% Occurrence Severity Description 62.02% BLOCKER High probability of impact on system behavior Must be fixed immediately 85.46% CRITICAL Lower probability of impact on system behavior Must be reviewed immediately 96.14% MAJOR High impact on developer productivity 95.55% MINOR Some impact on developer productivity 72.70% INFO Could be an issue 96.44% Any project with an issue (excluding INFO) Source: Black Duck Quality Audits
  • 9. © 2019 Synopsys, Inc.9 Understanding code quality
  • 10. © 2019 Synopsys, Inc.10 Quality risk Perhaps not as acute as security and license risk, but insidious • You won’t get sued or breached, but… – Products may: – Be hard to enhance/maintain – Suffer significant technical debt – Not scale – Be buggy – There can be a drag on every fix or feature – You may need to redesign/refactor – You may need to hire more senior developers
  • 11. © 2019 Synopsys, Inc.11 Sample of metrics: • File issues vs. complexity • Average and number of high-complexity files/methods • Number of large packages, files, and methods • Amount of duplicated code (i.e., code redundancy/rework)
  • 12. © 2019 Synopsys, Inc.12 Understanding design quality
  • 13. © 2019 Synopsys, Inc.13 Code quality vs. design quality Individual lines of code or functional parts Architecture of a codebase CODE QUALITY DESIGN QUALITY TECHNICAL HEALTH Good Bad Good Bad vs. vs.
  • 14. © 2019 Synopsys, Inc.14 Design quality matters goal • Agility • Predictability • Schedule • Safety • Cloud readiness • Cyber resilience Technical Programmatic Unhealthy codebase Developer productivity 8 Features/year Developer time fixing bugs 69% Healthy codebase Developer productivity 20 Features/year Developer time fixing bugs 20% • Revenue generation • Cost reduction • Optionality for new businesses Economics vs.
  • 15. © 2019 Synopsys, Inc.15 Elements of architectural health Layered API Layer compromised API circumvented Cyclicality Healthy architectureUnhealthy architecture Modular Hierarchical dependence Module too big Source: Silverthread, Inc.
  • 16. © 2019 Synopsys, Inc.16 Poor architectural health: Gaming company example Oct–Nov: Bigger cross-organization team investigates and finds source of problem. Hack put in place to enable Christmas ship. Fingers crossed. Video Game Engine: NY-based team Physics subsystem Xbox drivers PS4 drivers Game 1: Los Angeles–based team Vehicle subsystem Bad Guy subsystem Weapon subsystem 3 years ago: Some members of Engine team saved 1 month by introducing calls to code in Game 1, including: User: engine/physics/foo.cpp Uses: game/bad_guy/bar.cpp Line: 407 Type: Method Call Bad cyclicality introduced, violating platform / plugin architecture Platform & plugin architecture May: Game 1 team makes improvement, slightly alters behavior. No thought that this would affect Engine or Game 2. June: Game 2 team experiences new subtle bug. Spends 1 month trying to debug. Eventually traces it to change in Engine. July–Sept: Cross-organization team investigates bug together. Progress slowed by geographic distance. Bad cyclicality discovered. Behavior change traced to Game 1. Game 1 depends on Engine Game 2 depends on Engine 31 2 4 5 Game 2: UK-based team Rendering subsystem
  • 17. © 2019 Synopsys, Inc.17 Assessing quality in due diligence
  • 18. © 2019 Synopsys, Inc.18 Code quality audit • Method: Automated static code analysis / expert human review • Requires: Access to source code and libraries • Focus: Quality of coding at the file and method level relative to the industry • Evaluates: Coding practices, structure complexity, commenting, errors • Sample of metrics: – File issues vs. complexity – Average and number of high-complexity files/methods – Number of large packages, files, and methods – Amount of duplicated code (i.e., code redundancy/rework) Is the code well-written?
  • 19. © 2019 Synopsys, Inc.19 Design quality audit • Method: Automated analysis / expert human review, powered by CodeMRI® from Silverthread • Requires: Access to source code and libraries • Focus: Quality of design at the architectural level • Evaluates: Architecture, modularity, layering, APIs, cyclicality • Sample of metrics: – Economic impact – Size and number of core (tangles) – File interdependencies Is the architecture healthy?
  • 20. © 2019 Synopsys, Inc.20 Conclusions • It’s important to understand the holistic risk when evaluating software assets in M&A (and beyond) • Poor-quality design and code can slow integration and impede fixing and improving software • It’s important to assess all aspects of quality
  • 21. © 2019 Synopsys, Inc.21 Q&A