SlideShare a Scribd company logo
Software Architecture Lab.
Reducing Technical Debt:
Using Persuasive Technology for
Encouraging Software Developers
to Document Code
Y U L I A S H M E R L I N , I N F O R M A T I O N S Y S T E M S
D E P A R T M E N T , U N I V E R S I T Y O F H A I F A , I S R A E L
D O R O N K L I G E R , E C O N O M I C S D E P A R T M E N T ,
U N I V E R S I T Y O F H A I F A , I S R A E L
H A Y I M M A K A B E E , Y A H O O ! R E S E A R C H L A B S , H A I F A ,
I S R A E L
Software Architecture Lab. 2
Documentation Debt
 Technical debt is a metaphor for the gap
between the current state of a software system
and its hypothesized ‘ideal’ state.
 Documentation debt may occur when code
is created without sufficient supporting internal
documentation, such as code comments.
 The growth rate of comments is smaller than
the growth rate of code in software projects.
Software Architecture Lab. 3
Causes of Documentation Debt
 The importance of comments is often
overlooked by software developers.
 Some developers perceive writing internal
documentation as a secondary task, as opposed
to writing the code itself.
 Some development approaches promote the
idea that good code should be self-explanatory,
and thus comments are not always necessary.
Software Architecture Lab. 4
Documentation Debt Consequences
 Outdated or lacking documentation increases
the costs of software systems maintenance.
 Previous research shows that 40%- 60% of the
maintenance time is spent on studying the
software prior to modification because of the
lack of appropriate documentation.
Software Architecture Lab. 5
Research Goals
 Explore and better understand developers’
reluctance to document code.
 Propose efficient ways using persuasive
technology to encourage programmers to
document their code.
Software Architecture Lab. 6
Persuasive Technology
 Persuasive technology is an interactive
computer technology designed with the goal of
reinforcing, changing or shaping people’s
attitudes or behavior.
 Shaping purposes: create a behavior pattern for
a specific situation which did not exist prior to
using the system.
Software Architecture Lab. 7
Fogg Behavior Model
 Fogg Behavior Model has three factors:
 Motivation
 Ability
 Triggers
 Behavior activation threshold: For the trigger to
evoke the desired behavior, a person has to be
above that threshold, in high enough level of
motivation and ability.
Software Architecture Lab. 8
Research Plan
We plan two studies:
1. A think-aloud protocol for examining
program maintenance tasks performance.
2. A series of experiments to assess triggers for
documentation.
Software Architecture Lab. 9
Think-Aloud Sessions
 Each subject will perform a maintenance task,
namely, add functionality, on a code written
and documented by another person.
 We will observe:
 To what extent the subject relies on the code
documentation during this process.
 What are the important features in code comments
that help understand existing code.
Software Architecture Lab. 10
Assess Triggers for Documentation
 Goal: Check if the use of a documentation-
triggering tool improves documentation.
 While exploring also the effect of interventions on
the other Fogg factors (motivation and ability).
 Quantitative results: will be calculated using
documentation metrics.
 Qualitative results: we plan to collect
qualitative data via questionnaires.
Software Architecture Lab. 11
Planned Experiments
 Pilot experiments with undergraduate students.
 Experiment with software practitioners:
 During a full-day workshop.
 1st stage: participants implement coding task.
 2nd stage: participants extend code written by others.
 Participants are divided into two groups:
 Both groups are aware that their code will be extended by
someone else.
 One group expects that the quality of their documentation
will be judged.
Software Architecture Lab. 12
Conclusions
 We intend to:
 Identify the factors affecting documentation.
 Devise means for increasing compliance with
documentation requirements.
 Create a utility, using persuasive technology
principles, for encouraging and motivating
developers to document their code.
 Our results may assist software practitioners to
control and reduce documentation debt.

More Related Content

PDF
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
PPTX
To document or not to document? An exploratory study on developers' motivatio...
PPTX
The Role of the Software Architect (short version)
PDF
Agile archiecture iltam 2014
PPTX
ADUF - Adaptable Design Up Front
PPTX
Tdd 4 everyone full version
PDF
To document or not to document? An exploratory study on developers' motivatio...
PDF
What a Good Software Architect Does
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
To document or not to document? An exploratory study on developers' motivatio...
The Role of the Software Architect (short version)
Agile archiecture iltam 2014
ADUF - Adaptable Design Up Front
Tdd 4 everyone full version
To document or not to document? An exploratory study on developers' motivatio...
What a Good Software Architect Does

What's hot (20)

PPTX
The five expertise of a software architect
PDF
Big Ball of Mud: Software Maintenance Nightmares
PPTX
Software engineer job responsibilities
PPTX
Software Design
PDF
Professional Software Development, Practices and Ethics
PDF
An introduction to software engineering
PPT
Software engineering
PPT
Unit1
PPTX
Software architecture introduction
PPTX
A presentation on software crisis
PPTX
Software Myths
PPTX
Behavior Driven Development with AngularJS & Jasmine
PPT
Lecture 1-intro-to-software-development
PPTX
CS519 - Visual Software Evolution Reconstruction
PPTX
Intro to software development
PPTX
tantangan menjadi developer di abad 21
PDF
Code quality as a built-in process
PDF
Software engineering note
PPT
Pressman ch-1-software
PDF
SWE-401 - 2. Software Development life cycle (SDLC)
The five expertise of a software architect
Big Ball of Mud: Software Maintenance Nightmares
Software engineer job responsibilities
Software Design
Professional Software Development, Practices and Ethics
An introduction to software engineering
Software engineering
Unit1
Software architecture introduction
A presentation on software crisis
Software Myths
Behavior Driven Development with AngularJS & Jasmine
Lecture 1-intro-to-software-development
CS519 - Visual Software Evolution Reconstruction
Intro to software development
tantangan menjadi developer di abad 21
Code quality as a built-in process
Software engineering note
Pressman ch-1-software
SWE-401 - 2. Software Development life cycle (SDLC)
Ad

Viewers also liked (19)

PPTX
The Role of the Software Architect
PPTX
Designing with tests
PDF
Adaptive Object Model - IASA IL Meeting on Software Evolution (3/2014)
PPTX
The SOLID Principles Illustrated by Design Patterns
PPTX
Aliyah: Looking for a hi-tech job in Israel
PPTX
Introduction to Event Sourcing and CQRS (IASA-IL)
PDF
Resource Adaptive Systems
PPT
Watch-It-Next: A Contextual TV Recommendation System
PPTX
Antifragile Software Design
PPTX
Extracting Quality Scenarios from Functional Scenarios
PPTX
Software Quality Attributes
PPTX
Adaptable Designs for Agile Software Development
PPTX
Single Responsibility Principle @ Clean Code Alliance Meetup
PPT
It project management and best practices
PDF
July 2013 Talk, What Industry Needs from Architecture Description Languages
PPTX
Hierarchical Composable Optimization of Web Pages
PPTX
An Event-Driven Approach for the Separation of Concerns
PDF
Event-Driven Architecture (EDA)
PDF
SOLID Principles and Design Patterns
The Role of the Software Architect
Designing with tests
Adaptive Object Model - IASA IL Meeting on Software Evolution (3/2014)
The SOLID Principles Illustrated by Design Patterns
Aliyah: Looking for a hi-tech job in Israel
Introduction to Event Sourcing and CQRS (IASA-IL)
Resource Adaptive Systems
Watch-It-Next: A Contextual TV Recommendation System
Antifragile Software Design
Extracting Quality Scenarios from Functional Scenarios
Software Quality Attributes
Adaptable Designs for Agile Software Development
Single Responsibility Principle @ Clean Code Alliance Meetup
It project management and best practices
July 2013 Talk, What Industry Needs from Architecture Description Languages
Hierarchical Composable Optimization of Web Pages
An Event-Driven Approach for the Separation of Concerns
Event-Driven Architecture (EDA)
SOLID Principles and Design Patterns
Ad

Similar to Reducing Technical Debt (20)

PDF
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
PDF
Backend Developer Roadmap PDF By ScholarHat
PDF
Software design.edited (1)
PDF
The Product and Process(1).pdf
PDF
Download full ebook of Basics Of Programming Dg Junior instant download pdf
PPTX
SoftwareEngineering.pptx
PPTX
SoftwareEngineering.pptx
PPTX
Design programing logic powor point.pptx
PPT
Lecture 2 introduction to Software Engineering 1
PDF
Software Engineering Basics.pdf
PDF
Programming vs Coding: Unveiling The Key Differences
PDF
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
PDF
Software Engineering Overview
DOC
DOCX
Software Engineering Solved Past Paper 2020
DOCX
Software Engineering (Short & Long Questions)
PDF
Software Development Today Everything You Need To Know.pdf
DOCX
Notes of Software engineering and Project Management
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Backend Developer Roadmap PDF By ScholarHat
Software design.edited (1)
The Product and Process(1).pdf
Download full ebook of Basics Of Programming Dg Junior instant download pdf
SoftwareEngineering.pptx
SoftwareEngineering.pptx
Design programing logic powor point.pptx
Lecture 2 introduction to Software Engineering 1
Software Engineering Basics.pdf
Programming vs Coding: Unveiling The Key Differences
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
Software Engineering Overview
Software Engineering Solved Past Paper 2020
Software Engineering (Short & Long Questions)
Software Development Today Everything You Need To Know.pdf
Notes of Software engineering and Project Management

More from Hayim Makabee (12)

PDF
Movie Quotes Search Engine Industrial Project
PPTX
Managing your Reputation
PPTX
Applications of Machine Learning - INDT Webinar
PPTX
Applications of Machine Learning
PPTX
Blue Ocean Strategy: KashKlik Use Case
PPTX
Managing your Reputation Gvahim Webinar
PPTX
Explainable Machine Learning (Explainable ML)
PPTX
Automated Machine Learning (Auto ML)
PPTX
Managing your Reputation
PPTX
The Story of a Young Oleh (Immigrant in Israel)
PPTX
Software Architecture for Agile Development
PPTX
Applications of Machine Learning
Movie Quotes Search Engine Industrial Project
Managing your Reputation
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning
Blue Ocean Strategy: KashKlik Use Case
Managing your Reputation Gvahim Webinar
Explainable Machine Learning (Explainable ML)
Automated Machine Learning (Auto ML)
Managing your Reputation
The Story of a Young Oleh (Immigrant in Israel)
Software Architecture for Agile Development
Applications of Machine Learning

Recently uploaded (20)

PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
medical staffing services at VALiNTRY
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
top salesforce developer skills in 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Introduction to Artificial Intelligence
PDF
Softaken Excel to vCard Converter Software.pdf
Digital Systems & Binary Numbers (comprehensive )
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Transform Your Business with a Software ERP System
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
medical staffing services at VALiNTRY
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Wondershare Filmora 15 Crack With Activation Key [2025
top salesforce developer skills in 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms I-SECS-1021-03
Odoo POS Development Services by CandidRoot Solutions
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction to Artificial Intelligence
Softaken Excel to vCard Converter Software.pdf

Reducing Technical Debt

  • 1. Software Architecture Lab. Reducing Technical Debt: Using Persuasive Technology for Encouraging Software Developers to Document Code Y U L I A S H M E R L I N , I N F O R M A T I O N S Y S T E M S D E P A R T M E N T , U N I V E R S I T Y O F H A I F A , I S R A E L D O R O N K L I G E R , E C O N O M I C S D E P A R T M E N T , U N I V E R S I T Y O F H A I F A , I S R A E L H A Y I M M A K A B E E , Y A H O O ! R E S E A R C H L A B S , H A I F A , I S R A E L
  • 2. Software Architecture Lab. 2 Documentation Debt  Technical debt is a metaphor for the gap between the current state of a software system and its hypothesized ‘ideal’ state.  Documentation debt may occur when code is created without sufficient supporting internal documentation, such as code comments.  The growth rate of comments is smaller than the growth rate of code in software projects.
  • 3. Software Architecture Lab. 3 Causes of Documentation Debt  The importance of comments is often overlooked by software developers.  Some developers perceive writing internal documentation as a secondary task, as opposed to writing the code itself.  Some development approaches promote the idea that good code should be self-explanatory, and thus comments are not always necessary.
  • 4. Software Architecture Lab. 4 Documentation Debt Consequences  Outdated or lacking documentation increases the costs of software systems maintenance.  Previous research shows that 40%- 60% of the maintenance time is spent on studying the software prior to modification because of the lack of appropriate documentation.
  • 5. Software Architecture Lab. 5 Research Goals  Explore and better understand developers’ reluctance to document code.  Propose efficient ways using persuasive technology to encourage programmers to document their code.
  • 6. Software Architecture Lab. 6 Persuasive Technology  Persuasive technology is an interactive computer technology designed with the goal of reinforcing, changing or shaping people’s attitudes or behavior.  Shaping purposes: create a behavior pattern for a specific situation which did not exist prior to using the system.
  • 7. Software Architecture Lab. 7 Fogg Behavior Model  Fogg Behavior Model has three factors:  Motivation  Ability  Triggers  Behavior activation threshold: For the trigger to evoke the desired behavior, a person has to be above that threshold, in high enough level of motivation and ability.
  • 8. Software Architecture Lab. 8 Research Plan We plan two studies: 1. A think-aloud protocol for examining program maintenance tasks performance. 2. A series of experiments to assess triggers for documentation.
  • 9. Software Architecture Lab. 9 Think-Aloud Sessions  Each subject will perform a maintenance task, namely, add functionality, on a code written and documented by another person.  We will observe:  To what extent the subject relies on the code documentation during this process.  What are the important features in code comments that help understand existing code.
  • 10. Software Architecture Lab. 10 Assess Triggers for Documentation  Goal: Check if the use of a documentation- triggering tool improves documentation.  While exploring also the effect of interventions on the other Fogg factors (motivation and ability).  Quantitative results: will be calculated using documentation metrics.  Qualitative results: we plan to collect qualitative data via questionnaires.
  • 11. Software Architecture Lab. 11 Planned Experiments  Pilot experiments with undergraduate students.  Experiment with software practitioners:  During a full-day workshop.  1st stage: participants implement coding task.  2nd stage: participants extend code written by others.  Participants are divided into two groups:  Both groups are aware that their code will be extended by someone else.  One group expects that the quality of their documentation will be judged.
  • 12. Software Architecture Lab. 12 Conclusions  We intend to:  Identify the factors affecting documentation.  Devise means for increasing compliance with documentation requirements.  Create a utility, using persuasive technology principles, for encouraging and motivating developers to document their code.  Our results may assist software practitioners to control and reduce documentation debt.