SlideShare a Scribd company logo
1 of 31
Download to read offline
Sketches and Diagrams in Practice 
Sebastian Baltes and Stephan Diehl 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
@s_baltes 
s.baltes@uni-trier.de 
University of Trier, Germany 
22nd International Symposium on 
Foundations of Software Engineering 
November 20, 2014, Hong Kong
Sketches and Diagrams 
informal formal 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
2 
Sketch 
Diagram
Introduction 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
3 
Past studies: 
Sketches and diagrams important in daily work of software developers 
Purpose: Understanding, 
designing, communicating 
[Cherubini07] 
Depict mental model 
of software 
[LaToza06] 
Teams improvise representations, 
sketches/diagrams often informal 
[Dekel07, Petre13] 
Medium: Whiteboard, paper, 
computer [Cherubini07, Walny11] 
Psychology: Sketching augments 
information processing, sketches 
are sources of creativity 
[Goldschmidt03, Tversky03]
Our Goal 
Existing studies: 
• Concentrated on certain aspects 
• Single companies 
• Academic environment 
• Some had small number of participants 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
4 
Our goal: Thorough description of how sketches 
and diagrams are used in software engineering 
practice 
Better tool support for integrating sketches and 
diagrams into software development process
Our Goal 
Existing studies: 
• Concentrate on certain aspects 
• Single companies 
• Academia 
• Some had small number of participants 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
5 
Our goal: Thorough description of how sketches 
and diagrams are used in software engineering 
practice 
Better tool support for integrating sketches and 
diagrams into software development process
Research Design 
How to describe sketches and diagrams in SE practice? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
6
Research Design 
Effort 
Contributors 
Archiving 
Formality 
Revision Lifespan 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
7 
Existing Studies Exploratory Field Study 
11 Dimensions 
3 companies 
13 developers 
47 sketches 
Sketch 
Medium 
Context 
Relation to 
Source Code 
UML-Elements 
Purpose 
Online Survey 
purpose, 
media, 
formality, etc.
Online Survey 
• Target population: "software practitioners" 
• Concise: 
• ~10 minutes to complete 
• 28 questions, 15 about last sketch 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
• Recruiting: 
• Network of colleagues and contacts 
• Social networks 
• IRC channels and online communities 
• Directly contacted software companies 
• Article on major German IT news website 
8
Participants 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
• n=394 
• 32 countries 
• 54% Germany 15% North America 
• 52% software developers, 22% software architects 
• Time spent developing software: 80% (median) 
• Professional work experience: 10 years (median) 
• Software projects from various application areas 
9
Results 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
10
Creation and Usage 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
11 
When did you create your last sketch/diagram? 
When did you use the last sketch/diagram created by some else? 
looked at, modified, 
extended 
<10 
minutes 
several 
minutes 
several 
hours 
several 
days 
several 
weeks 
>1 
year 
several 
months 
180 
160 
140 
120 
100 
80 
60 
40 
20 
0 
ago 
24% 27% 
same day 
63% 61% 
one week 
85% 78% 
one month 
Takeaway 1: 
Creating own sketches and using 
sketches created by others are 
frequent tasks among software 
practitioners.
Media 
What medium did you use to create the sketch/diagram? 
Tablet (0.8%) 
E-Whiteboard (1.5%) 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
12 
Whiteboard (40%) Paper (18%) Computer (39%) 
Analog (58%) Digital (42%)
Purpose 
60% 56% 
45% 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
13 
The sketch/diagram helped me to… 
(multiple answers possible) 
…design a new architecture (52%) 
…design new features (48%) 
…explain an issue to someone else (46%) 
…analyze requirements (45%) 
…understand an issue (44%) 
350 
300 
250 
200 
150 
100 
50 
0 
75% 
Design Explain Understand Requirements
Purpose 
60% 56% 
45% 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
14 
The sketch/diagram helped me to… 
(multiple answers possible) 
…design a new architecture (52%) 
…design new features (48%) 
…explain an issue to someone else (46%) 
…analyze requirements (45%) 
…understand an issue (44%) 
350 
300 
250 
200 
150 
100 
50 
0 
75% 
Design Explain Understand Requirements
Effort and Revision 
Revision: 
15% revised once, 
74% multiple times 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
15 
How much effective work time went into the creation and 
revision of the sketch/diagram up to now? 
180 
160 
140 
120 
100 
80 
60 
40 
20 
0 
<10 
minutes 
several 
minutes 
several 
hours 
several 
days 
> 5 
days 
work time 
68% 
less than 1 hour 
93% 
less than 8 hours 
Takeaway 2: 
Most sketches are created in less 
than one hour and are revised at 
least once.
Lifespan 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
16 
Please try to estimate the lifespan of the sketch/diagram 
(how long did/will you use it)? 
90 
80 
70 
60 
50 
40 
30 
20 
10 
0 
<10 
minutes 
ended 
immediately 
several 
minutes 
several 
hours 
several 
days 
several 
weeks 
several 
months 
>1 
year 
lifespan 
30% 
less than one day 
65% 
at least several days 
48% 
at least several weeks 
Takeaway 3: 
Almost half of the sketches are used for 
at least several weeks.
Formality and UML 
Please try to specify the formality of your sketch/diagram. 
To which degree does the sketch/diagram contain UML elements? 
100 0 100 200 
Count 
0 1 2 3 4 5 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
17 
HES 
Formality: 
(6-point Likert scale (0-5) from "very informal" to "very formal") 
UML: 
(6-point Likert scale (0-5) from "no UML elements" to "only UML elements") 
68% informal 
40% no UML 9% 
solely UML 
48% some UML 
Formality 
FOR 
UML 
UML 
200 100 0 100 
Count 
0 
1 
2 
3 
4 
Var. 5 
HEO 
Var. 
Count 
Takeaway 4: 
The majority of sketches and diagrams are informal. 
If UML is used, it is often mixed with other notations.
Relation to Source Code 
8% 9% 
Most specific artifact: 
20% 
23% 
17% 
19% 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
18 
Please select the software artifact(s) to which the content of 
the sketch/diagram is related? 
(multiple answers or no answer possible) 
Level of abstraction 
25% 
20% 
15% 
10% 
5% 
0% 
Statements Attributes Methods Classes Packages Projects
Relation to Source Code 
8% 9% 
Most specific artifact: 
20% 
23% 
17% 
19% 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
19 
Please select the software artifact(s) to which the content of 
the sketch/diagram is related? 
(multiple answers or no answer possible) 
Level of abstraction 
25% 
20% 
15% 
10% 
5% 
0% 
Statements Attributes Methods Classes Packages Projects
Relation to Source Code 
Help self: Do you think that the sketch/diagram could help you in the future 
… help other software developers … 
100 0 100 200 
100 0 100 200 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
20 
Count 
0 1 2 3 4 5 
Help self 
HES 
Help others 
HEO 
Var. 
Count 
0 1 2 3 4 5 
HES 
HEO 
Var. 
Count 
to understand the related source code artifact(s)? 
Help others: 
(6-point Likert scale (0-5) from "It will definitely not help " to "It will definitely help") 
52% and 47% Likert 4-5 
Takeaway 5: 
About half of the sketches are rated as 
helpful to understand the related source 
code artifact(s) in the future.
Archiving 
Three questions: 
1. Has the sketch/diagram been archived or will it be archived? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
21 
58% archived 
2. If the sketch has been archived or will be archived, why do 
you want to keep it? 
3. If the sketch has not been archived and won't be archived, 
why do you not want to keep it? 
• Answers analyzed using open coding 
• Extracted four categories for the answers to each question 
• One category for archiving practice
Archiving 
Whiteboard (40%) Paper (18%) Computer (39%) 
Analog (58%) Digital (42%) 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
22 
Not archived 
(62%) 
Archived 
(38%) 
Not archived 
(6%) 
Archived 
(94%) 
Tablet (0.8%) 
E-Whiteboard (1.5%) 
Takeaway 6: 
Most digital sketches, but also more than one 
third of the analog sketches, are archived.
Archiving – Why? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
23 
If the sketch has been archived or will be archived, why do you want to 
keep it? 
Documentation Future Use 
Understanding Visualization 
"It will be difficult 
to understand the 
code without the 
diagram." 
"[The code] can be quickly 
understood due to the 
visual representation 
without hours of digging 
through complex source 
code." 
"[The sketch] shows 
concepts that are not 
directly visible from 
code."
Archiving – Why? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
24 
If the sketch has been archived or will be archived, why do you want to 
keep it? 
Documentation Future Use 
Understanding Visualization 
Takeaway 7: 
Sketches are kept, because they document 
software, visualize it, and support its 
understanding.
Archiving – Why not? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
25 
If the sketch has not been archived and won't be archived, why do you not 
want to keep it? 
Served its purpose Substituted 
Outdated Technical Issue 
"I do want to keep the 
sketch, but I have no 
way to archive 
whiteboard drawings." 
"There is no good 
option to keep the 
sketch together 
with source code." 
"In case there 
was an easy way to 
combine both, code [...] 
and sketch I 
might have thought 
about archiving it."
Archiving – How? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
26
Summary 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
27
Takeaways 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
28 
• Creating own sketches/diagrams and using sketches/diagrams created 
by others are frequent tasks among software practitioners 
• Most sketches/diagrams are created in less than one hour and are 
revised at least once after creation 
• Almost half of the sketches/diagrams are used for at least several 
weeks 
• Majority of sketches/diagrams are informal 
• About half of the sketches/diagrams are rated as helpful to understand 
the related source code artifact(s) in the future 
• Most digital sketches/diagrams, but also more than one third of the 
analog ones, are archived 
• Sketches/diagrams document the implementation, visualize it, and 
support its understanding 
1 
2 
3 
4 
5 
6 
7
Conclusion 
• Software documentation is frequently poorly written and out of 
date 
[Forward02, Lethbridge03] 
• Sketches and diagrams could serve as a supplement to conventional 
documentation 
• Software practitioners are willing to keep their sketches and 
diagrams 
• Better tool support needed for archiving and retrieving sketches/ 
diagrams related to source code artifacts 
• Tools should support evolution of sketches/diagrams (and software) 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
29
Future Work 
What distinguishes helpful from not helpful sketches? 
What context information is required to understand sketches 
later? 
Do (informal) visualizations for certain source code artifacts share 
common characteristics? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
30 
Recommendations on how to create, augment, or 
annotate sketches so that they can serve as a 
valuable software documentation.
Questions? 
Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 
31 
Survey data and questionnaire 
available at: 
! 
http://st.uni-trier.de/! 
survey-sketches 
@s_baltes 
s.baltes@uni-trier.de 
Reviewed and accepted by 
Artifact Evaluation Commitee

More Related Content

Similar to Sketches and Diagrams in Practice (FSE'14)

Lesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptLesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptPabloAntonioSanMarti1
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineeringsmumbahelp
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineeringsmumbahelp
 
design_fundamental_new_.ppt
design_fundamental_new_.pptdesign_fundamental_new_.ppt
design_fundamental_new_.pptMohsenGhorbani9
 
Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?theinfonaut
 
Visual methods in UCD 2nd class
Visual methods in UCD 2nd classVisual methods in UCD 2nd class
Visual methods in UCD 2nd classMariana Salgado
 
Building a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case StudyBuilding a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case Studyuxpin
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
Part C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docxPart C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docxsmile790243
 
IT 700 Final Project Guidelines and RubricOverviewAs the fin.docx
IT 700 Final Project Guidelines and RubricOverviewAs the fin.docxIT 700 Final Project Guidelines and RubricOverviewAs the fin.docx
IT 700 Final Project Guidelines and RubricOverviewAs the fin.docxADDY50
 
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer CollaborationWhy Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer CollaborationAllison Corbett
 
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docxIT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docxcareyshaunda
 
Politics of design systems
Politics of design systemsPolitics of design systems
Politics of design systemsDani Nordin
 
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesPathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesTao Xie
 
IT 510 Final Project Guidelines and Rubric Overview .docx
IT 510 Final Project Guidelines and Rubric  Overview .docxIT 510 Final Project Guidelines and Rubric  Overview .docx
IT 510 Final Project Guidelines and Rubric Overview .docxpriestmanmable
 
Martin Lander 14 Resit Project – Globally Conscious Engineer .docx
Martin Lander 14  Resit Project – Globally Conscious Engineer .docxMartin Lander 14  Resit Project – Globally Conscious Engineer .docx
Martin Lander 14 Resit Project – Globally Conscious Engineer .docxinfantsuk
 
Btt 1 o8 ethical issues in developing technologies
Btt 1 o8 ethical issues in developing technologiesBtt 1 o8 ethical issues in developing technologies
Btt 1 o8 ethical issues in developing technologiesshanzehhh
 

Similar to Sketches and Diagrams in Practice (FSE'14) (20)

Lesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptLesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.ppt
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
design_fundamental_new_.ppt
design_fundamental_new_.pptdesign_fundamental_new_.ppt
design_fundamental_new_.ppt
 
Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?
 
Visual methods in UCD 2nd class
Visual methods in UCD 2nd classVisual methods in UCD 2nd class
Visual methods in UCD 2nd class
 
Building a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case StudyBuilding a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case Study
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Part C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docxPart C Developing Your Design SolutionThe Production Cycle.docx
Part C Developing Your Design SolutionThe Production Cycle.docx
 
Course Catalogue
Course CatalogueCourse Catalogue
Course Catalogue
 
Design Process
Design ProcessDesign Process
Design Process
 
Design process1
Design process1Design process1
Design process1
 
IT 700 Final Project Guidelines and RubricOverviewAs the fin.docx
IT 700 Final Project Guidelines and RubricOverviewAs the fin.docxIT 700 Final Project Guidelines and RubricOverviewAs the fin.docx
IT 700 Final Project Guidelines and RubricOverviewAs the fin.docx
 
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer CollaborationWhy Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
 
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docxIT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
 
Politics of design systems
Politics of design systemsPolitics of design systems
Politics of design systems
 
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and ChallengesPathways to Technology Transfer and Adoption: Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and Challenges
 
IT 510 Final Project Guidelines and Rubric Overview .docx
IT 510 Final Project Guidelines and Rubric  Overview .docxIT 510 Final Project Guidelines and Rubric  Overview .docx
IT 510 Final Project Guidelines and Rubric Overview .docx
 
Martin Lander 14 Resit Project – Globally Conscious Engineer .docx
Martin Lander 14  Resit Project – Globally Conscious Engineer .docxMartin Lander 14  Resit Project – Globally Conscious Engineer .docx
Martin Lander 14 Resit Project – Globally Conscious Engineer .docx
 
Btt 1 o8 ethical issues in developing technologies
Btt 1 o8 ethical issues in developing technologiesBtt 1 o8 ethical issues in developing technologies
Btt 1 o8 ethical issues in developing technologies
 

Recently uploaded

Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxSwapnil Therkar
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfnehabiju2046
 
Types of different blotting techniques.pptx
Types of different blotting techniques.pptxTypes of different blotting techniques.pptx
Types of different blotting techniques.pptxkhadijarafiq2012
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 

Recently uploaded (20)

Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdf
 
Types of different blotting techniques.pptx
Types of different blotting techniques.pptxTypes of different blotting techniques.pptx
Types of different blotting techniques.pptx
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 

Sketches and Diagrams in Practice (FSE'14)

  • 1. Sketches and Diagrams in Practice Sebastian Baltes and Stephan Diehl Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group @s_baltes s.baltes@uni-trier.de University of Trier, Germany 22nd International Symposium on Foundations of Software Engineering November 20, 2014, Hong Kong
  • 2. Sketches and Diagrams informal formal Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 2 Sketch Diagram
  • 3. Introduction Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 3 Past studies: Sketches and diagrams important in daily work of software developers Purpose: Understanding, designing, communicating [Cherubini07] Depict mental model of software [LaToza06] Teams improvise representations, sketches/diagrams often informal [Dekel07, Petre13] Medium: Whiteboard, paper, computer [Cherubini07, Walny11] Psychology: Sketching augments information processing, sketches are sources of creativity [Goldschmidt03, Tversky03]
  • 4. Our Goal Existing studies: • Concentrated on certain aspects • Single companies • Academic environment • Some had small number of participants Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 4 Our goal: Thorough description of how sketches and diagrams are used in software engineering practice Better tool support for integrating sketches and diagrams into software development process
  • 5. Our Goal Existing studies: • Concentrate on certain aspects • Single companies • Academia • Some had small number of participants Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 5 Our goal: Thorough description of how sketches and diagrams are used in software engineering practice Better tool support for integrating sketches and diagrams into software development process
  • 6. Research Design How to describe sketches and diagrams in SE practice? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 6
  • 7. Research Design Effort Contributors Archiving Formality Revision Lifespan Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 7 Existing Studies Exploratory Field Study 11 Dimensions 3 companies 13 developers 47 sketches Sketch Medium Context Relation to Source Code UML-Elements Purpose Online Survey purpose, media, formality, etc.
  • 8. Online Survey • Target population: "software practitioners" • Concise: • ~10 minutes to complete • 28 questions, 15 about last sketch Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group • Recruiting: • Network of colleagues and contacts • Social networks • IRC channels and online communities • Directly contacted software companies • Article on major German IT news website 8
  • 9. Participants Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group • n=394 • 32 countries • 54% Germany 15% North America • 52% software developers, 22% software architects • Time spent developing software: 80% (median) • Professional work experience: 10 years (median) • Software projects from various application areas 9
  • 10. Results Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 10
  • 11. Creation and Usage Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 11 When did you create your last sketch/diagram? When did you use the last sketch/diagram created by some else? looked at, modified, extended <10 minutes several minutes several hours several days several weeks >1 year several months 180 160 140 120 100 80 60 40 20 0 ago 24% 27% same day 63% 61% one week 85% 78% one month Takeaway 1: Creating own sketches and using sketches created by others are frequent tasks among software practitioners.
  • 12. Media What medium did you use to create the sketch/diagram? Tablet (0.8%) E-Whiteboard (1.5%) Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 12 Whiteboard (40%) Paper (18%) Computer (39%) Analog (58%) Digital (42%)
  • 13. Purpose 60% 56% 45% Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 13 The sketch/diagram helped me to… (multiple answers possible) …design a new architecture (52%) …design new features (48%) …explain an issue to someone else (46%) …analyze requirements (45%) …understand an issue (44%) 350 300 250 200 150 100 50 0 75% Design Explain Understand Requirements
  • 14. Purpose 60% 56% 45% Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 14 The sketch/diagram helped me to… (multiple answers possible) …design a new architecture (52%) …design new features (48%) …explain an issue to someone else (46%) …analyze requirements (45%) …understand an issue (44%) 350 300 250 200 150 100 50 0 75% Design Explain Understand Requirements
  • 15. Effort and Revision Revision: 15% revised once, 74% multiple times Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 15 How much effective work time went into the creation and revision of the sketch/diagram up to now? 180 160 140 120 100 80 60 40 20 0 <10 minutes several minutes several hours several days > 5 days work time 68% less than 1 hour 93% less than 8 hours Takeaway 2: Most sketches are created in less than one hour and are revised at least once.
  • 16. Lifespan Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 16 Please try to estimate the lifespan of the sketch/diagram (how long did/will you use it)? 90 80 70 60 50 40 30 20 10 0 <10 minutes ended immediately several minutes several hours several days several weeks several months >1 year lifespan 30% less than one day 65% at least several days 48% at least several weeks Takeaway 3: Almost half of the sketches are used for at least several weeks.
  • 17. Formality and UML Please try to specify the formality of your sketch/diagram. To which degree does the sketch/diagram contain UML elements? 100 0 100 200 Count 0 1 2 3 4 5 Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 17 HES Formality: (6-point Likert scale (0-5) from "very informal" to "very formal") UML: (6-point Likert scale (0-5) from "no UML elements" to "only UML elements") 68% informal 40% no UML 9% solely UML 48% some UML Formality FOR UML UML 200 100 0 100 Count 0 1 2 3 4 Var. 5 HEO Var. Count Takeaway 4: The majority of sketches and diagrams are informal. If UML is used, it is often mixed with other notations.
  • 18. Relation to Source Code 8% 9% Most specific artifact: 20% 23% 17% 19% Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 18 Please select the software artifact(s) to which the content of the sketch/diagram is related? (multiple answers or no answer possible) Level of abstraction 25% 20% 15% 10% 5% 0% Statements Attributes Methods Classes Packages Projects
  • 19. Relation to Source Code 8% 9% Most specific artifact: 20% 23% 17% 19% Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 19 Please select the software artifact(s) to which the content of the sketch/diagram is related? (multiple answers or no answer possible) Level of abstraction 25% 20% 15% 10% 5% 0% Statements Attributes Methods Classes Packages Projects
  • 20. Relation to Source Code Help self: Do you think that the sketch/diagram could help you in the future … help other software developers … 100 0 100 200 100 0 100 200 Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 20 Count 0 1 2 3 4 5 Help self HES Help others HEO Var. Count 0 1 2 3 4 5 HES HEO Var. Count to understand the related source code artifact(s)? Help others: (6-point Likert scale (0-5) from "It will definitely not help " to "It will definitely help") 52% and 47% Likert 4-5 Takeaway 5: About half of the sketches are rated as helpful to understand the related source code artifact(s) in the future.
  • 21. Archiving Three questions: 1. Has the sketch/diagram been archived or will it be archived? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 21 58% archived 2. If the sketch has been archived or will be archived, why do you want to keep it? 3. If the sketch has not been archived and won't be archived, why do you not want to keep it? • Answers analyzed using open coding • Extracted four categories for the answers to each question • One category for archiving practice
  • 22. Archiving Whiteboard (40%) Paper (18%) Computer (39%) Analog (58%) Digital (42%) Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 22 Not archived (62%) Archived (38%) Not archived (6%) Archived (94%) Tablet (0.8%) E-Whiteboard (1.5%) Takeaway 6: Most digital sketches, but also more than one third of the analog sketches, are archived.
  • 23. Archiving – Why? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 23 If the sketch has been archived or will be archived, why do you want to keep it? Documentation Future Use Understanding Visualization "It will be difficult to understand the code without the diagram." "[The code] can be quickly understood due to the visual representation without hours of digging through complex source code." "[The sketch] shows concepts that are not directly visible from code."
  • 24. Archiving – Why? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 24 If the sketch has been archived or will be archived, why do you want to keep it? Documentation Future Use Understanding Visualization Takeaway 7: Sketches are kept, because they document software, visualize it, and support its understanding.
  • 25. Archiving – Why not? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 25 If the sketch has not been archived and won't be archived, why do you not want to keep it? Served its purpose Substituted Outdated Technical Issue "I do want to keep the sketch, but I have no way to archive whiteboard drawings." "There is no good option to keep the sketch together with source code." "In case there was an easy way to combine both, code [...] and sketch I might have thought about archiving it."
  • 26. Archiving – How? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 26
  • 27. Summary Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 27
  • 28. Takeaways Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 28 • Creating own sketches/diagrams and using sketches/diagrams created by others are frequent tasks among software practitioners • Most sketches/diagrams are created in less than one hour and are revised at least once after creation • Almost half of the sketches/diagrams are used for at least several weeks • Majority of sketches/diagrams are informal • About half of the sketches/diagrams are rated as helpful to understand the related source code artifact(s) in the future • Most digital sketches/diagrams, but also more than one third of the analog ones, are archived • Sketches/diagrams document the implementation, visualize it, and support its understanding 1 2 3 4 5 6 7
  • 29. Conclusion • Software documentation is frequently poorly written and out of date [Forward02, Lethbridge03] • Sketches and diagrams could serve as a supplement to conventional documentation • Software practitioners are willing to keep their sketches and diagrams • Better tool support needed for archiving and retrieving sketches/ diagrams related to source code artifacts • Tools should support evolution of sketches/diagrams (and software) Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 29
  • 30. Future Work What distinguishes helpful from not helpful sketches? What context information is required to understand sketches later? Do (informal) visualizations for certain source code artifacts share common characteristics? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 30 Recommendations on how to create, augment, or annotate sketches so that they can serve as a valuable software documentation.
  • 31. Questions? Sebastian Baltes – Sketches and Diagrams in Practice Software Engineering Group 31 Survey data and questionnaire available at: ! http://st.uni-trier.de/! survey-sketches @s_baltes s.baltes@uni-trier.de Reviewed and accepted by Artifact Evaluation Commitee