SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
@s_baltes
s.baltes@uni-trier.de
Sketches and Diagrams in Practice
Sebastian Baltes and Stephan Diehl
University of Trier, Germany
Software Engineering 2015
Gesellschaft für Informatik
19. März 2015, Dresden
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Sketches and Diagrams
2
Sketch
Diagram
informal formal
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Introduction
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]
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Our Goal
4
Our goal: Thorough description of how sketches
and diagrams are used in software engineering
practice
Existing studies:
•  Concentrated on certain aspects
•  Single companies
•  Academic environment
•  Some had small number of participants
Better tool support for integrating sketches and
diagrams into software development process
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Our Goal
5
Our goal: Thorough description of how sketches
and diagrams are used in software engineering
practice
Existing studies:
•  Concentrate on certain aspects
•  Single companies
•  Academia
•  Some had small number of participants
Better tool support for integrating sketches and
diagrams into software development process
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Research Design
How to describe sketches and diagrams in SE practice?
6
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Research Design
7
Existing Studies Exploratory Field Study
11 Dimensions
3 companies
13 developers
47 sketches
Sketch
Medium
Context
Contributors
Relation to
Source Code
UML-Elements
Formality
Archiving
LifespanRevision
Purpose
Effort
Online Survey
purpose,
media,
formality, etc.
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Online Survey
•  Target population: "software practitioners"
•  Concise:
•  ~10 minutes to complete
•  28 questions, 15 about last sketch
•  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
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Participants
•  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
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Results
10
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Creation and Usage
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
0
20
40
60
80
100
120
140
160
180
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.
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Media
12
Whiteboard (40%) Paper (18%) Computer (39%)
Analog (58%) Digital (42%)
What medium did you use to create the sketch/diagram?
Tablet (0.8%)
E-Whiteboard (1.5%)
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Purpose
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%)
0
50
100
150
200
250
300
350
Design Explain Understand Requirements
75%
60%
56%
45%
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Purpose
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%)
0
50
100
150
200
250
300
350
Design Explain Understand Requirements
75%
60%
56%
45%
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Effort and Revision
15
How much effective work time went into the creation and
revision of the sketch/diagram up to now?
0
20
40
60
80
100
120
140
160
180
<10
minutes
several
minutes
several
hours
several
days
> 5
days
work time
93%
less than 8 hours
68%
less than 1 hour
 
Takeaway 2:
Most sketches are created in less
than one hour and are revised at
least once.
Revision:
15% revised once,
74% multiple times
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Lifespan
16
Please try to estimate the lifespan of the sketch/diagram
(how long did/will you use it)?
0
10
20
30
40
50
60
70
80
90
<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.
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Formality and UML
17
Formality:
(6-point Likert scale (0-5) from "very informal" to "very formal")
Please try to specify the formality of your sketch/diagram.
UML:
(6-point Likert scale (0-5) from "no UML elements" to "only UML elements")
To which degree does the sketch/diagram contain UML elements?
68% informal
40% no UML 9%
solely UML
48% some UML
UML
FOR
200 100 0 100
Count
0
1
2
3
4
5Var.
Count
100 0 100 200
0 1 2 3 4 5
HEO
HES
Var.
Count
Formality
UML
 
Takeaway 4:
The majority of sketches and diagrams are informal.
If UML is used, it is often mixed with other notations.
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Relation to Source Code
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
0%
5%
10%
15%
20%
25%
Statements Attributes Methods Classes Packages Projects
9%
8%
20%
23%
17%
19%
Most specific artifact:
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Relation to Source Code
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
0%
5%
10%
15%
20%
25%
Statements Attributes Methods Classes Packages Projects
9%
8%
20%
23%
17%
19%
Most specific artifact:
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Relation to Source Code
20
Count
100 0 100 200
0 1 2 3 4 5
HEO
HES
Var.
Count
100 0 100 200
0 1 2 3 4 5
HEO
HES
Var.
Count
Help self
Help others
Help self: Do you think that the sketch/diagram could help you in the future
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")
… help other software developers …
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.
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Archiving
21
58% archived
1. Has the sketch/diagram been archived or will it be 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?
Three questions:
•  Answers analyzed using an approach based on open coding
•  Extracted four categories for the answers to each question
•  One category for archiving practice
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Archiving
22
Not archived
(62%)
Archived
(38%)
Not archived
(6%)
Archived
(94%)
Analog (58%) Digital (42%) 
Takeaway 6:
Most digital sketches, but also more than one
third of the analog sketches, are archived.
Whiteboard (40%) Paper (18%) Computer (39%)
Tablet (0.8%)
E-Whiteboard (1.5%)
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Archiving – Why?
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."
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Archiving – Why?
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.
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Archiving – Why not?
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."
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Archiving – How?
26
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Summary
27
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Takeaways
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
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
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)
29
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Future Work
30
Recommendations on how to create, augment, or
annotate sketches so that they can serve as a
valuable software documentation.
What distinguishes helpful from not helpful sketches?
Do (informal) visualizations for certain source code artifacts share
common characteristics?
What context information is required to understand sketches
later?
Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice
Questions?
31
Survey data and questionnaire
available at:
!
http://st.uni-trier.de/!
survey-sketches
@s_baltes
s.baltes@uni-trier.de
Consist
ent * Complete
*
WellDocume
nted*Easyto
R
euse*
*
Evaluate
d
*FSE*
Artifact
*
AEC
Video of prototype available at:
!
http://st.uni-trier.de/!
sketchlink
SketchLink

Más contenido relacionado

Similar a Sketches and Diagrams in Practice (SE'15)

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
 
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
 
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
 
CAD Presentation on Robberspace Technologies
CAD Presentation  on Robberspace TechnologiesCAD Presentation  on Robberspace Technologies
CAD Presentation on Robberspace TechnologiesDilip kumar
 
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
 
The original 'Double Diamond' design methodbank
The original 'Double Diamond' design methodbank The original 'Double Diamond' design methodbank
The original 'Double Diamond' design methodbank Andrea Cooper
 
Data Visualization and Dashboard Design
Data Visualization and Dashboard DesignData Visualization and Dashboard Design
Data Visualization and Dashboard DesignJacques Warren
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdfAkilaGamage2
 
Visual methods in UCD 2nd class
Visual methods in UCD 2nd classVisual methods in UCD 2nd class
Visual methods in UCD 2nd classMariana Salgado
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)stanbridge
 
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
 
Vector to Bitmap Workflow for Surface Designers
Vector to Bitmap Workflow for Surface DesignersVector to Bitmap Workflow for Surface Designers
Vector to Bitmap Workflow for Surface DesignersElaine Polvinen
 
Lm techdrafting-140627062120-phpapp02
Lm techdrafting-140627062120-phpapp02Lm techdrafting-140627062120-phpapp02
Lm techdrafting-140627062120-phpapp02JicelleBayan
 
Technical Drafting Learning Module v.2.0
Technical Drafting Learning Module v.2.0Technical Drafting Learning Module v.2.0
Technical Drafting Learning Module v.2.0Bogs De Castro
 
Unlocking the Secrets to Designing Faster, Smarter, and Lighter
Unlocking the Secrets to Designing Faster, Smarter, and LighterUnlocking the Secrets to Designing Faster, Smarter, and Lighter
Unlocking the Secrets to Designing Faster, Smarter, and LighterDesign World
 
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
 

Similar a Sketches and Diagrams in Practice (SE'15) (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
 
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
 
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?
 
CAD Presentation on Robberspace Technologies
CAD Presentation  on Robberspace TechnologiesCAD Presentation  on Robberspace Technologies
CAD Presentation on Robberspace Technologies
 
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
 
The original 'Double Diamond' design methodbank
The original 'Double Diamond' design methodbank The original 'Double Diamond' design methodbank
The original 'Double Diamond' design methodbank
 
Data Visualization and Dashboard Design
Data Visualization and Dashboard DesignData Visualization and Dashboard Design
Data Visualization and Dashboard Design
 
Workshop – UI audit of Mall.cz – May 2019, Brno
Workshop – UI audit of Mall.cz – May 2019, BrnoWorkshop – UI audit of Mall.cz – May 2019, Brno
Workshop – UI audit of Mall.cz – May 2019, Brno
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdf
 
Visual methods in UCD 2nd class
Visual methods in UCD 2nd classVisual methods in UCD 2nd class
Visual methods in UCD 2nd class
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
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
 
Vector to Bitmap Workflow for Surface Designers
Vector to Bitmap Workflow for Surface DesignersVector to Bitmap Workflow for Surface Designers
Vector to Bitmap Workflow for Surface Designers
 
Lm techdrafting-140627062120-phpapp02
Lm techdrafting-140627062120-phpapp02Lm techdrafting-140627062120-phpapp02
Lm techdrafting-140627062120-phpapp02
 
Technical Drafting Learning Module v.2.0
Technical Drafting Learning Module v.2.0Technical Drafting Learning Module v.2.0
Technical Drafting Learning Module v.2.0
 
Unlocking the Secrets to Designing Faster, Smarter, and Lighter
Unlocking the Secrets to Designing Faster, Smarter, and LighterUnlocking the Secrets to Designing Faster, Smarter, and Lighter
Unlocking the Secrets to Designing Faster, Smarter, and Lighter
 
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
 

Último

Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticssakshisoni2385
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencySheetal Arora
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bSérgio Sacani
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINsankalpkumarsahoo174
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
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
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
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
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 

Último (20)

Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
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
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
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
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
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
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 

Sketches and Diagrams in Practice (SE'15)

  • 1. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice @s_baltes s.baltes@uni-trier.de Sketches and Diagrams in Practice Sebastian Baltes and Stephan Diehl University of Trier, Germany Software Engineering 2015 Gesellschaft für Informatik 19. März 2015, Dresden
  • 2. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Sketches and Diagrams 2 Sketch Diagram informal formal
  • 3. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Introduction 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Our Goal 4 Our goal: Thorough description of how sketches and diagrams are used in software engineering practice Existing studies: •  Concentrated on certain aspects •  Single companies •  Academic environment •  Some had small number of participants Better tool support for integrating sketches and diagrams into software development process
  • 5. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Our Goal 5 Our goal: Thorough description of how sketches and diagrams are used in software engineering practice Existing studies: •  Concentrate on certain aspects •  Single companies •  Academia •  Some had small number of participants Better tool support for integrating sketches and diagrams into software development process
  • 6. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Research Design How to describe sketches and diagrams in SE practice? 6
  • 7. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Research Design 7 Existing Studies Exploratory Field Study 11 Dimensions 3 companies 13 developers 47 sketches Sketch Medium Context Contributors Relation to Source Code UML-Elements Formality Archiving LifespanRevision Purpose Effort Online Survey purpose, media, formality, etc.
  • 8. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Online Survey •  Target population: "software practitioners" •  Concise: •  ~10 minutes to complete •  28 questions, 15 about last sketch •  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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Participants •  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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Results 10
  • 11. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Creation and Usage 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 0 20 40 60 80 100 120 140 160 180 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Media 12 Whiteboard (40%) Paper (18%) Computer (39%) Analog (58%) Digital (42%) What medium did you use to create the sketch/diagram? Tablet (0.8%) E-Whiteboard (1.5%)
  • 13. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Purpose 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%) 0 50 100 150 200 250 300 350 Design Explain Understand Requirements 75% 60% 56% 45%
  • 14. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Purpose 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%) 0 50 100 150 200 250 300 350 Design Explain Understand Requirements 75% 60% 56% 45%
  • 15. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Effort and Revision 15 How much effective work time went into the creation and revision of the sketch/diagram up to now? 0 20 40 60 80 100 120 140 160 180 <10 minutes several minutes several hours several days > 5 days work time 93% less than 8 hours 68% less than 1 hour   Takeaway 2: Most sketches are created in less than one hour and are revised at least once. Revision: 15% revised once, 74% multiple times
  • 16. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Lifespan 16 Please try to estimate the lifespan of the sketch/diagram (how long did/will you use it)? 0 10 20 30 40 50 60 70 80 90 <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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Formality and UML 17 Formality: (6-point Likert scale (0-5) from "very informal" to "very formal") Please try to specify the formality of your sketch/diagram. UML: (6-point Likert scale (0-5) from "no UML elements" to "only UML elements") To which degree does the sketch/diagram contain UML elements? 68% informal 40% no UML 9% solely UML 48% some UML UML FOR 200 100 0 100 Count 0 1 2 3 4 5Var. Count 100 0 100 200 0 1 2 3 4 5 HEO HES Var. Count Formality UML   Takeaway 4: The majority of sketches and diagrams are informal. If UML is used, it is often mixed with other notations.
  • 18. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Relation to Source Code 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 0% 5% 10% 15% 20% 25% Statements Attributes Methods Classes Packages Projects 9% 8% 20% 23% 17% 19% Most specific artifact:
  • 19. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Relation to Source Code 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 0% 5% 10% 15% 20% 25% Statements Attributes Methods Classes Packages Projects 9% 8% 20% 23% 17% 19% Most specific artifact:
  • 20. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Relation to Source Code 20 Count 100 0 100 200 0 1 2 3 4 5 HEO HES Var. Count 100 0 100 200 0 1 2 3 4 5 HEO HES Var. Count Help self Help others Help self: Do you think that the sketch/diagram could help you in the future 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") … help other software developers … 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Archiving 21 58% archived 1. Has the sketch/diagram been archived or will it be 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? Three questions: •  Answers analyzed using an approach based on open coding •  Extracted four categories for the answers to each question •  One category for archiving practice
  • 22. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Archiving 22 Not archived (62%) Archived (38%) Not archived (6%) Archived (94%) Analog (58%) Digital (42%)  Takeaway 6: Most digital sketches, but also more than one third of the analog sketches, are archived. Whiteboard (40%) Paper (18%) Computer (39%) Tablet (0.8%) E-Whiteboard (1.5%)
  • 23. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Archiving – Why? 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Archiving – Why? 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Archiving – Why not? 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Archiving – How? 26
  • 27. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Summary 27
  • 28. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Takeaways 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. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice 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) 29
  • 30. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Future Work 30 Recommendations on how to create, augment, or annotate sketches so that they can serve as a valuable software documentation. What distinguishes helpful from not helpful sketches? Do (informal) visualizations for certain source code artifacts share common characteristics? What context information is required to understand sketches later?
  • 31. Software Engineering GroupSebastian Baltes – Sketches and Diagrams in Practice Questions? 31 Survey data and questionnaire available at: ! http://st.uni-trier.de/! survey-sketches @s_baltes s.baltes@uni-trier.de Consist ent * Complete * WellDocume nted*Easyto R euse* * Evaluate d *FSE* Artifact * AEC Video of prototype available at: ! http://st.uni-trier.de/! sketchlink SketchLink