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

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
Chris Pepin
 
Velocis Presentations
Velocis PresentationsVelocis Presentations
Velocis Presentations
Hitesh Patel
 
Success Factors of FOSS Adoption
Success Factors of FOSS AdoptionSuccess Factors of FOSS Adoption
Success Factors of FOSS Adoption
Alexei Fedotov
 
[Infographic]]Managing Assets and Endpoints
[Infographic]]Managing Assets and Endpoints[Infographic]]Managing Assets and Endpoints
[Infographic]]Managing Assets and Endpoints
Symantec
 

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 - Print
Andrew 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.docx
cowinhelen
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meeting
Sergii 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

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

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 

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