SlideShare a Scribd company logo
1 of 28
Download to read offline
GETTING SOFTWARE RIGHT
Agile Development of Sustainable Software
The Ventouris Case
Prof. dr. ir. Joost Visser
Software Improvement Group & Radboud University Nijmegen
February 2018
Software Improvement Group / PUBLIC
12 million
professional software developers
write
120 billion
lines of code per year
of which
15%
needs to be changed each year
Is the rapid digitalization of our modern information society sustainable?
Image by Tom Patterson, www.shadedrelief.com.
Page 2 of 26
Software Improvement Group / PUBLIC
AG
AGILE?
Page 3 of 26
Software Improvement Group / PUBLIC
Traditional versus Agile
Welcome changing
requirements
Build projects
around teams
Business and IT work
together
Frequent face-to-
face communication
Self-organizing, self-
optimizing teams
Architecture and
design emerge
Fix requirements early
Assign people to
projects
IT works for the
business
Documentation and
reporting
Management control
Up-front design
The Agile Manifesto, 2001
Does Agile
development yield
sustainable
software?
Is Agile software
development
sustainable?
Software Improvement Group / PUBLIC
1 Software Improvement Group
2 What does “sustainable” mean for software?
3 Ventouris: a case of sustainable software development
4 How to empower agile teams to build sustainable software?
5 Outlook
Page 5 of 26
Software Improvement Group / PUBLIC
Prof. dr. Joost Visser
CTO at SIG
• Professor of “Large-scale Software Systems” at Radboud University
• Member of advisory group on Cyber Security education and research
• Author of 100+ publications on software quality and related topics
Introductions
Software Improvement Group
IT Management Advisory and Measurement Lab
• ISO 25010 software product inspections
• ISO 17025 lab analyses 25 million lines of code each week
• Translate technical findings into actionable recommendations
Page 6 of 26
Software Improvement Group / PUBLIC
SIG covers all domains where software is key
Some clients
Some numbers
190
supported technologies
9,400,000,000
lines of code in benchmark
2,500
systems monitored
Page 7 of 26
Software Improvement Group / PUBLIC
How can developers be guided to build maintainable software?
Educational material and tools
Assessments
Support risk-based
decision making with in-
depth analysis of your
software
Inspections
Profit from regular
checks – security,
reliability, portability,
performance, usability
Monitoring
Have a grip on quality,
architecture, and
productivity, at all times
IT Due Diligence
Secure your investment
by upfront identification
of technology risks
Developer Support
Facilitate developers to
deliver top
achievements
R&D
Support development,
adoption of advanced
software engineering
techniques
Page 8 of 26
Software Improvement Group / PUBLIC
What does ”sustainable” mean for software?
Page 9 of 26
Software Improvement Group / PUBLIC
Software is the DNA of our society and our businesses
Invisible to the naked eye, but predetermines where
information flows and how things move
See: “How does your software measure up?
Mastering the DNA of our information society”,
Joost Visser, Radboud University
Evolution hinders further evolution
“Evolution is necessary but leads to structural erosion, making
evolution more difficult and ultimately infeasible.”
See: “The software evolution
paradox”, Arie van Deursen, TU
Delft.
Evolutionary pressure is mounting
Increasingly, software is the differentiating factor in a
competitive global market with disruptive agents
Survival requires rapid evolution
Adapt to changing needs, or become obsolete
Software Improvement Group / PUBLIC
Sustainable software
For Software:
Sustainable
=
Evolvable
=
Maintainable
Software
Product Quality
ISO/IEC 25010
Functional
suitability
Portability
Maintain-
ability
Security
CompatibilityReliability
Performance
efficiency
Usability
continuous change
Page 11 of 26
Software Improvement Group / PUBLIC
SIG Quality Model • Maintainability
Operationalization of ISO 25010 (was: ISO 9126)
The sub-ratings are aggregated to an overall
maintainability rating,
where HHHII is market average.
Analysability
Volume Unit sizeDuplication Unit
complexity
Module
coupling
Unit
interfacing
Component
balance
Component
independence
Modifiability
Testability
Modularity
Reusability
First published as “A practical model for
measuring maintainability”, Heitlager, Kuipers,
Visser, QUATIC 2007.
Most
Influential
Paper
Source code measurements are aggregated in
statistically sound “quality profiles” and then rated on a
calibrated scale from HIIII to HHHHH.
Page 12 of 26
Software Improvement Group / PUBLIC
Ventouris
a case of sustainable software development
Page 13 of 26
Software Improvement Group / PUBLIC
The Ventouris case
Ventouris
> Automated administration for 8 Belgium social security funds for independent professionals and companies
> Calculation and collection of social security contributions, payment of child benefits, debtor control, …
Ventouris Sociaal Statuut (VSS)
> Important system within cluster, exists in current form since 2005
> Developed by Cegeka, using Agile software development methods. Cross-functional team of 36 people.
> Web-based. Java, JSF, Angular.
Question to SIG (December 2016)
> Determine the maintainability, security, future-proofness of VSS
> 23 detailed questions
Page 14 of 26
Software Improvement Group / PUBLIC
Future-proofness
futureproofness
real-time data
security
external services
online availability
3rd party
dependability
maintainability
horizontal
scalability
flexibility
01
02
03 04
08 09 17
2322212018
11
12
13
14 15 19
05
06
10 16
07
Page 15 of 26
Source code
analysis
Security
inspection
Architecture
review
Cost
estimation
Software Improvement Group / PUBLIC
Maintainability of VSS in SIG benchmark
Page 16 of 26
Software Improvement Group / PUBLIC
Automated testing of VSS
Page 17 of 26
Software Improvement Group / PUBLIC
Future-proofness of VSS on a 10 year horizon
Page 18 of 26
Software Improvement Group / PUBLIC
How to empower agile teams
to build sustainable software?
Page 19 of 26
Software Improvement Group / PUBLIC
How can Agile teams be empowered to build sustainable software?
Product – What is the quality of the software that the team produces?
• Guidelines for high-quality software
• Measure compliance, preferably at each commit
Process – What is the quality of the team’s software production process
• Best-practices for effective software development
• Measure compliance, preferably at each sprint review
Notes
• Benchmarked
• Actionable for the team
• Insightful for the sponsor
Page 20 of 26
Software Improvement Group / PUBLIC
10 best practices for effective software development
Measure
Derive metrics from your
measurement goals
Make Definition of Done
Explicit
Automate
Control Versions and Branches
Automate Tests
Use Continuous Integration
Automate Deployment
Organize
Separate Development, Test,
Acceptance, and Production
Standardize the Development
Environment
Manage Usage of Third-Party
Code
Document Just Enough
Building Software Teams, O’Reilly 2016
Page 21 of 26
Software Improvement Group / PUBLIC
Automate Tests
Why?
> Find root causes of bugs earlier with little effort
> Reduce the number of bugs
Write automated tests for anything that is worth testing
Page 22 of 26
Software Improvement Group / PUBLIC
10 guidelines for future-proof code
Code
Write small units of code
Write simple units of
code
Write code once
Keep unit interfaces
small
Architecture
Separate concerns in
modules
Couple architecture
components loosely
Keep architecture
components balanced
Keep your codebase
small
Way of
working
Automate tests
Write clean code
Building Maintainable Software, O’Reilly 2016
Page 23 of 26
Software Improvement Group / PUBLIC
10 guidelines for future-proof code
Code
Limit units to 15 lines of
code
Limit branch points per
unit to 4
Do not copy code longer
than 6 lines
Limit parameters per unit
to 4
Architecture
Avoid modules larger
than 400 lines of code
Hide classes from other
components, no cycles
Aim for 6-12 top-level
components
Keep codebase below
200,000 lines of code
Way of
working
Write automated tests
that cover all code
Stick to the seven
“boy scout rules”
Page 24 of 26
Software Improvement Group / PUBLIC Page 25 of 26
Software Improvement Group / PUBLIC
Wrap up
Sustainable agile software development
> Govern: ask for accountability
> Empower: set clear metric-based standards for product and process.
Increasing accountability of teams must go hand in hand with enabling them
Invitation
> Share the books with your teams
> Ask them to try out Better Code Hub (bettercodehub.com)
> Trainings and certifications available
Page 26 of 26
GETTING SOFTWARE RIGHT
Contact
+31 64 63 63 866
j.visser@sig.eu
@jstvssr
Software Improvement Group / PUBLIC
Future-proof software starts today!
Page 28 of 26

More Related Content

What's hot

The Secrets of Design-Driven Enterprises
The Secrets of Design-Driven EnterprisesThe Secrets of Design-Driven Enterprises
The Secrets of Design-Driven EnterprisesMendix
 
Security Strategies for Success
Security Strategies for SuccessSecurity Strategies for Success
Security Strategies for SuccessCitrix
 
10 Reasons to Strengthen Security with App & Desktop Virtualization
10 Reasons to Strengthen Security with App & Desktop Virtualization10 Reasons to Strengthen Security with App & Desktop Virtualization
10 Reasons to Strengthen Security with App & Desktop VirtualizationCitrix
 
SecureTech 2014: Risk, Business Continuity and Cybersecurity - A Resiliency ...
SecureTech 2014:  Risk, Business Continuity and Cybersecurity - A Resiliency ...SecureTech 2014:  Risk, Business Continuity and Cybersecurity - A Resiliency ...
SecureTech 2014: Risk, Business Continuity and Cybersecurity - A Resiliency ...poore120
 
Future of Fintech - A Whitepaper by RapidValue
Future of Fintech - A Whitepaper by RapidValueFuture of Fintech - A Whitepaper by RapidValue
Future of Fintech - A Whitepaper by RapidValueRapidValue
 
2015 Global Threat Intelligence Report
2015 Global Threat Intelligence Report2015 Global Threat Intelligence Report
2015 Global Threat Intelligence ReportDImension Data
 
Student Mobile Workspaces Infographic
Student Mobile Workspaces InfographicStudent Mobile Workspaces Infographic
Student Mobile Workspaces InfographicCitrix
 
12 Game Changing Ways to Mobilize Teaching and Learning
12 Game Changing Ways to Mobilize Teaching and Learning12 Game Changing Ways to Mobilize Teaching and Learning
12 Game Changing Ways to Mobilize Teaching and LearningCitrix
 
Hi600 ch12_text_slides
Hi600 ch12_text_slidesHi600 ch12_text_slides
Hi600 ch12_text_slidesljmcneill33
 
Analyst Resources for Chief Information Security Officers (CISOs)
Analyst Resources for Chief Information Security Officers (CISOs)Analyst Resources for Chief Information Security Officers (CISOs)
Analyst Resources for Chief Information Security Officers (CISOs)Synopsys Software Integrity Group
 
End-User Computing Insights: A study of digital maturity
End-User Computing Insights: A study of digital maturityEnd-User Computing Insights: A study of digital maturity
End-User Computing Insights: A study of digital maturityDImension Data
 
Pulse 2013 - How to run a successful BYOD initiative
Pulse 2013 - How to run a successful BYOD initiativePulse 2013 - How to run a successful BYOD initiative
Pulse 2013 - How to run a successful BYOD initiativeChris Pepin
 
Velocis Presentations
Velocis PresentationsVelocis Presentations
Velocis PresentationsHitesh Patel
 
Success Factors of FOSS Adoption
Success Factors of FOSS AdoptionSuccess Factors of FOSS Adoption
Success Factors of FOSS AdoptionAlexei Fedotov
 
Windows Apps on Chromebooks: Deliver a Seamless Experience
Windows Apps on Chromebooks: Deliver a Seamless ExperienceWindows Apps on Chromebooks: Deliver a Seamless Experience
Windows Apps on Chromebooks: Deliver a Seamless ExperienceCitrix
 
German IT Pros Survey: Network Complexity
German IT Pros Survey: Network ComplexityGerman IT Pros Survey: Network Complexity
German IT Pros Survey: Network ComplexitySolarWinds
 
Infoworld deep dive - Mobile Security2015 updated
Infoworld deep dive - Mobile Security2015 updatedInfoworld deep dive - Mobile Security2015 updated
Infoworld deep dive - Mobile Security2015 updatedKim Jensen
 
[Infographic]]Managing Assets and Endpoints
[Infographic]]Managing Assets and Endpoints[Infographic]]Managing Assets and Endpoints
[Infographic]]Managing Assets and EndpointsSymantec
 

What's hot (19)

The Secrets of Design-Driven Enterprises
The Secrets of Design-Driven EnterprisesThe Secrets of Design-Driven Enterprises
The Secrets of Design-Driven Enterprises
 
Security Strategies for Success
Security Strategies for SuccessSecurity Strategies for Success
Security Strategies for Success
 
10 Reasons to Strengthen Security with App & Desktop Virtualization
10 Reasons to Strengthen Security with App & Desktop Virtualization10 Reasons to Strengthen Security with App & Desktop Virtualization
10 Reasons to Strengthen Security with App & Desktop Virtualization
 
SecureTech 2014: Risk, Business Continuity and Cybersecurity - A Resiliency ...
SecureTech 2014:  Risk, Business Continuity and Cybersecurity - A Resiliency ...SecureTech 2014:  Risk, Business Continuity and Cybersecurity - A Resiliency ...
SecureTech 2014: Risk, Business Continuity and Cybersecurity - A Resiliency ...
 
Future of Fintech - A Whitepaper by RapidValue
Future of Fintech - A Whitepaper by RapidValueFuture of Fintech - A Whitepaper by RapidValue
Future of Fintech - A Whitepaper by RapidValue
 
2015 Global Threat Intelligence Report
2015 Global Threat Intelligence Report2015 Global Threat Intelligence Report
2015 Global Threat Intelligence Report
 
Student Mobile Workspaces Infographic
Student Mobile Workspaces InfographicStudent Mobile Workspaces Infographic
Student Mobile Workspaces Infographic
 
12 Game Changing Ways to Mobilize Teaching and Learning
12 Game Changing Ways to Mobilize Teaching and Learning12 Game Changing Ways to Mobilize Teaching and Learning
12 Game Changing Ways to Mobilize Teaching and Learning
 
Hi600 ch12_text_slides
Hi600 ch12_text_slidesHi600 ch12_text_slides
Hi600 ch12_text_slides
 
Analyst Resources for Chief Information Security Officers (CISOs)
Analyst Resources for Chief Information Security Officers (CISOs)Analyst Resources for Chief Information Security Officers (CISOs)
Analyst Resources for Chief Information Security Officers (CISOs)
 
End-User Computing Insights: A study of digital maturity
End-User Computing Insights: A study of digital maturityEnd-User Computing Insights: A study of digital maturity
End-User Computing Insights: A study of digital maturity
 
Pulse 2013 - How to run a successful BYOD initiative
Pulse 2013 - How to run a successful BYOD initiativePulse 2013 - How to run a successful BYOD initiative
Pulse 2013 - How to run a successful BYOD initiative
 
Velocis Presentations
Velocis PresentationsVelocis Presentations
Velocis Presentations
 
Success Factors of FOSS Adoption
Success Factors of FOSS AdoptionSuccess Factors of FOSS Adoption
Success Factors of FOSS Adoption
 
Windows Apps on Chromebooks: Deliver a Seamless Experience
Windows Apps on Chromebooks: Deliver a Seamless ExperienceWindows Apps on Chromebooks: Deliver a Seamless Experience
Windows Apps on Chromebooks: Deliver a Seamless Experience
 
German IT Pros Survey: Network Complexity
German IT Pros Survey: Network ComplexityGerman IT Pros Survey: Network Complexity
German IT Pros Survey: Network Complexity
 
Enterprise mobility
Enterprise mobilityEnterprise mobility
Enterprise mobility
 
Infoworld deep dive - Mobile Security2015 updated
Infoworld deep dive - Mobile Security2015 updatedInfoworld deep dive - Mobile Security2015 updated
Infoworld deep dive - Mobile Security2015 updated
 
[Infographic]]Managing Assets and Endpoints
[Infographic]]Managing Assets and Endpoints[Infographic]]Managing Assets and Endpoints
[Infographic]]Managing Assets and Endpoints
 

Similar to 04. Agile development of sustainable software - Joost Visser - #ScaBru18

Veracode Corporate Overview - Print
Veracode Corporate Overview - PrintVeracode Corporate Overview - Print
Veracode Corporate Overview - PrintAndrew Kanikuru
 
case analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docxcase analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docxcowinhelen
 
System Software Integration, Witekio
System Software Integration, WitekioSystem Software Integration, Witekio
System Software Integration, WitekioWitekio
 
Windows DNA
Windows DNAWindows DNA
Windows DNAijtsrd
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPeter Marshall
 
Fortify Continuous Delivery
Fortify Continuous DeliveryFortify Continuous Delivery
Fortify Continuous DeliveryMainstay
 
Continuous Delivery 9th Bit
Continuous Delivery 9th BitContinuous Delivery 9th Bit
Continuous Delivery 9th BitObsidianSystems
 
Team MESA - Make Elderly Safe Again
Team MESA - Make Elderly Safe AgainTeam MESA - Make Elderly Safe Again
Team MESA - Make Elderly Safe AgainJames Neo
 
Next generation software testing trends
Next generation software testing trendsNext generation software testing trends
Next generation software testing trendsArun Kulkarni
 
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Strongback Consulting
 
6 questions every enterprise must ask its low code vendor
6 questions every enterprise must ask its low code vendor6 questions every enterprise must ask its low code vendor
6 questions every enterprise must ask its low code vendorWaveMaker, Inc.
 
Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...Jonah Kowall
 
IBM Rational AppScan Product Overview
IBM Rational AppScan Product OverviewIBM Rational AppScan Product Overview
IBM Rational AppScan Product OverviewAshish Patel
 
The Significance of Regression Testing in Software Development.pdf
The Significance of Regression Testing in Software Development.pdfThe Significance of Regression Testing in Software Development.pdf
The Significance of Regression Testing in Software Development.pdfRohitBhandari66
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meetingSergii Shmarkatiuk
 

Similar to 04. Agile development of sustainable software - Joost Visser - #ScaBru18 (20)

Veracode Corporate Overview - Print
Veracode Corporate Overview - PrintVeracode Corporate Overview - Print
Veracode Corporate Overview - Print
 
case analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docxcase analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docx
 
System Software Integration, Witekio
System Software Integration, WitekioSystem Software Integration, Witekio
System Software Integration, Witekio
 
Windows DNA
Windows DNAWindows DNA
Windows DNA
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
 
Fortify Continuous Delivery
Fortify Continuous DeliveryFortify Continuous Delivery
Fortify Continuous Delivery
 
Continuous Delivery 9th Bit
Continuous Delivery 9th BitContinuous Delivery 9th Bit
Continuous Delivery 9th Bit
 
Team MESA - Make Elderly Safe Again
Team MESA - Make Elderly Safe AgainTeam MESA - Make Elderly Safe Again
Team MESA - Make Elderly Safe Again
 
Veracode - Overview
Veracode - OverviewVeracode - Overview
Veracode - Overview
 
Insights success the 10 best performing software solution providers 11th dec ...
Insights success the 10 best performing software solution providers 11th dec ...Insights success the 10 best performing software solution providers 11th dec ...
Insights success the 10 best performing software solution providers 11th dec ...
 
Next generation software testing trends
Next generation software testing trendsNext generation software testing trends
Next generation software testing trends
 
Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012Rational collaborative-lifecycle-management-2012
Rational collaborative-lifecycle-management-2012
 
Stu r35 a
Stu r35 aStu r35 a
Stu r35 a
 
Pragmatic Devops
Pragmatic DevopsPragmatic Devops
Pragmatic Devops
 
6 questions every enterprise must ask its low code vendor
6 questions every enterprise must ask its low code vendor6 questions every enterprise must ask its low code vendor
6 questions every enterprise must ask its low code vendor
 
Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...
 
Low.pdf
Low.pdfLow.pdf
Low.pdf
 
IBM Rational AppScan Product Overview
IBM Rational AppScan Product OverviewIBM Rational AppScan Product Overview
IBM Rational AppScan Product Overview
 
The Significance of Regression Testing in Software Development.pdf
The Significance of Regression Testing in Software Development.pdfThe Significance of Regression Testing in Software Development.pdf
The Significance of Regression Testing in Software Development.pdf
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meeting
 

More from AgileConsortiumINT

Agile @SVB communication - Werner van Bastelaar
Agile @SVB communication  - Werner van BastelaarAgile @SVB communication  - Werner van Bastelaar
Agile @SVB communication - Werner van BastelaarAgileConsortiumINT
 
3 Tasks of Communication in Agile Organizations - Marielle Roozemond
3 Tasks of Communication in Agile Organizations - Marielle Roozemond3 Tasks of Communication in Agile Organizations - Marielle Roozemond
3 Tasks of Communication in Agile Organizations - Marielle RoozemondAgileConsortiumINT
 
Agile Portfolio Management Peter Coesmans
Agile Portfolio Management   Peter CoesmansAgile Portfolio Management   Peter Coesmans
Agile Portfolio Management Peter CoesmansAgileConsortiumINT
 
Agile Leadership - Katie Taylor
Agile Leadership - Katie TaylorAgile Leadership - Katie Taylor
Agile Leadership - Katie TaylorAgileConsortiumINT
 
02. Nuon Solar Team - #ScaBru18
02. Nuon Solar Team - #ScaBru1802. Nuon Solar Team - #ScaBru18
02. Nuon Solar Team - #ScaBru18AgileConsortiumINT
 
Closing ACB Event Feb 2018 - #ScaBru18
Closing ACB Event Feb 2018 - #ScaBru18Closing ACB Event Feb 2018 - #ScaBru18
Closing ACB Event Feb 2018 - #ScaBru18AgileConsortiumINT
 
Intro ACB Feb 2018 - #ScaBru18
Intro ACB Feb 2018 - #ScaBru18Intro ACB Feb 2018 - #ScaBru18
Intro ACB Feb 2018 - #ScaBru18AgileConsortiumINT
 
07. The art of hosting - Johan Decoster - #scabru18
07. The art of hosting - Johan Decoster - #scabru1807. The art of hosting - Johan Decoster - #scabru18
07. The art of hosting - Johan Decoster - #scabru18AgileConsortiumINT
 
03. Agile workplace tasting - Francoise Bronner - #ScaBru18
03. Agile workplace tasting - Francoise Bronner - #ScaBru1803. Agile workplace tasting - Francoise Bronner - #ScaBru18
03. Agile workplace tasting - Francoise Bronner - #ScaBru18AgileConsortiumINT
 
06. Compound Agility - Colleen Johnson - #Scabru18
06. Compound Agility - Colleen Johnson - #Scabru1806. Compound Agility - Colleen Johnson - #Scabru18
06. Compound Agility - Colleen Johnson - #Scabru18AgileConsortiumINT
 
05. Zeal agile - Kim Oostvoghels - #ScaBru18
05. Zeal agile - Kim Oostvoghels - #ScaBru1805. Zeal agile - Kim Oostvoghels - #ScaBru18
05. Zeal agile - Kim Oostvoghels - #ScaBru18AgileConsortiumINT
 
01. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru18
01. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru1801. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru18
01. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru18AgileConsortiumINT
 
Presentatie agile hr onvz 17 10-2017
Presentatie agile hr onvz 17 10-2017Presentatie agile hr onvz 17 10-2017
Presentatie agile hr onvz 17 10-2017AgileConsortiumINT
 
Kpn tv chapter self organization
Kpn tv chapter self organizationKpn tv chapter self organization
Kpn tv chapter self organizationAgileConsortiumINT
 
Scabru17 ent flow patrick steyaert
Scabru17 ent flow patrick steyaertScabru17 ent flow patrick steyaert
Scabru17 ent flow patrick steyaertAgileConsortiumINT
 

More from AgileConsortiumINT (20)

Agile leadership Katie Taylor
Agile leadership   Katie TaylorAgile leadership   Katie Taylor
Agile leadership Katie Taylor
 
Agile @SVB communication - Werner van Bastelaar
Agile @SVB communication  - Werner van BastelaarAgile @SVB communication  - Werner van Bastelaar
Agile @SVB communication - Werner van Bastelaar
 
3 Tasks of Communication in Agile Organizations - Marielle Roozemond
3 Tasks of Communication in Agile Organizations - Marielle Roozemond3 Tasks of Communication in Agile Organizations - Marielle Roozemond
3 Tasks of Communication in Agile Organizations - Marielle Roozemond
 
Agile Portfolio Management Peter Coesmans
Agile Portfolio Management   Peter CoesmansAgile Portfolio Management   Peter Coesmans
Agile Portfolio Management Peter Coesmans
 
Agile Leadership - Katie Taylor
Agile Leadership - Katie TaylorAgile Leadership - Katie Taylor
Agile Leadership - Katie Taylor
 
02. Nuon Solar Team - #ScaBru18
02. Nuon Solar Team - #ScaBru1802. Nuon Solar Team - #ScaBru18
02. Nuon Solar Team - #ScaBru18
 
Closing ACB Event Feb 2018 - #ScaBru18
Closing ACB Event Feb 2018 - #ScaBru18Closing ACB Event Feb 2018 - #ScaBru18
Closing ACB Event Feb 2018 - #ScaBru18
 
Intro ACB Feb 2018 - #ScaBru18
Intro ACB Feb 2018 - #ScaBru18Intro ACB Feb 2018 - #ScaBru18
Intro ACB Feb 2018 - #ScaBru18
 
07. The art of hosting - Johan Decoster - #scabru18
07. The art of hosting - Johan Decoster - #scabru1807. The art of hosting - Johan Decoster - #scabru18
07. The art of hosting - Johan Decoster - #scabru18
 
03. Agile workplace tasting - Francoise Bronner - #ScaBru18
03. Agile workplace tasting - Francoise Bronner - #ScaBru1803. Agile workplace tasting - Francoise Bronner - #ScaBru18
03. Agile workplace tasting - Francoise Bronner - #ScaBru18
 
06. Compound Agility - Colleen Johnson - #Scabru18
06. Compound Agility - Colleen Johnson - #Scabru1806. Compound Agility - Colleen Johnson - #Scabru18
06. Compound Agility - Colleen Johnson - #Scabru18
 
05. Zeal agile - Kim Oostvoghels - #ScaBru18
05. Zeal agile - Kim Oostvoghels - #ScaBru1805. Zeal agile - Kim Oostvoghels - #ScaBru18
05. Zeal agile - Kim Oostvoghels - #ScaBru18
 
01. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru18
01. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru1801. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru18
01. Rethinking Agile Leadership - Andrea Provaglio - #ScaBru18
 
The one function company
The one function companyThe one function company
The one function company
 
Presentatie agile hr onvz 17 10-2017
Presentatie agile hr onvz 17 10-2017Presentatie agile hr onvz 17 10-2017
Presentatie agile hr onvz 17 10-2017
 
Kpn tv chapter self organization
Kpn tv chapter self organizationKpn tv chapter self organization
Kpn tv chapter self organization
 
Scabru17 jaap peters
Scabru17 jaap petersScabru17 jaap peters
Scabru17 jaap peters
 
Scabru17 welcome
Scabru17 welcome Scabru17 welcome
Scabru17 welcome
 
Scabru17 s3 james priest
Scabru17 s3 james priestScabru17 s3 james priest
Scabru17 s3 james priest
 
Scabru17 ent flow patrick steyaert
Scabru17 ent flow patrick steyaertScabru17 ent flow patrick steyaert
Scabru17 ent flow patrick steyaert
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
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.
 
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
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
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
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
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...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
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 ...
 
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
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
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
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

04. Agile development of sustainable software - Joost Visser - #ScaBru18

  • 1. GETTING SOFTWARE RIGHT Agile Development of Sustainable Software The Ventouris Case Prof. dr. ir. Joost Visser Software Improvement Group & Radboud University Nijmegen February 2018
  • 2. Software Improvement Group / PUBLIC 12 million professional software developers write 120 billion lines of code per year of which 15% needs to be changed each year Is the rapid digitalization of our modern information society sustainable? Image by Tom Patterson, www.shadedrelief.com. Page 2 of 26
  • 3. Software Improvement Group / PUBLIC AG AGILE? Page 3 of 26
  • 4. Software Improvement Group / PUBLIC Traditional versus Agile Welcome changing requirements Build projects around teams Business and IT work together Frequent face-to- face communication Self-organizing, self- optimizing teams Architecture and design emerge Fix requirements early Assign people to projects IT works for the business Documentation and reporting Management control Up-front design The Agile Manifesto, 2001 Does Agile development yield sustainable software? Is Agile software development sustainable?
  • 5. Software Improvement Group / PUBLIC 1 Software Improvement Group 2 What does “sustainable” mean for software? 3 Ventouris: a case of sustainable software development 4 How to empower agile teams to build sustainable software? 5 Outlook Page 5 of 26
  • 6. Software Improvement Group / PUBLIC Prof. dr. Joost Visser CTO at SIG • Professor of “Large-scale Software Systems” at Radboud University • Member of advisory group on Cyber Security education and research • Author of 100+ publications on software quality and related topics Introductions Software Improvement Group IT Management Advisory and Measurement Lab • ISO 25010 software product inspections • ISO 17025 lab analyses 25 million lines of code each week • Translate technical findings into actionable recommendations Page 6 of 26
  • 7. Software Improvement Group / PUBLIC SIG covers all domains where software is key Some clients Some numbers 190 supported technologies 9,400,000,000 lines of code in benchmark 2,500 systems monitored Page 7 of 26
  • 8. Software Improvement Group / PUBLIC How can developers be guided to build maintainable software? Educational material and tools Assessments Support risk-based decision making with in- depth analysis of your software Inspections Profit from regular checks – security, reliability, portability, performance, usability Monitoring Have a grip on quality, architecture, and productivity, at all times IT Due Diligence Secure your investment by upfront identification of technology risks Developer Support Facilitate developers to deliver top achievements R&D Support development, adoption of advanced software engineering techniques Page 8 of 26
  • 9. Software Improvement Group / PUBLIC What does ”sustainable” mean for software? Page 9 of 26
  • 10. Software Improvement Group / PUBLIC Software is the DNA of our society and our businesses Invisible to the naked eye, but predetermines where information flows and how things move See: “How does your software measure up? Mastering the DNA of our information society”, Joost Visser, Radboud University Evolution hinders further evolution “Evolution is necessary but leads to structural erosion, making evolution more difficult and ultimately infeasible.” See: “The software evolution paradox”, Arie van Deursen, TU Delft. Evolutionary pressure is mounting Increasingly, software is the differentiating factor in a competitive global market with disruptive agents Survival requires rapid evolution Adapt to changing needs, or become obsolete
  • 11. Software Improvement Group / PUBLIC Sustainable software For Software: Sustainable = Evolvable = Maintainable Software Product Quality ISO/IEC 25010 Functional suitability Portability Maintain- ability Security CompatibilityReliability Performance efficiency Usability continuous change Page 11 of 26
  • 12. Software Improvement Group / PUBLIC SIG Quality Model • Maintainability Operationalization of ISO 25010 (was: ISO 9126) The sub-ratings are aggregated to an overall maintainability rating, where HHHII is market average. Analysability Volume Unit sizeDuplication Unit complexity Module coupling Unit interfacing Component balance Component independence Modifiability Testability Modularity Reusability First published as “A practical model for measuring maintainability”, Heitlager, Kuipers, Visser, QUATIC 2007. Most Influential Paper Source code measurements are aggregated in statistically sound “quality profiles” and then rated on a calibrated scale from HIIII to HHHHH. Page 12 of 26
  • 13. Software Improvement Group / PUBLIC Ventouris a case of sustainable software development Page 13 of 26
  • 14. Software Improvement Group / PUBLIC The Ventouris case Ventouris > Automated administration for 8 Belgium social security funds for independent professionals and companies > Calculation and collection of social security contributions, payment of child benefits, debtor control, … Ventouris Sociaal Statuut (VSS) > Important system within cluster, exists in current form since 2005 > Developed by Cegeka, using Agile software development methods. Cross-functional team of 36 people. > Web-based. Java, JSF, Angular. Question to SIG (December 2016) > Determine the maintainability, security, future-proofness of VSS > 23 detailed questions Page 14 of 26
  • 15. Software Improvement Group / PUBLIC Future-proofness futureproofness real-time data security external services online availability 3rd party dependability maintainability horizontal scalability flexibility 01 02 03 04 08 09 17 2322212018 11 12 13 14 15 19 05 06 10 16 07 Page 15 of 26 Source code analysis Security inspection Architecture review Cost estimation
  • 16. Software Improvement Group / PUBLIC Maintainability of VSS in SIG benchmark Page 16 of 26
  • 17. Software Improvement Group / PUBLIC Automated testing of VSS Page 17 of 26
  • 18. Software Improvement Group / PUBLIC Future-proofness of VSS on a 10 year horizon Page 18 of 26
  • 19. Software Improvement Group / PUBLIC How to empower agile teams to build sustainable software? Page 19 of 26
  • 20. Software Improvement Group / PUBLIC How can Agile teams be empowered to build sustainable software? Product – What is the quality of the software that the team produces? • Guidelines for high-quality software • Measure compliance, preferably at each commit Process – What is the quality of the team’s software production process • Best-practices for effective software development • Measure compliance, preferably at each sprint review Notes • Benchmarked • Actionable for the team • Insightful for the sponsor Page 20 of 26
  • 21. Software Improvement Group / PUBLIC 10 best practices for effective software development Measure Derive metrics from your measurement goals Make Definition of Done Explicit Automate Control Versions and Branches Automate Tests Use Continuous Integration Automate Deployment Organize Separate Development, Test, Acceptance, and Production Standardize the Development Environment Manage Usage of Third-Party Code Document Just Enough Building Software Teams, O’Reilly 2016 Page 21 of 26
  • 22. Software Improvement Group / PUBLIC Automate Tests Why? > Find root causes of bugs earlier with little effort > Reduce the number of bugs Write automated tests for anything that is worth testing Page 22 of 26
  • 23. Software Improvement Group / PUBLIC 10 guidelines for future-proof code Code Write small units of code Write simple units of code Write code once Keep unit interfaces small Architecture Separate concerns in modules Couple architecture components loosely Keep architecture components balanced Keep your codebase small Way of working Automate tests Write clean code Building Maintainable Software, O’Reilly 2016 Page 23 of 26
  • 24. Software Improvement Group / PUBLIC 10 guidelines for future-proof code Code Limit units to 15 lines of code Limit branch points per unit to 4 Do not copy code longer than 6 lines Limit parameters per unit to 4 Architecture Avoid modules larger than 400 lines of code Hide classes from other components, no cycles Aim for 6-12 top-level components Keep codebase below 200,000 lines of code Way of working Write automated tests that cover all code Stick to the seven “boy scout rules” Page 24 of 26
  • 25. Software Improvement Group / PUBLIC Page 25 of 26
  • 26. Software Improvement Group / PUBLIC Wrap up Sustainable agile software development > Govern: ask for accountability > Empower: set clear metric-based standards for product and process. Increasing accountability of teams must go hand in hand with enabling them Invitation > Share the books with your teams > Ask them to try out Better Code Hub (bettercodehub.com) > Trainings and certifications available Page 26 of 26
  • 27. GETTING SOFTWARE RIGHT Contact +31 64 63 63 866 j.visser@sig.eu @jstvssr
  • 28. Software Improvement Group / PUBLIC Future-proof software starts today! Page 28 of 26