SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Software Architecture Lab.
To document or not to document?
An exploratory study on developers'
motivation to document code
Y U L I A S H M E R L I N , I R I T H A D A R
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
P O N T I S , I S R A E L
Software Architecture Lab. 2
Documentation debt
 Technical debt
 The situation in a project when developers accept
compromises in one dimension of a system in order to
meet urgent demands in other dimensions (Clear, 2003 )
 Includes code-related and non-code related elements
 Documentation debt
 A component of technical debt (Tom, 2013)
 The situation in which software products
lack the necessary internal documentation.
Software Architecture Lab. 3
The importance of documentation
 Developers are often aware of the importance of
documentation (Tenny, 1988)
However -
 Code documentation is often overlooked in practice
(Fluri, 2007)
Software Architecture Lab. 4
Reasons for the lack of documentation
 External – stemming from the work environment
 Example: strict deadlines urge developers to focus on
executable code, often leaving the documentation behind.
 Internal – inherent in the developers themselves
 Example: documenting is not perceived a creative activity 
developers prefer solving algorithmic problems over writing
documentation (Clear, 2003).
Software Architecture Lab. 5
Related works
 Software developers' motivation has been researched.
For example:
 The job characteristics model (Couger et al., 1980)
 The model of task design (Gambill et al., 2000).
 These models examine the motivation for the software
development profession as a whole
 Motivation model for code documentation?
Software Architecture Lab. 6
Research goal and question
 We aim to explore and better understand
developers' motivation for code
documenting.
 Research question:
What are the motivating and the hindering
aspects that influence developers’ code
documenting behavior?
Software Architecture Lab. 7
Research settings
 Data collection and analysis are performed
using qualitative – and subsequently
quantitative – research methods.
 The research consists of three stages:
1. Five in-depth interviews
2. Distribution of pilot questionnaire among ten
additional participants.
3. Large-scaled distribution of refined
questionnaire
Software Architecture Lab. 8
Findings
Hindering
vs.
Motivating
aspects of documentation
Software Architecture Lab. 9
Categories of hindering aspects
of documentation
Documentation is a…
 tedious task
“…to explain what each parameter does.”
 difficult task
 “Sometimes I do not know how to explain the change.”
 interruption of coding
 “Documenting breaks the continuity of coding.”
 time consuming
 "When I have a tight deadline, documenting is left behind."
Software Architecture Lab. 10
Categories of motivating aspects
of documentation
Documentation promotes…
 code comprehensibility
 “Documentation makes the code more readable and easier to
understand later on, for me and for other people that look at the
code.”
 order
 “It helps to keep things in order.”
 overall code quality
 "Good documentation shows that your work
was done perfectly."
Software Architecture Lab. 11
Additional findings
 No formal company policy
 All participants reported that their company does not have a
formal policy regarding documentation
 Being forced to document by company policy
would not be an effective solution
 "Most of the developers are creative people and do not like
to be told how to do their job.”
 These results further emphasize the need to focus on
internal motivation of developers in order to
encourage them to document
Software Architecture Lab. 12
Conclusions
 Developers' reluctance to document is related
to their negative perception of the task of
documenting.
 Documenting is perceived as tedious, difficult, time
consuming and distracting from the main task of
coding.
 Most of the developers could also find
motivating aspects.
 Documentation increases quality and
understandability of code.
Software Architecture Lab. 13
The vision:
A conceptual solution
 In order to increase developers' motivation
to document, a proposed solution for
encouraging documentation should:
 emphasize the motivating aspects
 mitigate the hindering aspects
Software Architecture Lab. 14
The next step
 Distribute a quantitative questionnaire for
further refinement, validation and
generalization of our findings.
Software Architecture Lab. 15
Brief description of the questionnaire
 Practices vs. beliefs
 Company and peer feedback
 State of mind during coding vs. documenting
 Background questions
Software Architecture Lab. 16
Example question 1:
 When do you think is the preferable time to document:
 before developing a segment of code
 after developing a method
 after developing a class
 at the end of the workday
 rarely or never
 other________________
 When do you usually document:
 before developing a segment of code
 after developing a method
 after developing a class
 at the end of the workday
 rarely or never
 other________________
Software Architecture Lab. 17
Example question 2:
Do you normally receive positive feedback regarding documentation
from your peers or managers?
(You may choose more than one answer).
 Normally I do not receive positive feedback on my documentation
 Normally people say my documentation is good.
 Normally people say my documentation is sufficient.
 Normally people say my documentation helps them.
Software Architecture Lab. 18
Example question 3:
The following statements refer to the way in which you have experienced code
documentation work during the last two weeks.
Please indicate how often you experienced the state of mind described in each of
the statements. (1 = never, 2 = almost never, 3 = sometimes, 4 = regularly, 5 =
often, 6 = very often, 7 = always).
1. When I am documenting, I think about nothing else
2. I get carried away by my documentation tasks
3. When I am documenting, I forget everything else around me
4. I am totally immersed in my documentation tasks
5. My documentation tasks give me a good feeling
6. I do my documentation tasks with a lot of enjoyment
7. I feel happy during documentation
8. I feel cheerful when I am documenting
9. I would still do documentation tasks, even if I received less pay
10. I find that I also want to document in my free time
11. I document because I enjoy it
12. When I am working on documentation tasks, I am doing it for myself
13. I get my motivation from the documentation challenge itself, and not from the monetary reward for it
Software Architecture Lab. 19
The next steps
 Distribute a quantitative questionnaire for
further refinement, validation and
generalization of our findings.
 Designing a solution based on these findings
for increasing developers' motivation to
document their code.
Software Architecture Lab. 20
Thank you for your attention!

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 
Big Ball of Mud: Software Maintenance Nightmares
Big Ball of Mud: Software Maintenance NightmaresBig Ball of Mud: Software Maintenance Nightmares
Big Ball of Mud: Software Maintenance NightmaresGonzalo Rodríguez
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Vinit Kumar Singh
 
Difference between traditional and agile software development
Difference between traditional and agile software developmentDifference between traditional and agile software development
Difference between traditional and agile software developmentDeepaThirumurugan
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile DevelopmentHayim Makabee
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides pptMr SMAK
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive SystemsTom Mueck
 
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineBehavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineRemus Langu
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meetingSergii Shmarkatiuk
 
What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect DoesEberhard Wolff
 
Agile Requirements Engineering Practices: An Empirical Study
Agile Requirements Engineering Practices: An Empirical StudyAgile Requirements Engineering Practices: An Empirical Study
Agile Requirements Engineering Practices: An Empirical StudyAsanka Dilruk
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi Stephan
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringAndy Maleh
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
Unit 1 sepm software myths
Unit 1 sepm software mythsUnit 1 sepm software myths
Unit 1 sepm software mythsKanchanPatil34
 
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...South Tyrol Free Software Conference
 

Was ist angesagt? (20)

Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Big Ball of Mud: Software Maintenance Nightmares
Big Ball of Mud: Software Maintenance NightmaresBig Ball of Mud: Software Maintenance Nightmares
Big Ball of Mud: Software Maintenance Nightmares
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
 
Difference between traditional and agile software development
Difference between traditional and agile software developmentDifference between traditional and agile software development
Difference between traditional and agile software development
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile Development
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive Systems
 
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineBehavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Continuous integration for se group meeting
Continuous integration for se group meetingContinuous integration for se group meeting
Continuous integration for se group meeting
 
Large Scale Software Project
Large Scale Software ProjectLarge Scale Software Project
Large Scale Software Project
 
Xp Slideshow
Xp SlideshowXp Slideshow
Xp Slideshow
 
What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect Does
 
Agile Requirements Engineering Practices: An Empirical Study
Agile Requirements Engineering Practices: An Empirical StudyAgile Requirements Engineering Practices: An Empirical Study
Agile Requirements Engineering Practices: An Empirical Study
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Unit 1 sepm software myths
Unit 1 sepm software mythsUnit 1 sepm software myths
Unit 1 sepm software myths
 
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
 

Ähnlich wie To document or not to document? An exploratory study on developers' motivation to document code

Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developerNetcetera
 
Professional project writing
Professional project writingProfessional project writing
Professional project writingjkmaster
 
Software engineering
Software engineeringSoftware engineering
Software engineeringsweetysweety8
 
Software Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessarySoftware Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessaryYazid Hamdi
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answersHopeTutors1
 
Reducing Time Spent On Requirements
Reducing Time Spent On RequirementsReducing Time Spent On Requirements
Reducing Time Spent On RequirementsByron Workman
 
Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Jaehoon Oh
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developerEyob Lube
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelinesLalit Kale
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentSaqib Raza
 
AgileNCR 2019 _ The Soft Side of Software Development.pptx
AgileNCR 2019 _ The Soft Side of Software Development.pptxAgileNCR 2019 _ The Soft Side of Software Development.pptx
AgileNCR 2019 _ The Soft Side of Software Development.pptxRajaNagendraKumar1
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 

Ähnlich wie To document or not to document? An exploratory study on developers' motivation to document code (20)

Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developer
 
Professional project writing
Professional project writingProfessional project writing
Professional project writing
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessarySoftware Engineering: why it is more than coding, and why it is necessary
Software Engineering: why it is more than coding, and why it is necessary
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answers
 
Reducing Time Spent On Requirements
Reducing Time Spent On RequirementsReducing Time Spent On Requirements
Reducing Time Spent On Requirements
 
Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가Tdd 왜 배우기 어려운가
Tdd 왜 배우기 어려운가
 
Agile testing
Agile testingAgile testing
Agile testing
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
Faq
Faq  Faq
Faq
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
AgileNCR 2019 _ The Soft Side of Software Development.pptx
AgileNCR 2019 _ The Soft Side of Software Development.pptxAgileNCR 2019 _ The Soft Side of Software Development.pptx
AgileNCR 2019 _ The Soft Side of Software Development.pptx
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 

Mehr von Hayim Makabee

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your ReputationHayim Makabee
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarHayim Makabee
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine LearningHayim Makabee
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseHayim Makabee
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarHayim Makabee
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Hayim Makabee
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Hayim Makabee
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your ReputationHayim Makabee
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)Hayim Makabee
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine LearningHayim Makabee
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software DesignHayim Makabee
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsHayim Makabee
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelHayim Makabee
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software ArchitectHayim Makabee
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Hayim Makabee
 
An Event-Driven Approach for the Separation of Concerns
An Event-Driven Approach for the Separation of ConcernsAn Event-Driven Approach for the Separation of Concerns
An Event-Driven Approach for the Separation of ConcernsHayim Makabee
 
Hierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHayim Makabee
 

Mehr von Hayim Makabee (18)

Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
Applications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT WebinarApplications of Machine Learning - INDT Webinar
Applications of Machine Learning - INDT Webinar
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Blue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use CaseBlue Ocean Strategy: KashKlik Use Case
Blue Ocean Strategy: KashKlik Use Case
 
Managing your Reputation Gvahim Webinar
Managing your Reputation Gvahim WebinarManaging your Reputation Gvahim Webinar
Managing your Reputation Gvahim Webinar
 
Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)Explainable Machine Learning (Explainable ML)
Explainable Machine Learning (Explainable ML)
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)
 
Managing your Reputation
Managing your ReputationManaging your Reputation
Managing your Reputation
 
The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)The Story of a Young Oleh (Immigrant in Israel)
The Story of a Young Oleh (Immigrant in Israel)
 
Applications of Machine Learning
Applications of Machine LearningApplications of Machine Learning
Applications of Machine Learning
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software Design
 
The SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design PatternsThe SOLID Principles Illustrated by Design Patterns
The SOLID Principles Illustrated by Design Patterns
 
Aliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in IsraelAliyah: Looking for a hi-tech job in Israel
Aliyah: Looking for a hi-tech job in Israel
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
The Role of the Software Architect
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software Architect
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
 
An Event-Driven Approach for the Separation of Concerns
An Event-Driven Approach for the Separation of ConcernsAn Event-Driven Approach for the Separation of Concerns
An Event-Driven Approach for the Separation of Concerns
 
Hierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web Pages
 

Kürzlich hochgeladen

%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 masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
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...SelfMade bd
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%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 kaalfonteinmasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 

Kürzlich hochgeladen (20)

%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
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
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...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%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
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 

To document or not to document? An exploratory study on developers' motivation to document code

  • 1. Software Architecture Lab. To document or not to document? An exploratory study on developers' motivation to document code Y U L I A S H M E R L I N , I R I T H A D A R 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 P O N T I S , I S R A E L
  • 2. Software Architecture Lab. 2 Documentation debt  Technical debt  The situation in a project when developers accept compromises in one dimension of a system in order to meet urgent demands in other dimensions (Clear, 2003 )  Includes code-related and non-code related elements  Documentation debt  A component of technical debt (Tom, 2013)  The situation in which software products lack the necessary internal documentation.
  • 3. Software Architecture Lab. 3 The importance of documentation  Developers are often aware of the importance of documentation (Tenny, 1988) However -  Code documentation is often overlooked in practice (Fluri, 2007)
  • 4. Software Architecture Lab. 4 Reasons for the lack of documentation  External – stemming from the work environment  Example: strict deadlines urge developers to focus on executable code, often leaving the documentation behind.  Internal – inherent in the developers themselves  Example: documenting is not perceived a creative activity  developers prefer solving algorithmic problems over writing documentation (Clear, 2003).
  • 5. Software Architecture Lab. 5 Related works  Software developers' motivation has been researched. For example:  The job characteristics model (Couger et al., 1980)  The model of task design (Gambill et al., 2000).  These models examine the motivation for the software development profession as a whole  Motivation model for code documentation?
  • 6. Software Architecture Lab. 6 Research goal and question  We aim to explore and better understand developers' motivation for code documenting.  Research question: What are the motivating and the hindering aspects that influence developers’ code documenting behavior?
  • 7. Software Architecture Lab. 7 Research settings  Data collection and analysis are performed using qualitative – and subsequently quantitative – research methods.  The research consists of three stages: 1. Five in-depth interviews 2. Distribution of pilot questionnaire among ten additional participants. 3. Large-scaled distribution of refined questionnaire
  • 8. Software Architecture Lab. 8 Findings Hindering vs. Motivating aspects of documentation
  • 9. Software Architecture Lab. 9 Categories of hindering aspects of documentation Documentation is a…  tedious task “…to explain what each parameter does.”  difficult task  “Sometimes I do not know how to explain the change.”  interruption of coding  “Documenting breaks the continuity of coding.”  time consuming  "When I have a tight deadline, documenting is left behind."
  • 10. Software Architecture Lab. 10 Categories of motivating aspects of documentation Documentation promotes…  code comprehensibility  “Documentation makes the code more readable and easier to understand later on, for me and for other people that look at the code.”  order  “It helps to keep things in order.”  overall code quality  "Good documentation shows that your work was done perfectly."
  • 11. Software Architecture Lab. 11 Additional findings  No formal company policy  All participants reported that their company does not have a formal policy regarding documentation  Being forced to document by company policy would not be an effective solution  "Most of the developers are creative people and do not like to be told how to do their job.”  These results further emphasize the need to focus on internal motivation of developers in order to encourage them to document
  • 12. Software Architecture Lab. 12 Conclusions  Developers' reluctance to document is related to their negative perception of the task of documenting.  Documenting is perceived as tedious, difficult, time consuming and distracting from the main task of coding.  Most of the developers could also find motivating aspects.  Documentation increases quality and understandability of code.
  • 13. Software Architecture Lab. 13 The vision: A conceptual solution  In order to increase developers' motivation to document, a proposed solution for encouraging documentation should:  emphasize the motivating aspects  mitigate the hindering aspects
  • 14. Software Architecture Lab. 14 The next step  Distribute a quantitative questionnaire for further refinement, validation and generalization of our findings.
  • 15. Software Architecture Lab. 15 Brief description of the questionnaire  Practices vs. beliefs  Company and peer feedback  State of mind during coding vs. documenting  Background questions
  • 16. Software Architecture Lab. 16 Example question 1:  When do you think is the preferable time to document:  before developing a segment of code  after developing a method  after developing a class  at the end of the workday  rarely or never  other________________  When do you usually document:  before developing a segment of code  after developing a method  after developing a class  at the end of the workday  rarely or never  other________________
  • 17. Software Architecture Lab. 17 Example question 2: Do you normally receive positive feedback regarding documentation from your peers or managers? (You may choose more than one answer).  Normally I do not receive positive feedback on my documentation  Normally people say my documentation is good.  Normally people say my documentation is sufficient.  Normally people say my documentation helps them.
  • 18. Software Architecture Lab. 18 Example question 3: The following statements refer to the way in which you have experienced code documentation work during the last two weeks. Please indicate how often you experienced the state of mind described in each of the statements. (1 = never, 2 = almost never, 3 = sometimes, 4 = regularly, 5 = often, 6 = very often, 7 = always). 1. When I am documenting, I think about nothing else 2. I get carried away by my documentation tasks 3. When I am documenting, I forget everything else around me 4. I am totally immersed in my documentation tasks 5. My documentation tasks give me a good feeling 6. I do my documentation tasks with a lot of enjoyment 7. I feel happy during documentation 8. I feel cheerful when I am documenting 9. I would still do documentation tasks, even if I received less pay 10. I find that I also want to document in my free time 11. I document because I enjoy it 12. When I am working on documentation tasks, I am doing it for myself 13. I get my motivation from the documentation challenge itself, and not from the monetary reward for it
  • 19. Software Architecture Lab. 19 The next steps  Distribute a quantitative questionnaire for further refinement, validation and generalization of our findings.  Designing a solution based on these findings for increasing developers' motivation to document their code.
  • 20. Software Architecture Lab. 20 Thank you for your attention!