SlideShare a Scribd company logo
1 of 31
SZ
www.softwarezaken.nlwww.startupjuncture.com
SOFTWARE AUDIT AND DUE
DILIGENCE FOR STARTUPS
Invited talk at Startupbootcamp FinTech, London, October 8th 2014
By Sieuwert van Otterloo
SZ
www.softwarezaken.nlwww.startupjuncture.com
About Sieuwert van Otterloo
Current activities:
• IT strategy consultant since 2005 (McKinsey, SIG)
• Startup enthusiast since 2010 (investor, journalist,
occasional entrepreneur)
• IT-legal expert
SZ
www.softwarezaken.nlwww.startupjuncture.com
Secondly: Share tips and
tricks related to quality and
audits
Goals tonight
Most importantly: Helping you
gain your customers’ trust through
focus on quality
SZ
www.softwarezaken.nlwww.startupjuncture.com
Agenda
1. Banks
and
quality
2.
Startups
and
quality
3.
Managing
audits
4.
Reaching
quality
“Your customers
care about your
software”
“You
should
care”
“Minor tips and
tricks”
“Important tips
and tricks”
SZ
www.softwarezaken.nlwww.startupjuncture.com
1. Corporates and IT quality
• Enron: went from $ 70 billion to zero in a
couple of months
• Biggest accounting scandal in history,
second biggest bankruptcy
• Caused a change in regulations:
Sarbanes-Oxley
senior executives take individual
responsibility for the accuracy and
completeness of corporate financial
reports
requires that the company's "principal
officers" (typically CEO and CFO) certify
and approve the integrity of their company
financial reports
SZ
www.softwarezaken.nlwww.startupjuncture.com
Legacy problems
Then:
• Computer systems are not
developed to run forever.
• Before 1990, taking 4 digits to
store a year seemed a waste
of space
Now:
• It is incredibly hard to migrate
data out of live systems
• It is incredibly hard to replace
old COBOL systems: systems
from 1980 are still running in
banks!
1956: IBM harddrive
SZ
www.softwarezaken.nlwww.startupjuncture.com
IT failure happens often...
LOS ANGELES (AP) — Flights to and from airports in the
Los Angeles area were grounded for more than an hour
Wednesday due to a computer failure at an air traffic control
facility in the region, the Federal Aviation Administration
said. The problems rippled nationwide. […]
The ERAM system is critical to the FAA's plans to transition
from a radar-based air traffic control system to satellite-
based navigation, but its rollout is years behind schedule
and hundreds of millions of dollars over budget.
May 1, 2014 8:51 AM
http://news.yahoo.com/computer-issues-delay-flights-los-angeles-234300027.html
SZ
www.softwarezaken.nlwww.startupjuncture.com
... And is caused by legacy software
ERAM is replacing another computer
system that was so old that most of
the technicians who understood its
unique computer language have
retired.
May 1, 2014 8:51 AM
http://news.yahoo.com/computer-issues-delay-flights-los-angeles-234300027.html
Image: IBM 3070
SZ
www.softwarezaken.nlwww.startupjuncture.com
Another case: Denver airport
The airport's computerized baggage system, which was supposed to reduce
delays, shorten waiting times at luggage carousels, and cut airline labor costs,
was an unmitigated failure.
The airport opening was originally scheduled for October 31, 1993, with a
single system for all three concourses. Issues with the baggage system
delayed the opening to February 28, 1995, with separate systems for each
concourse and varying degrees of automation.
The system's $186 million original construction costs grew by $1 million per day
during months of modifications and repairs.
SZ
www.softwarezaken.nlwww.startupjuncture.com
Team
growth
Selling your
company
Buy another
company
Software maintainability is important for scaling
startups
Idea
MVP
Product /
market fit
Reduce risk of
chaos
Need to pass
due diligence
process
Need to sanitize
and integrate
SZ
www.softwarezaken.nlwww.startupjuncture.com
Maintenance cost matters more than
development cost for companies
Conservative example:
• The system needs 15% maintenance per year
• The system grows 10% per year
• System lasts 10 years
Result: maintenance costs are 140% higher than development cost
- 15
17
18
20
22
24
27
29
32
35
239
100
0
25
50
75
100
125
150
175
200
225
250
275
build Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 Year 7 Year 8 Year 9 Year 10 Total
SZ
www.softwarezaken.nlwww.startupjuncture.com
Dealing with audits, assessments and other
interference
SZ
www.softwarezaken.nlwww.startupjuncture.com
Assessments are a step towards money
1. A large company
wants to buy your
service
2. Someone wants
to buy your
company
Product focus Company focus
SZ
www.softwarezaken.nlwww.startupjuncture.com
... Or a clear signal of trouble
• Project termination
• Crisis management
• blame assignment
SZ
www.softwarezaken.nlwww.startupjuncture.com
A good assessment process includes context
System
context and
business
strategy
Risks
Quality
Economics
Is the input for
determining …
Are the basis
for…
Conclusions
Code
Review and
factfinding
Recommen-
dations
SZ
www.softwarezaken.nlwww.startupjuncture.com
How not to deal with an assessment
Develop a system as fast as
possible at minimal cost
OK, here it is
Can you audit the system?
What quality standards did you
demand?
What quality standards did you
use?
None, we focused on cost and
speed
We asked nothing special, but
we expect a fit for use system
conforming to industry best
practices
Client SupplierAssessor
Let’s report a lot of findings to
show that we worked really
hard
SZ
www.softwarezaken.nlwww.startupjuncture.com
A better way to deal with assessments
Develop a system as fast as
possible at minimal cost Here is our own standard, is that good enough
for you?
What quality standards did you use?
We agreed on this standard. We checked to
code and it complies. Let us know if you find
any issues
We worked really hard and have
these findings
Well done! We do not see major risks, but if
needed we have a quality process and can fix
these in the next release.
The quality is what has been agreed,
and will be even better in the next
release
Client SupplierAssessor
SZ
www.softwarezaken.nlwww.startupjuncture.com
How to deal with due diligence
1. You cannot determine the outcome directly but you can influence the
process: you can set conditions before you provide your data.
2. Keep it short by starting late: Do not start the assessment before the other
deal details are sorted out
3. Ensure the goal is limited: For instance to determine whether the software
has issues that cannot be fixed and cause major risks
4. Ensure involvement: Auditors should listen to your side, share and discuss
findings before reporting any issues.
SZ
www.softwarezaken.nlwww.startupjuncture.com
How to reach quality?
... perfection is finally attained not when
there is no longer anything to add, but
when there is no longer anything to take
away ...
SZ
www.softwarezaken.nlwww.startupjuncture.com
ISO 25010 is the official standard for software
quality
ISO 25010:
Software
product quality
Functional
suitability
Reliability
Performance /
efficiency
Operability
Security
Compatibility
Maintainability
Portability
Visible Invisible
SZ
www.softwarezaken.nlwww.startupjuncture.com
Official standards for security
• ISO 27001 : formal, heavy
framework
• SANS: open initiative with good list
of controls
• OWASP: open initiative with a good
top 10
SZ
www.softwarezaken.nlwww.startupjuncture.com
Step 1: joint ownership and responsibility
• Everyone in the team should
feel comfortable explaining
each line of code
• All founders should be
interested in the code on
which the company runs
SZ
www.softwarezaken.nlwww.startupjuncture.com
Step 2: quality process
• Know and use agile, scrum and SAFe
• Build a working system at least every two weeks
• Agree on code quality standards
Structure
Tools
Mindset
• Create a fully automated daily build process
• Use automated tools (checkstyle, FxCop, Simian, PMD, Sonar)
• Monitor issues daily
• Address root causes of issues in retrospectives:
• Training needs for new and current developers
• Important refactoring actions
• Adjustments to quality standards
SZ
www.softwarezaken.nlwww.startupjuncture.com
Measure – measure – measure: volume
Very small Nice and
small
Hard to
handle
Impossible
< 10.000 lines
of code
< 100.000
lines of code
Less than
500.000 lines
of code
>500.000
lines of code
SZ
www.softwarezaken.nlwww.startupjuncture.com
Putting volume into perspective
0
1 1
6
7
5
10
8
12
18
11
10
1 1 1
0
0
2
4
6
8
10
12
14
16
18
20
A
100-200
B
200-500C
500-1kD
1k-2kE
2k-5kF
5k-10k
G
10k-20k
H
20k-50k
I50k-100k
J100k-200k
K
200k-500k
L
500k-1MM
1M
-2MN
2M
-5M
O
5M
-10MP
10M
-up
Nr.ofsystems
Volume in lines of code
System volume
SZ
www.softwarezaken.nlwww.startupjuncture.com
Measure, measure, measure – actual
technologies used
Java
Simple
stack
Java
Complicated
stack
Javascript S
he
ll
C
‘Legacy’ stack
XML
PL/SQL
php perl
Java XSLT
x8
6
Java system 1 Java system 2 Java system 3
SZ
www.softwarezaken.nlwww.startupjuncture.com
Measure, measure, measure: Duplication
Found 185 duplicate lines in the following files:
Between lines 29 and 235 in /java/jabref-2.9.2/src/java/net/sf/jabref/export/layout/format/FormatChars.java
Between lines 31 and 239 in /java/jabref-2.9.2/src/java/net/sf/jabref/oo/OOPreFormatter.java
Found 194 duplicate lines in the following files:
Between lines 130 and 397 in /java/jose-144-source/java/de/jose/util/Metaphone2.java
Between lines 129 and 396 in /java/jose-144-source/java/de/jose/util/Metaphone.java
SZ
www.softwarezaken.nlwww.startupjuncture.com
Measure, measure, measure: Complexity
Source: SweetHome 3D, fileOBJWriter.java
Best: less than 7
decision points per
method (128 paths)
Mediocre: less than 10
(1024 paths)
This code: 36 decision
points (
68,719,476,736 paths)
public boolean equals(Object obj) {
if (obj instanceof ComparableAppearance) {
Appearance appearance2 = ((ComparableAppearance)obj).appearance;
……..
if (!color1.equals(color2)) {
return false;
} else if (material1.getShininess() != material2.getShininess()) {
return false;
} else if (material1.getClass() != material2.getClass()) {
return false;
} else if (material1.getClass() == OBJMaterial.class) {
OBJMaterial objMaterial1 = (OBJMaterial)material1;
OBJMaterial objMaterial2 = (OBJMaterial)material2;
if (objMaterial1.isOpticalDensitySet() ^ objMaterial2.isOpticalDensitySet()) {
return false;
} else if (objMaterial1.isOpticalDensitySet() && objMaterial2.isOpticalDensitySe
&& objMaterial1.getOpticalDensity() != objMaterial2.getOpticalDensity(
return false;
} else if (objMaterial1.isIlluminationModelSet() ^ objMaterial2.isIlluminationMo
return false;
} else if (objMaterial1.isIlluminationModelSet() && objMaterial2.isIlluminationM
&& objMaterial1.getIlluminationModel() != objMaterial2.getIllumination
return false;
} else if (objMaterial1.isSharpnessSet() ^ objMaterial2.isSharpnessSet()) {
return false;
} else if (objMaterial1.isSharpnessSet() && objMaterial2.isSharpnessSet()
&& objMaterial1.getSharpness() != objMaterial2.getSharpness()) {
return false;
}
}
}
}
}
}
SZ
www.softwarezaken.nlwww.startupjuncture.com
Other important aspects
• Missing exception handling
• TODO comments
• Long ‘do-it-all’ files
• Memory actions and leaks
• Safe use of user strings
• Complex queries
• Code copyrighted by others
• Queries as strings
• URL manipulation
• Input validation
SZ
www.softwarezaken.nlwww.startupjuncture.com
Conclusions
Software quality is important for any growing or grown company
Once people care, you can achieve quality
By managing the process, you can pass audits and gain your customers’
trust
SZ
www.softwarezaken.nlwww.startupjuncture.com
Thank you!
IT strategy
maintainable
software
Starting with agile
/ scrum
Lean startup
Secure software
development
Call or mail me:
otterloo@gmail.com
+31 6 1050 9674
Lean startup for
corporates
Startup search &
selection
IT contracts
IT management
for non-IT

More Related Content

What's hot

FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub Black Duck by Synopsys
 
Managing Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software ComplianceManaging Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software CompliancenexB Inc.
 
FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...
FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...
FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...Black Duck by Synopsys
 
Rightsizing Open Source Software Identification
Rightsizing Open Source Software IdentificationRightsizing Open Source Software Identification
Rightsizing Open Source Software IdentificationnexB Inc.
 
Software Audit Strategies - How often is good enough for a software audit?
Software Audit Strategies - How often is good enough for a software audit? Software Audit Strategies - How often is good enough for a software audit?
Software Audit Strategies - How often is good enough for a software audit? Tiberius Forrester
 
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck HubFLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck HubBlack Duck by Synopsys
 
Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...
Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...
Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...Black Duck by Synopsys
 
nexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a SellernexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a SellernexB Inc.
 
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...FINOS
 
Customer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceCustomer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceBlack Duck by Synopsys
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis Perforce
 
Managing Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCodeManaging Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCodenexB Inc.
 
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...Black Duck by Synopsys
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwarePerforce
 
Reduce Third Party Developer Risks
Reduce Third Party Developer RisksReduce Third Party Developer Risks
Reduce Third Party Developer RisksKevo Meehan
 
JDA: Building an Open Source Center of Excellence
JDA: Building an Open Source Center of ExcellenceJDA: Building an Open Source Center of Excellence
JDA: Building an Open Source Center of ExcellenceBlack Duck by Synopsys
 
Making the Transition from Suite to the Hub
Making the Transition from Suite to the HubMaking the Transition from Suite to the Hub
Making the Transition from Suite to the HubBlack Duck by Synopsys
 
Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations? Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations? Source Code Control Limited
 

What's hot (20)

FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub
 
Managing Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software ComplianceManaging Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software Compliance
 
FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...
FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...
FLIGHT Amsterdam Presentation - Open Source License Management in the Black D...
 
Rightsizing Open Source Software Identification
Rightsizing Open Source Software IdentificationRightsizing Open Source Software Identification
Rightsizing Open Source Software Identification
 
Software Audit Strategies - How often is good enough for a software audit?
Software Audit Strategies - How often is good enough for a software audit? Software Audit Strategies - How often is good enough for a software audit?
Software Audit Strategies - How often is good enough for a software audit?
 
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck HubFLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
FLIGHT WEST 2018 Presentation - Open Source License Management in Black Duck Hub
 
Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...
Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...
Winning the Cage-Match: How to Successfully Navigate Open Source Software iss...
 
nexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a SellernexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a Seller
 
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
 
Customer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceCustomer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to Compliance
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
 
Managing Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCodeManaging Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCode
 
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
FLIGHT WEST 2018 - Presentation - SCA 101: How to Manage Open Source Security...
 
Flight East 2018 Presentation–Black Duck at Docusign
Flight East 2018 Presentation–Black Duck at DocusignFlight East 2018 Presentation–Black Duck at Docusign
Flight East 2018 Presentation–Black Duck at Docusign
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty Software
 
Reduce Third Party Developer Risks
Reduce Third Party Developer RisksReduce Third Party Developer Risks
Reduce Third Party Developer Risks
 
JDA: Building an Open Source Center of Excellence
JDA: Building an Open Source Center of ExcellenceJDA: Building an Open Source Center of Excellence
JDA: Building an Open Source Center of Excellence
 
Making the Transition from Suite to the Hub
Making the Transition from Suite to the HubMaking the Transition from Suite to the Hub
Making the Transition from Suite to the Hub
 
Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations? Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations?
 
Fortify technology
Fortify technologyFortify technology
Fortify technology
 

Viewers also liked

Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014
Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014
Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014Mercer Capital
 
Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Tudor Girba
 
The humane software assessment (Choose Forum 2009)
The humane software assessment (Choose Forum 2009)The humane software assessment (Choose Forum 2009)
The humane software assessment (Choose Forum 2009)Tudor Girba
 
Software assessment and audit
Software assessment and auditSoftware assessment and audit
Software assessment and auditSpoorthi Sham
 
Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Tudor Girba
 
Assessing youragility
Assessing youragilityAssessing youragility
Assessing youragilityrseniv
 
Lean, six sigma and lean six sigma
Lean, six sigma and lean six sigmaLean, six sigma and lean six sigma
Lean, six sigma and lean six sigmaSpoorthi Sham
 
Due Diligence - What You Don’t Find Out Will Hurt You
Due Diligence - What You Don’t Find Out Will Hurt YouDue Diligence - What You Don’t Find Out Will Hurt You
Due Diligence - What You Don’t Find Out Will Hurt YouNow Dentons
 
Due diligence slides
Due diligence slidesDue diligence slides
Due diligence slidesLe Tat Thanh
 
What is technology due diligence and why is it important © dr pete technology...
What is technology due diligence and why is it important © dr pete technology...What is technology due diligence and why is it important © dr pete technology...
What is technology due diligence and why is it important © dr pete technology...Roelof Iball
 
Due Diligence Best Practices and Pitfalls
Due Diligence Best Practices and PitfallsDue Diligence Best Practices and Pitfalls
Due Diligence Best Practices and PitfallsFirmex
 
Technical Due Diligence
Technical Due DiligenceTechnical Due Diligence
Technical Due Diligenceargentieri
 
Sample Due diligence report
Sample Due diligence reportSample Due diligence report
Sample Due diligence reportRohit Pinto
 

Viewers also liked (13)

Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014
Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014
Mercer Capital's Value Focus: Healthcare Facilities | Mid-Year 2014
 
Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)
 
The humane software assessment (Choose Forum 2009)
The humane software assessment (Choose Forum 2009)The humane software assessment (Choose Forum 2009)
The humane software assessment (Choose Forum 2009)
 
Software assessment and audit
Software assessment and auditSoftware assessment and audit
Software assessment and audit
 
Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)
 
Assessing youragility
Assessing youragilityAssessing youragility
Assessing youragility
 
Lean, six sigma and lean six sigma
Lean, six sigma and lean six sigmaLean, six sigma and lean six sigma
Lean, six sigma and lean six sigma
 
Due Diligence - What You Don’t Find Out Will Hurt You
Due Diligence - What You Don’t Find Out Will Hurt YouDue Diligence - What You Don’t Find Out Will Hurt You
Due Diligence - What You Don’t Find Out Will Hurt You
 
Due diligence slides
Due diligence slidesDue diligence slides
Due diligence slides
 
What is technology due diligence and why is it important © dr pete technology...
What is technology due diligence and why is it important © dr pete technology...What is technology due diligence and why is it important © dr pete technology...
What is technology due diligence and why is it important © dr pete technology...
 
Due Diligence Best Practices and Pitfalls
Due Diligence Best Practices and PitfallsDue Diligence Best Practices and Pitfalls
Due Diligence Best Practices and Pitfalls
 
Technical Due Diligence
Technical Due DiligenceTechnical Due Diligence
Technical Due Diligence
 
Sample Due diligence report
Sample Due diligence reportSample Due diligence report
Sample Due diligence report
 

Similar to IT due diligence and software quality for fintech startups

Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaAbhishekKumar773294
 
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...Cuneiform Consulting Pvt Ltd.
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity Software Ireland
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission TeamsDashlane
 
Stitching Shop Management System.pptx
Stitching Shop Management System.pptxStitching Shop Management System.pptx
Stitching Shop Management System.pptxSMS Hasan
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
No code the next big thing in supply chain technology
No code the next big thing in supply chain technologyNo code the next big thing in supply chain technology
No code the next big thing in supply chain technologyArpitGautam20
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
 
Thought frameworks brochure
Thought frameworks brochureThought frameworks brochure
Thought frameworks brochureSwetha Muthu
 
An Insider's Guide to Security Review (October 13, 2014)
An Insider's Guide to Security Review (October 13, 2014)An Insider's Guide to Security Review (October 13, 2014)
An Insider's Guide to Security Review (October 13, 2014)Salesforce Partners
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
project (Salon Management).pptx
project (Salon Management).pptxproject (Salon Management).pptx
project (Salon Management).pptxssuserefca8b
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introductionSimerjeet Singh
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?Simerjeet Singh
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software Ireland
 

Similar to IT due diligence and software quality for fintech startups (20)

Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman Shukla
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
www-thecuneiform-com-insights-why-how-code-audit-is-important-for-our-website...
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 
Stitching Shop Management System.pptx
Stitching Shop Management System.pptxStitching Shop Management System.pptx
Stitching Shop Management System.pptx
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
No code the next big thing in supply chain technology
No code the next big thing in supply chain technologyNo code the next big thing in supply chain technology
No code the next big thing in supply chain technology
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Thought frameworks brochure
Thought frameworks brochureThought frameworks brochure
Thought frameworks brochure
 
An Insider's Guide to Security Review (October 13, 2014)
An Insider's Guide to Security Review (October 13, 2014)An Insider's Guide to Security Review (October 13, 2014)
An Insider's Guide to Security Review (October 13, 2014)
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
project (Salon Management).pptx
project (Salon Management).pptxproject (Salon Management).pptx
project (Salon Management).pptx
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introduction
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 

Recently uploaded

How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxpriyanshujha201
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noidadlhescort
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfAmzadHosen3
 
Business Model Canvas (BMC)- A new venture concept
Business Model Canvas (BMC)-  A new venture conceptBusiness Model Canvas (BMC)-  A new venture concept
Business Model Canvas (BMC)- A new venture conceptP&CO
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...lizamodels9
 
Falcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to ProsperityFalcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to Prosperityhemanthkumar470700
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with CultureSeta Wicaksana
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLkapoorjyoti4444
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...amitlee9823
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...allensay1
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...amitlee9823
 

Recently uploaded (20)

How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdf
 
Business Model Canvas (BMC)- A new venture concept
Business Model Canvas (BMC)-  A new venture conceptBusiness Model Canvas (BMC)-  A new venture concept
Business Model Canvas (BMC)- A new venture concept
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
Falcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to ProsperityFalcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to Prosperity
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 

IT due diligence and software quality for fintech startups

  • 1. SZ www.softwarezaken.nlwww.startupjuncture.com SOFTWARE AUDIT AND DUE DILIGENCE FOR STARTUPS Invited talk at Startupbootcamp FinTech, London, October 8th 2014 By Sieuwert van Otterloo
  • 2. SZ www.softwarezaken.nlwww.startupjuncture.com About Sieuwert van Otterloo Current activities: • IT strategy consultant since 2005 (McKinsey, SIG) • Startup enthusiast since 2010 (investor, journalist, occasional entrepreneur) • IT-legal expert
  • 3. SZ www.softwarezaken.nlwww.startupjuncture.com Secondly: Share tips and tricks related to quality and audits Goals tonight Most importantly: Helping you gain your customers’ trust through focus on quality
  • 4. SZ www.softwarezaken.nlwww.startupjuncture.com Agenda 1. Banks and quality 2. Startups and quality 3. Managing audits 4. Reaching quality “Your customers care about your software” “You should care” “Minor tips and tricks” “Important tips and tricks”
  • 5. SZ www.softwarezaken.nlwww.startupjuncture.com 1. Corporates and IT quality • Enron: went from $ 70 billion to zero in a couple of months • Biggest accounting scandal in history, second biggest bankruptcy • Caused a change in regulations: Sarbanes-Oxley senior executives take individual responsibility for the accuracy and completeness of corporate financial reports requires that the company's "principal officers" (typically CEO and CFO) certify and approve the integrity of their company financial reports
  • 6. SZ www.softwarezaken.nlwww.startupjuncture.com Legacy problems Then: • Computer systems are not developed to run forever. • Before 1990, taking 4 digits to store a year seemed a waste of space Now: • It is incredibly hard to migrate data out of live systems • It is incredibly hard to replace old COBOL systems: systems from 1980 are still running in banks! 1956: IBM harddrive
  • 7. SZ www.softwarezaken.nlwww.startupjuncture.com IT failure happens often... LOS ANGELES (AP) — Flights to and from airports in the Los Angeles area were grounded for more than an hour Wednesday due to a computer failure at an air traffic control facility in the region, the Federal Aviation Administration said. The problems rippled nationwide. […] The ERAM system is critical to the FAA's plans to transition from a radar-based air traffic control system to satellite- based navigation, but its rollout is years behind schedule and hundreds of millions of dollars over budget. May 1, 2014 8:51 AM http://news.yahoo.com/computer-issues-delay-flights-los-angeles-234300027.html
  • 8. SZ www.softwarezaken.nlwww.startupjuncture.com ... And is caused by legacy software ERAM is replacing another computer system that was so old that most of the technicians who understood its unique computer language have retired. May 1, 2014 8:51 AM http://news.yahoo.com/computer-issues-delay-flights-los-angeles-234300027.html Image: IBM 3070
  • 9. SZ www.softwarezaken.nlwww.startupjuncture.com Another case: Denver airport The airport's computerized baggage system, which was supposed to reduce delays, shorten waiting times at luggage carousels, and cut airline labor costs, was an unmitigated failure. The airport opening was originally scheduled for October 31, 1993, with a single system for all three concourses. Issues with the baggage system delayed the opening to February 28, 1995, with separate systems for each concourse and varying degrees of automation. The system's $186 million original construction costs grew by $1 million per day during months of modifications and repairs.
  • 10. SZ www.softwarezaken.nlwww.startupjuncture.com Team growth Selling your company Buy another company Software maintainability is important for scaling startups Idea MVP Product / market fit Reduce risk of chaos Need to pass due diligence process Need to sanitize and integrate
  • 11. SZ www.softwarezaken.nlwww.startupjuncture.com Maintenance cost matters more than development cost for companies Conservative example: • The system needs 15% maintenance per year • The system grows 10% per year • System lasts 10 years Result: maintenance costs are 140% higher than development cost - 15 17 18 20 22 24 27 29 32 35 239 100 0 25 50 75 100 125 150 175 200 225 250 275 build Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 Year 7 Year 8 Year 9 Year 10 Total
  • 13. SZ www.softwarezaken.nlwww.startupjuncture.com Assessments are a step towards money 1. A large company wants to buy your service 2. Someone wants to buy your company Product focus Company focus
  • 14. SZ www.softwarezaken.nlwww.startupjuncture.com ... Or a clear signal of trouble • Project termination • Crisis management • blame assignment
  • 15. SZ www.softwarezaken.nlwww.startupjuncture.com A good assessment process includes context System context and business strategy Risks Quality Economics Is the input for determining … Are the basis for… Conclusions Code Review and factfinding Recommen- dations
  • 16. SZ www.softwarezaken.nlwww.startupjuncture.com How not to deal with an assessment Develop a system as fast as possible at minimal cost OK, here it is Can you audit the system? What quality standards did you demand? What quality standards did you use? None, we focused on cost and speed We asked nothing special, but we expect a fit for use system conforming to industry best practices Client SupplierAssessor Let’s report a lot of findings to show that we worked really hard
  • 17. SZ www.softwarezaken.nlwww.startupjuncture.com A better way to deal with assessments Develop a system as fast as possible at minimal cost Here is our own standard, is that good enough for you? What quality standards did you use? We agreed on this standard. We checked to code and it complies. Let us know if you find any issues We worked really hard and have these findings Well done! We do not see major risks, but if needed we have a quality process and can fix these in the next release. The quality is what has been agreed, and will be even better in the next release Client SupplierAssessor
  • 18. SZ www.softwarezaken.nlwww.startupjuncture.com How to deal with due diligence 1. You cannot determine the outcome directly but you can influence the process: you can set conditions before you provide your data. 2. Keep it short by starting late: Do not start the assessment before the other deal details are sorted out 3. Ensure the goal is limited: For instance to determine whether the software has issues that cannot be fixed and cause major risks 4. Ensure involvement: Auditors should listen to your side, share and discuss findings before reporting any issues.
  • 19. SZ www.softwarezaken.nlwww.startupjuncture.com How to reach quality? ... perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away ...
  • 20. SZ www.softwarezaken.nlwww.startupjuncture.com ISO 25010 is the official standard for software quality ISO 25010: Software product quality Functional suitability Reliability Performance / efficiency Operability Security Compatibility Maintainability Portability Visible Invisible
  • 21. SZ www.softwarezaken.nlwww.startupjuncture.com Official standards for security • ISO 27001 : formal, heavy framework • SANS: open initiative with good list of controls • OWASP: open initiative with a good top 10
  • 22. SZ www.softwarezaken.nlwww.startupjuncture.com Step 1: joint ownership and responsibility • Everyone in the team should feel comfortable explaining each line of code • All founders should be interested in the code on which the company runs
  • 23. SZ www.softwarezaken.nlwww.startupjuncture.com Step 2: quality process • Know and use agile, scrum and SAFe • Build a working system at least every two weeks • Agree on code quality standards Structure Tools Mindset • Create a fully automated daily build process • Use automated tools (checkstyle, FxCop, Simian, PMD, Sonar) • Monitor issues daily • Address root causes of issues in retrospectives: • Training needs for new and current developers • Important refactoring actions • Adjustments to quality standards
  • 24. SZ www.softwarezaken.nlwww.startupjuncture.com Measure – measure – measure: volume Very small Nice and small Hard to handle Impossible < 10.000 lines of code < 100.000 lines of code Less than 500.000 lines of code >500.000 lines of code
  • 25. SZ www.softwarezaken.nlwww.startupjuncture.com Putting volume into perspective 0 1 1 6 7 5 10 8 12 18 11 10 1 1 1 0 0 2 4 6 8 10 12 14 16 18 20 A 100-200 B 200-500C 500-1kD 1k-2kE 2k-5kF 5k-10k G 10k-20k H 20k-50k I50k-100k J100k-200k K 200k-500k L 500k-1MM 1M -2MN 2M -5M O 5M -10MP 10M -up Nr.ofsystems Volume in lines of code System volume
  • 26. SZ www.softwarezaken.nlwww.startupjuncture.com Measure, measure, measure – actual technologies used Java Simple stack Java Complicated stack Javascript S he ll C ‘Legacy’ stack XML PL/SQL php perl Java XSLT x8 6 Java system 1 Java system 2 Java system 3
  • 27. SZ www.softwarezaken.nlwww.startupjuncture.com Measure, measure, measure: Duplication Found 185 duplicate lines in the following files: Between lines 29 and 235 in /java/jabref-2.9.2/src/java/net/sf/jabref/export/layout/format/FormatChars.java Between lines 31 and 239 in /java/jabref-2.9.2/src/java/net/sf/jabref/oo/OOPreFormatter.java Found 194 duplicate lines in the following files: Between lines 130 and 397 in /java/jose-144-source/java/de/jose/util/Metaphone2.java Between lines 129 and 396 in /java/jose-144-source/java/de/jose/util/Metaphone.java
  • 28. SZ www.softwarezaken.nlwww.startupjuncture.com Measure, measure, measure: Complexity Source: SweetHome 3D, fileOBJWriter.java Best: less than 7 decision points per method (128 paths) Mediocre: less than 10 (1024 paths) This code: 36 decision points ( 68,719,476,736 paths) public boolean equals(Object obj) { if (obj instanceof ComparableAppearance) { Appearance appearance2 = ((ComparableAppearance)obj).appearance; …….. if (!color1.equals(color2)) { return false; } else if (material1.getShininess() != material2.getShininess()) { return false; } else if (material1.getClass() != material2.getClass()) { return false; } else if (material1.getClass() == OBJMaterial.class) { OBJMaterial objMaterial1 = (OBJMaterial)material1; OBJMaterial objMaterial2 = (OBJMaterial)material2; if (objMaterial1.isOpticalDensitySet() ^ objMaterial2.isOpticalDensitySet()) { return false; } else if (objMaterial1.isOpticalDensitySet() && objMaterial2.isOpticalDensitySe && objMaterial1.getOpticalDensity() != objMaterial2.getOpticalDensity( return false; } else if (objMaterial1.isIlluminationModelSet() ^ objMaterial2.isIlluminationMo return false; } else if (objMaterial1.isIlluminationModelSet() && objMaterial2.isIlluminationM && objMaterial1.getIlluminationModel() != objMaterial2.getIllumination return false; } else if (objMaterial1.isSharpnessSet() ^ objMaterial2.isSharpnessSet()) { return false; } else if (objMaterial1.isSharpnessSet() && objMaterial2.isSharpnessSet() && objMaterial1.getSharpness() != objMaterial2.getSharpness()) { return false; } } } } } }
  • 29. SZ www.softwarezaken.nlwww.startupjuncture.com Other important aspects • Missing exception handling • TODO comments • Long ‘do-it-all’ files • Memory actions and leaks • Safe use of user strings • Complex queries • Code copyrighted by others • Queries as strings • URL manipulation • Input validation
  • 30. SZ www.softwarezaken.nlwww.startupjuncture.com Conclusions Software quality is important for any growing or grown company Once people care, you can achieve quality By managing the process, you can pass audits and gain your customers’ trust
  • 31. SZ www.softwarezaken.nlwww.startupjuncture.com Thank you! IT strategy maintainable software Starting with agile / scrum Lean startup Secure software development Call or mail me: otterloo@gmail.com +31 6 1050 9674 Lean startup for corporates Startup search & selection IT contracts IT management for non-IT