SlideShare une entreprise Scribd logo
1  sur  47
INF219 – Software
Environments
University of California, Irvine
Spring/2014
Marco Aurélio Gerosa
Second class
Understanding a problem:
Empirical Evaluation of Software Environments
Creating a new tool
Inventor-oriented development of a tool
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 3
Clipart from http://www.clker.com/
My tool is great!
Issues
- Are you a typical developer? Really?
- How do you know that your “problem” is really a problem?
- How do you know the extension of your problem?
- How do you know that you actually solved or mitigated the
problem?
- How do you identify collateral effects of your solution?
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 4
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 5
Most of the developed tools
are never used in practice…
Answer
Conduct empirical/experimental studies
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 6
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 7
Why and when to do empirical studies
while developing tools for software
environments?
Researcher-based development of a
tool
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 8
Understand
Confirm (if necessary)
Prototype
Evaluate
Survey
Empirical Research vs Pure
Invention
Research is more solid, systematic, and based on relatively low biased data
But, it takes more time and it can refrain creativity
In practice, try to reach a balance
However, if you want to publish, nowadays you really need to overkill – but it is how
science works
Remember:
“If I had asked people what they wanted, they would have said faster horses.”
(Henry Ford)
You can avoid that if you collect the right data using the right means
Also, you may understand better the real context and effects of the tool, making a better
case for the tool adoption
◦ How many tools end up not being used?
◦ 80s SigChi bulletin: ~90% of evaluative studies found no benefits of tool
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 9
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Types of empirical studies
Goal
Exploratory
◦ define and understand problems and raise
hypotheses
Descriptive
◦ describe a situation
Confirmatory / causal / explanatory
◦ test hypotheses
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 10
Objects of analysis
Quantitative
◦ Numerical measurements / analysis
Qualitative
◦ Interpretive data acquisition / analysis
What kinds of research can be used?
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 11
- Exploratory?
- Descriptive?
- Causal?
- Quantitative?
- Qualitative?
Empirical research
Studies provide evidences for or against theories
Theories of developer activity
A model describing the strategy by which developers frequently do an activity that
describes problems that can be addressed (“design implications”) through a better
designed tool, language, or process that more effectively supports this strategy.
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 12
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Models &
theories
Reality
Evidences
Scientific
study
Exercise
Let’s improve how developers design
software systems
How can we do that in a research-based way?
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 13
A single study will not answer all
questions
- Set scope
- Describe limitations of study
- Pick population to recruit participants from
- Plan follow-up complementary studies
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 14
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Remember!
Research
Methods
Example of a cycle
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 16
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Some methods for exploratory
studies
• Field observations / ethnography
• Observe developers at work in the field
• Surveys
• Ask many developers specific questions
• Interviews
• Ask a few developers open-ended questions
• Contextual inquiry
• Ask questions while developers work
• Indirect observations
• Study artifacts (e.g., code, code history, bugs, emails, ...)
To do high quality studies is quite difficult, but even quick-and-dirty ones can
provide useful [Check the literature for additional guidelines]
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 17
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Field observations / ethnography
Find software developers
◦ Pick developers likely to be doing relevant work
Watch developers do their work in their office
Ask developers to think-aloud
◦ Stream of consciousness: whatever they are thinking about
◦ Thoughts, ideas, questions, hypotheses, etc.
Register it
◦ Sometimes can be invasive, but permits detailed analysis
◦ Audio: can analyze tasks, questions, goals, timing
◦ Video: can analyze navigation, tool use, strategies
◦ Notes: high level view of task, interesting observations
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 18
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Surveys
• Can reach many (100s, 1000s) developers
• Websites to run surveys (e.g., SurveyMonkey, Google Docs)
• Find participants
• Probabilistic sampling is only possible for small and well defined population (e.g. within
a company)
• Snowball sampling (mailing list, twitter etc.)
• Prepare multiple choice & free response questions
• Multiple choice: faster, standardized response
• Free response: more time, more detail, open-ended
• Background & demographics questions
• E.g., experience, time in team, state of project, ....
• Open comments
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 19
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Semi-structured interviews
Define a script
Prompt developer with question on focus areas
◦ Let developer talk
◦ Follow to lead discussion towards interesting topics
Manage time
◦ Move to next topic to ensure all topics covered
It is hard to not bias the interviewee
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 20
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Contextual inquiry
Interview while doing field observations
Learn about environment, work, tasks, culture, breakdowns
Principles of contextual inquiry
◦ Context - understand work in natural environment
◦ Ask to see current work being done
◦ Seek concrete data - ask to show work, not tell
◦ Bad: usually, generally
◦ Good: Here’s how, let me show you
◦ Partnership - close collaboration with user
◦ User is the expert
◦ Interpretation - make sense of work activity
◦ Rephrase, ask for examples, question terms & concepts
◦ Focus - perspective that defines questions of interest
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 21
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Indirect observations
Indirect record of developer activity
Examples of artifacts (where to get it)
◦ Code & code changes (version control systems)
◦ Code changes
◦ Bugs (bug tracking software)
◦ Emails (project mailing lists, help lists for APIs)
You can also collect data from instrumented tool (e.g., Hackstat)
Advantage:
◦ Lots of data, easy to obtain
Disadvantages:
◦ Can only observe what is in the data
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 22
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Examples
Which methods would you use in these situations?
1. You’d like to design a tool to help web developers reuse code more easily.
2. You’d like to help developers better prioritize bugs to be fixed.
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 23
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
• Field observations?
• Surveys?
• Interviews?
• Contextual inquiry?
• Indirect observations?
Evaluation
Ok, you figured out a problem and conceived a tool.
But is this the right tool? Would it really help?
Which features are most important to implement?
Solution: low cost evaluation studies
◦ Evaluate mockups and prototypes before you build the tool!
Tool isn’t helpful: come up with a new idea
Users have problems using tool: fix the problems
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 24
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Low cost evaluation methods
Paper prototyping
◦ Do tasks on paper mockups of real tool
◦ Simulate tool on paper
Wizard of Oz
◦ Simulate tool by computing results by hand
Heuristic evaluation
◦ Assess tool for good usability design
Cognitive walkthrough
◦ Simulate actions needed to complete task
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 25
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Paper prototyping
Build paper mockup of the tool
◦ May be rough sketch or realistic screenshots
Often surprisingly effective
Experimenter plays the computer
◦ Experimenter simulates tool by adding / changing papers
Good for checking if user
◦ Understands interface terminology
◦ Commands users want match actual commands
◦ Understands what tool does
◦ Finds the tool useful
Challenges - must anticipate commands used
◦ Iteratively add commands from previous participants
◦ Prompt users to try it a different way
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 26
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Wizard of Oz
Participant believes (or pretends) to interact with real tool
◦ Experimenter simulates (behind the curtain) tool
◦ Computes data used by tool by hand
Participant’s computer is “slave” to experimenter’s computer
Especially for AI and other hard-to-implement systems
◦ E.g.: Voice user interface - experimenter translates speech to text
Advantages
◦ High fidelity - user can use actual tool before it’s built
Disadvantages
◦ Requires working GUI, unlike paper prototypes
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 27
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Prototyping
• Paper
• Implemented UI (no business
logic)
• Wizard of Oz
• Implemented prototype
• Real system
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 28
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Increasedfidelity
Better if sketchier for early design
- Use paper or “sketchy” tools, not real widgets
- People focus on wrong issues: colors,
alignment, names
- Rather than overall structure and
fundamental design
Heuristic evaluation [Nielsen]
Multiple evaluators use dimensions to identify usability problems
Evaluators aggregate problems & clarify
Structured assessment based on experience
Problems may be are categorized according to their estimated impact on user
performance or acceptance
Examples of heuristics: (Jakob Nielsen)
◦ Visibility of system status; Match between system and the real world; User control and
freedom; Consistency and standards; Error prevention; Recognition rather than recall;
Flexibility and efficiency of use; Aesthetic and minimalist design; Help users recognize,
diagnose, and recover from errors; Help and documentation
Advantage:
◦ Users are not necessary
Disadvantage
◦ Highly influenced by the knowledge of the expert reviewer
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 29
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Cognitive walkthrough
How easy it is for new users to accomplish tasks with the system?
Cognitive walkthrough is task-specific
Task analysis - sequence of actions required by a user to accomplish a task and the
responses from the system to those actions
Evaluators walk through the steps, asking themselves a set of questions
◦ Will the user try to achieve the effect that the subtask has? Does the user understand that
this subtask is needed to reach the user's goal?
◦ Will the user notice that the correct action is available?
◦ Will the user understand that the wanted subtask can be achieved by the action?
◦ Does the user get feedback? Will the user know that they have done the right thing after
performing the action?
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 30
Exercise
How would you use the evaluation methods in this situation?
You’re designing a new notation for visualizing software
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 31
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Codecity: http://www.inf.usi.ch/phd/wettel/codecity.html
Paper prototyping
Wizard of Oz
Heuristic evaluation
Cognitive walkthrough
More robust evaluations
You want to write a paper claiming that your tool is useful
You want to get a company to try it out.
Solution: run a higher cost, but more convincing evaluation study
Lab experiments - controlled experiment to compare tools
◦ Measure differences of your tool w/ competitors
◦ Usually based on quantitative evidence
Field deployments
◦ Users try your tool in their own work
◦ Data: usefulness perceptions, how use tool
◦ Can be more qualitative
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 32
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Lab studies
Users complete tasks using your tool or competitors
◦ Within subjects design - all participants use both
◦ Between subjects design - participants use one
Typical measures - time, bugs, quality, user perception
◦ Also measures from exploratory observations (think-aloud)
◦ More detailed measures = better understood results
Advantage
◦ Controlled experiment (more precision)
Disadvantages
◦ Less realism and generalizability
◦ Users still learning how to use tool, unfamiliar with code
◦ Benefits may require longer task
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 33
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Field deployments
Give your tool to developers. See how they use it
Low control, more realism
Data collection: interviews, logging data, observations
Qualitative measures
◦ Perception: do they like the tool?
◦ Use frequency: how often do they use it?
◦ Uses: how do they use it? what questions? tasks? why?
◦ Wishes: what else would they like to use it for?
Quantitative comparison is possible, but it is hard
◦ Different tasks, users, code
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 34
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Analysis
Techniques for qualitative data
analysis
Contextual design
◦ Set of models for understanding how work is done
Content analysis / grounded theory
◦ Technique for analyzing texts
◦ Used both to find patterns in data & convert to quantitative data
Process models
◦ Models of steps users do in a task
Taxonomies
◦ What things exist, how are they different, and how are they related?
Affinity diagrams
◦ Technique for synthesizing many disparate observations or interpretations into a coherent
whole
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 36
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Quantitative data analysis
Frequency
◦ How often do things occur? (counts, %s, avg times, ...)
◦ Descriptive statistics
Correlational
◦ How are multiple variables related? (correlations, ....)
◦ Estimate variable x from variables a, b, c (regression, classifiers, ....)
Controlled experiment (causal)
◦ Statistical test
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 37
Qualitative vs. quantitative
Qualitative analysis most useful for
◦ Figuring out what’s there, what’s being done
◦ What’s important?
◦ How are things done?
◦ Why is person doing / using / thinking something?
Limitations
◦ Small n: few examples, may not generalize
◦ Interpretations could be biased
Quantitative analysis most useful for
◦ Testing hypotheses
◦ Investigating relationships between variables
◦ Predicting
Limitations
◦ Lack interpretation
Therefore, great studies mix both approaches
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 38
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Other aspects of
a scientific study
What to observe
Learning a new tool
Pilot studies
IRB Approval
Maximize validity
◦ more participants, data collected,
measures
◦ longer tasks
◦ more realistic conditions
Minimize cost
◦ fewer participants, data collected,
measures
◦ shorter tasks
◦ less realistic, easier to replicate
conditions
Studies are not proofs - results could
always be invalid
◦ Software Engineering is very context
dependent
◦ Don’t sample all developers x tasks x
situations, and measures are
imperfect
Search results that are
◦ interesting
◦ relevant to research questions
◦ valid enough so that your target
audience believes them
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 40
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Some types of validity
Validity = should we believe the results?
Construct validity
◦ Does measure correspond to construct or something else?
External validity
◦ Do results generalize from participants to population?
Internal validity
◦ Are the differences between conditions caused only by experimental manipulation and
not other variables? (confounds)
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 41
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
See also:
https://en.wikipedia.org/wiki/Bias_(statistics)
https://en.wikipedia.org/wiki/Cognitive_bias
Conclusion
Final considerations
Field studies of programmers reveal interesting new areas for tool research and development
◦ Can focus research on important problems
◦ Design from Data about real problems, barriers, opportunities
Following research methods will result in better quality tools
◦ More usable, effective, etc.
Software Engineering tools and methods often benefit from valid evaluation with people
◦ Need real evidence to answer questions about what is better/faster/easier
◦ Often demanded by reviewers
◦ Relevant to any claims of better/faster/easier for people
◦ There are valid evaluation criteria beyond “Taste”, “Intuition”, “My experience,” and
anecdotes
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 43
LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
Summary
• Pure invention x empirical research approach for developing innovative tools
• When to do empirical studies
• Types of empirical studies
• Research methods
• exploratory studies
• low cost evaluation
• robust evaluation
• Qualitative and quantitative analysis
• Some points to observe when conducting studies
• Validity
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 44
To Do
• Define the groups and the topic of your seminar
• Read the papers assigned for the 3rd class (check your group):
• http://www.ime.usp.br/~gerosa/classes/uci/inf219
• Produce the slides-based summary for the two papers
“Wherever you go, go with all your heart.” (Confucius)
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 45
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 46
Thank you!
See you next class
Marco Gerosa
Web site: http://www.ime.usp.br/~gerosa
Email: mgerosa@uci.edu / gerosa@ime.usp.br
Office: DBH 5228 (by appointment)
Acknowledgments
This class was based on the slides from Thomas LaToza:
• http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-
HCI%20Methods%201.pdf
• http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture03-
HCI%20Methods%202.pdf
Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 47

Contenu connexe

Tendances

empirical software engineering, v2.0
empirical software engineering, v2.0empirical software engineering, v2.0
empirical software engineering, v2.0CS, NcState
 
Selecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringSelecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringDaniel Cukier
 
Validity and Reliability of the Research Instrument; How to Test the Validati...
Validity and Reliability of the Research Instrument; How to Test the Validati...Validity and Reliability of the Research Instrument; How to Test the Validati...
Validity and Reliability of the Research Instrument; How to Test the Validati...Hamed Taherdoost
 
Basic vs Applied Research
Basic vs Applied ResearchBasic vs Applied Research
Basic vs Applied Researchschool
 
Confidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power AnalysisConfidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power AnalysisStatistics Solutions
 
Confidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power AnalysisConfidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power AnalysisStatistics Solutions
 
Survey Research in Software Engineering
Survey Research in Software EngineeringSurvey Research in Software Engineering
Survey Research in Software EngineeringDaniel Mendez
 
General Tips to Fast-Track Your Quantitative Methodology
General Tips to Fast-Track Your Quantitative MethodologyGeneral Tips to Fast-Track Your Quantitative Methodology
General Tips to Fast-Track Your Quantitative MethodologyStatistics Solutions
 
Analytic emperical Mehods
Analytic emperical MehodsAnalytic emperical Mehods
Analytic emperical MehodsM Surendar
 
Case studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learntCase studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learntDaniel Mendez
 
Kuliah 5 design of quantitative reseach_2012
Kuliah 5 design of quantitative reseach_2012Kuliah 5 design of quantitative reseach_2012
Kuliah 5 design of quantitative reseach_2012syahidov1924
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 
Unit 3 booklet (resistance)
Unit 3 booklet (resistance)Unit 3 booklet (resistance)
Unit 3 booklet (resistance)mrrayner
 
research methodology (fyp)
research methodology (fyp)research methodology (fyp)
research methodology (fyp)Lim
 
Business research (1)
Business research (1)Business research (1)
Business research (1)007donmj
 
Pharmacy Capstone 6 2 2016
Pharmacy Capstone 6 2 2016Pharmacy Capstone 6 2 2016
Pharmacy Capstone 6 2 2016Linda Galloway
 
In Quest of Requirements Engineering Research that Industry Needs
In Quest of Requirements Engineering Research that Industry NeedsIn Quest of Requirements Engineering Research that Industry Needs
In Quest of Requirements Engineering Research that Industry NeedsDaniel Mendez
 

Tendances (20)

empirical software engineering, v2.0
empirical software engineering, v2.0empirical software engineering, v2.0
empirical software engineering, v2.0
 
Selecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringSelecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software Engineering
 
Validity and Reliability of the Research Instrument; How to Test the Validati...
Validity and Reliability of the Research Instrument; How to Test the Validati...Validity and Reliability of the Research Instrument; How to Test the Validati...
Validity and Reliability of the Research Instrument; How to Test the Validati...
 
Basic vs Applied Research
Basic vs Applied ResearchBasic vs Applied Research
Basic vs Applied Research
 
Confidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power AnalysisConfidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power Analysis
 
Confidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power AnalysisConfidently Conduct and Write Your Power Analysis
Confidently Conduct and Write Your Power Analysis
 
Survey Research in Software Engineering
Survey Research in Software EngineeringSurvey Research in Software Engineering
Survey Research in Software Engineering
 
General Tips to Fast-Track Your Quantitative Methodology
General Tips to Fast-Track Your Quantitative MethodologyGeneral Tips to Fast-Track Your Quantitative Methodology
General Tips to Fast-Track Your Quantitative Methodology
 
Research design
Research designResearch design
Research design
 
Research Process design
Research Process designResearch Process design
Research Process design
 
Analytic emperical Mehods
Analytic emperical MehodsAnalytic emperical Mehods
Analytic emperical Mehods
 
Case studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learntCase studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learnt
 
Kuliah 5 design of quantitative reseach_2012
Kuliah 5 design of quantitative reseach_2012Kuliah 5 design of quantitative reseach_2012
Kuliah 5 design of quantitative reseach_2012
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
Unit 3 booklet (resistance)
Unit 3 booklet (resistance)Unit 3 booklet (resistance)
Unit 3 booklet (resistance)
 
research methodology (fyp)
research methodology (fyp)research methodology (fyp)
research methodology (fyp)
 
Business research (1)
Business research (1)Business research (1)
Business research (1)
 
Pharmacy Capstone 6 2 2016
Pharmacy Capstone 6 2 2016Pharmacy Capstone 6 2 2016
Pharmacy Capstone 6 2 2016
 
In Quest of Requirements Engineering Research that Industry Needs
In Quest of Requirements Engineering Research that Industry NeedsIn Quest of Requirements Engineering Research that Industry Needs
In Quest of Requirements Engineering Research that Industry Needs
 
Opponents' questions from doctoral defense of Yue Dai
Opponents' questions from doctoral defense of Yue DaiOpponents' questions from doctoral defense of Yue Dai
Opponents' questions from doctoral defense of Yue Dai
 

En vedette

Control Virtual Server Sprawl with HP Software
Control Virtual Server Sprawl with HP SoftwareControl Virtual Server Sprawl with HP Software
Control Virtual Server Sprawl with HP Software1CloudRoad.com
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology
 
Monte Carlo Simulation Of Heston Model In Matlab(1)
Monte Carlo Simulation Of Heston Model In Matlab(1)Monte Carlo Simulation Of Heston Model In Matlab(1)
Monte Carlo Simulation Of Heston Model In Matlab(1)Amir Kheirollah
 
Global 8D Problem Solving Process Training Module
Global 8D Problem Solving Process Training ModuleGlobal 8D Problem Solving Process Training Module
Global 8D Problem Solving Process Training ModuleFrank-G. Adler
 
Identifying An Empirical Research Article
Identifying An Empirical Research ArticleIdentifying An Empirical Research Article
Identifying An Empirical Research Articlewsuinst
 
Study design in research
Study design in  research Study design in  research
Study design in research Kusum Gaur
 

En vedette (9)

Control Virtual Server Sprawl with HP Software
Control Virtual Server Sprawl with HP SoftwareControl Virtual Server Sprawl with HP Software
Control Virtual Server Sprawl with HP Software
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software Development
 
Library science
Library science Library science
Library science
 
Monte Carlo Simulation Of Heston Model In Matlab(1)
Monte Carlo Simulation Of Heston Model In Matlab(1)Monte Carlo Simulation Of Heston Model In Matlab(1)
Monte Carlo Simulation Of Heston Model In Matlab(1)
 
Global 8D Problem Solving Process Training Module
Global 8D Problem Solving Process Training ModuleGlobal 8D Problem Solving Process Training Module
Global 8D Problem Solving Process Training Module
 
Identifying An Empirical Research Article
Identifying An Empirical Research ArticleIdentifying An Empirical Research Article
Identifying An Empirical Research Article
 
Study design in research
Study design in  research Study design in  research
Study design in research
 
Case study Research
Case study Research Case study Research
Case study Research
 
Types of Research Designs RS Mehta
Types of Research Designs RS MehtaTypes of Research Designs RS Mehta
Types of Research Designs RS Mehta
 

Similaire à Empirical Software Engineering for Software Environments - University of California, Irvine

Software Environments - Course Introduction - University of California, Irvine
Software Environments - Course Introduction - University of California, IrvineSoftware Environments - Course Introduction - University of California, Irvine
Software Environments - Course Introduction - University of California, IrvineMarco Aurelio Gerosa
 
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
 
Advanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise ARAdvanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise ARMark Billinghurst
 
Exploring Learning Ecologies: Models and Experiences So Far
Exploring Learning Ecologies: Models and Experiences So Far Exploring Learning Ecologies: Models and Experiences So Far
Exploring Learning Ecologies: Models and Experiences So Far BCcampus
 
OU Learning Design workshops
OU Learning Design workshopsOU Learning Design workshops
OU Learning Design workshopsMartin Weller
 
Researching Researchers: Avalon's Repository Usage
Researching Researchers: Avalon's Repository UsageResearching Researchers: Avalon's Repository Usage
Researching Researchers: Avalon's Repository UsageAvalon Media System
 
2015-11-11 research seminar
2015-11-11 research seminar2015-11-11 research seminar
2015-11-11 research seminarifi8106tlu
 
Impact your Library UX with Contextual Inquiry
Impact your Library UX with Contextual InquiryImpact your Library UX with Contextual Inquiry
Impact your Library UX with Contextual InquiryRachel Vacek
 
Informational interview lesson plan
Informational interview lesson planInformational interview lesson plan
Informational interview lesson planrgeurtz
 
More than 'add on’ Technology as a Teaching and Learning Tool
More than 'add on’ Technology as a Teaching and Learning ToolMore than 'add on’ Technology as a Teaching and Learning Tool
More than 'add on’ Technology as a Teaching and Learning ToolRosalind Warner
 
Interface prototyping 2014
Interface prototyping 2014Interface prototyping 2014
Interface prototyping 2014Mariana Salgado
 
Crowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolioCrowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolioKristina D.C. Hoeppner
 
IxD Works Miniworkshop: Introduction
IxD Works Miniworkshop: IntroductionIxD Works Miniworkshop: Introduction
IxD Works Miniworkshop: IntroductionInteractionDesign
 
Tech. Writing Usability Presentation
Tech. Writing Usability PresentationTech. Writing Usability Presentation
Tech. Writing Usability Presentationmhobren
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design WorkshopPatrick McNeil
 
Chapter 9 id2e_slides
Chapter 9 id2e_slidesChapter 9 id2e_slides
Chapter 9 id2e_slidesoopscrash1
 
Architecture for Participatory Learning
Architecture for Participatory LearningArchitecture for Participatory Learning
Architecture for Participatory LearningYishay Mor
 
2nd EstCHI Meetup: The interplay between UX practice and research
2nd EstCHI Meetup: The interplay between UX practice and research2nd EstCHI Meetup: The interplay between UX practice and research
2nd EstCHI Meetup: The interplay between UX practice and researchTrinidadConsultingEE
 
Visualizing Data: Infographic Assignments across the Social Work Curriculum
Visualizing Data: Infographic Assignments across the Social Work CurriculumVisualizing Data: Infographic Assignments across the Social Work Curriculum
Visualizing Data: Infographic Assignments across the Social Work CurriculumLaurel Hitchcock
 

Similaire à Empirical Software Engineering for Software Environments - University of California, Irvine (20)

Software Environments - Course Introduction - University of California, Irvine
Software Environments - Course Introduction - University of California, IrvineSoftware Environments - Course Introduction - University of California, Irvine
Software Environments - Course Introduction - University of California, Irvine
 
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
 
Advanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise ARAdvanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise AR
 
Exploring Learning Ecologies: Models and Experiences So Far
Exploring Learning Ecologies: Models and Experiences So Far Exploring Learning Ecologies: Models and Experiences So Far
Exploring Learning Ecologies: Models and Experiences So Far
 
OU Learning Design workshops
OU Learning Design workshopsOU Learning Design workshops
OU Learning Design workshops
 
Researching Researchers: Avalon's Repository Usage
Researching Researchers: Avalon's Repository UsageResearching Researchers: Avalon's Repository Usage
Researching Researchers: Avalon's Repository Usage
 
2015-11-11 research seminar
2015-11-11 research seminar2015-11-11 research seminar
2015-11-11 research seminar
 
Impact your Library UX with Contextual Inquiry
Impact your Library UX with Contextual InquiryImpact your Library UX with Contextual Inquiry
Impact your Library UX with Contextual Inquiry
 
Informational interview lesson plan
Informational interview lesson planInformational interview lesson plan
Informational interview lesson plan
 
More than 'add on’ Technology as a Teaching and Learning Tool
More than 'add on’ Technology as a Teaching and Learning ToolMore than 'add on’ Technology as a Teaching and Learning Tool
More than 'add on’ Technology as a Teaching and Learning Tool
 
Interface prototyping 2014
Interface prototyping 2014Interface prototyping 2014
Interface prototyping 2014
 
Crowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolioCrowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolio
 
Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...
Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...
Harnessing Web 2.0 Technologies for Department Chairs Academic Chairpersons C...
 
IxD Works Miniworkshop: Introduction
IxD Works Miniworkshop: IntroductionIxD Works Miniworkshop: Introduction
IxD Works Miniworkshop: Introduction
 
Tech. Writing Usability Presentation
Tech. Writing Usability PresentationTech. Writing Usability Presentation
Tech. Writing Usability Presentation
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
 
Chapter 9 id2e_slides
Chapter 9 id2e_slidesChapter 9 id2e_slides
Chapter 9 id2e_slides
 
Architecture for Participatory Learning
Architecture for Participatory LearningArchitecture for Participatory Learning
Architecture for Participatory Learning
 
2nd EstCHI Meetup: The interplay between UX practice and research
2nd EstCHI Meetup: The interplay between UX practice and research2nd EstCHI Meetup: The interplay between UX practice and research
2nd EstCHI Meetup: The interplay between UX practice and research
 
Visualizing Data: Infographic Assignments across the Social Work Curriculum
Visualizing Data: Infographic Assignments across the Social Work CurriculumVisualizing Data: Infographic Assignments across the Social Work Curriculum
Visualizing Data: Infographic Assignments across the Social Work Curriculum
 

Dernier

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Dernier (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Empirical Software Engineering for Software Environments - University of California, Irvine

  • 1. INF219 – Software Environments University of California, Irvine Spring/2014 Marco Aurélio Gerosa Second class Understanding a problem: Empirical Evaluation of Software Environments
  • 3. Inventor-oriented development of a tool Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 3 Clipart from http://www.clker.com/ My tool is great!
  • 4. Issues - Are you a typical developer? Really? - How do you know that your “problem” is really a problem? - How do you know the extension of your problem? - How do you know that you actually solved or mitigated the problem? - How do you identify collateral effects of your solution? Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 4
  • 5. Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 5 Most of the developed tools are never used in practice…
  • 6. Answer Conduct empirical/experimental studies Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 6
  • 7. Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 7 Why and when to do empirical studies while developing tools for software environments?
  • 8. Researcher-based development of a tool Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 8 Understand Confirm (if necessary) Prototype Evaluate Survey
  • 9. Empirical Research vs Pure Invention Research is more solid, systematic, and based on relatively low biased data But, it takes more time and it can refrain creativity In practice, try to reach a balance However, if you want to publish, nowadays you really need to overkill – but it is how science works Remember: “If I had asked people what they wanted, they would have said faster horses.” (Henry Ford) You can avoid that if you collect the right data using the right means Also, you may understand better the real context and effects of the tool, making a better case for the tool adoption ◦ How many tools end up not being used? ◦ 80s SigChi bulletin: ~90% of evaluative studies found no benefits of tool Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 9 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 10. Types of empirical studies Goal Exploratory ◦ define and understand problems and raise hypotheses Descriptive ◦ describe a situation Confirmatory / causal / explanatory ◦ test hypotheses Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 10 Objects of analysis Quantitative ◦ Numerical measurements / analysis Qualitative ◦ Interpretive data acquisition / analysis
  • 11. What kinds of research can be used? Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 11 - Exploratory? - Descriptive? - Causal? - Quantitative? - Qualitative?
  • 12. Empirical research Studies provide evidences for or against theories Theories of developer activity A model describing the strategy by which developers frequently do an activity that describes problems that can be addressed (“design implications”) through a better designed tool, language, or process that more effectively supports this strategy. Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 12 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf Models & theories Reality Evidences Scientific study
  • 13. Exercise Let’s improve how developers design software systems How can we do that in a research-based way? Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 13
  • 14. A single study will not answer all questions - Set scope - Describe limitations of study - Pick population to recruit participants from - Plan follow-up complementary studies Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 14 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf Remember!
  • 16. Example of a cycle Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 16 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 17. Some methods for exploratory studies • Field observations / ethnography • Observe developers at work in the field • Surveys • Ask many developers specific questions • Interviews • Ask a few developers open-ended questions • Contextual inquiry • Ask questions while developers work • Indirect observations • Study artifacts (e.g., code, code history, bugs, emails, ...) To do high quality studies is quite difficult, but even quick-and-dirty ones can provide useful [Check the literature for additional guidelines] Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 17 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 18. Field observations / ethnography Find software developers ◦ Pick developers likely to be doing relevant work Watch developers do their work in their office Ask developers to think-aloud ◦ Stream of consciousness: whatever they are thinking about ◦ Thoughts, ideas, questions, hypotheses, etc. Register it ◦ Sometimes can be invasive, but permits detailed analysis ◦ Audio: can analyze tasks, questions, goals, timing ◦ Video: can analyze navigation, tool use, strategies ◦ Notes: high level view of task, interesting observations Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 18 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 19. Surveys • Can reach many (100s, 1000s) developers • Websites to run surveys (e.g., SurveyMonkey, Google Docs) • Find participants • Probabilistic sampling is only possible for small and well defined population (e.g. within a company) • Snowball sampling (mailing list, twitter etc.) • Prepare multiple choice & free response questions • Multiple choice: faster, standardized response • Free response: more time, more detail, open-ended • Background & demographics questions • E.g., experience, time in team, state of project, .... • Open comments Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 19 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 20. Semi-structured interviews Define a script Prompt developer with question on focus areas ◦ Let developer talk ◦ Follow to lead discussion towards interesting topics Manage time ◦ Move to next topic to ensure all topics covered It is hard to not bias the interviewee Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 20 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 21. Contextual inquiry Interview while doing field observations Learn about environment, work, tasks, culture, breakdowns Principles of contextual inquiry ◦ Context - understand work in natural environment ◦ Ask to see current work being done ◦ Seek concrete data - ask to show work, not tell ◦ Bad: usually, generally ◦ Good: Here’s how, let me show you ◦ Partnership - close collaboration with user ◦ User is the expert ◦ Interpretation - make sense of work activity ◦ Rephrase, ask for examples, question terms & concepts ◦ Focus - perspective that defines questions of interest Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 21 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 22. Indirect observations Indirect record of developer activity Examples of artifacts (where to get it) ◦ Code & code changes (version control systems) ◦ Code changes ◦ Bugs (bug tracking software) ◦ Emails (project mailing lists, help lists for APIs) You can also collect data from instrumented tool (e.g., Hackstat) Advantage: ◦ Lots of data, easy to obtain Disadvantages: ◦ Can only observe what is in the data Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 22 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 23. Examples Which methods would you use in these situations? 1. You’d like to design a tool to help web developers reuse code more easily. 2. You’d like to help developers better prioritize bugs to be fixed. Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 23 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf • Field observations? • Surveys? • Interviews? • Contextual inquiry? • Indirect observations?
  • 24. Evaluation Ok, you figured out a problem and conceived a tool. But is this the right tool? Would it really help? Which features are most important to implement? Solution: low cost evaluation studies ◦ Evaluate mockups and prototypes before you build the tool! Tool isn’t helpful: come up with a new idea Users have problems using tool: fix the problems Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 24 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 25. Low cost evaluation methods Paper prototyping ◦ Do tasks on paper mockups of real tool ◦ Simulate tool on paper Wizard of Oz ◦ Simulate tool by computing results by hand Heuristic evaluation ◦ Assess tool for good usability design Cognitive walkthrough ◦ Simulate actions needed to complete task Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 25 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 26. Paper prototyping Build paper mockup of the tool ◦ May be rough sketch or realistic screenshots Often surprisingly effective Experimenter plays the computer ◦ Experimenter simulates tool by adding / changing papers Good for checking if user ◦ Understands interface terminology ◦ Commands users want match actual commands ◦ Understands what tool does ◦ Finds the tool useful Challenges - must anticipate commands used ◦ Iteratively add commands from previous participants ◦ Prompt users to try it a different way Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 26 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 27. Wizard of Oz Participant believes (or pretends) to interact with real tool ◦ Experimenter simulates (behind the curtain) tool ◦ Computes data used by tool by hand Participant’s computer is “slave” to experimenter’s computer Especially for AI and other hard-to-implement systems ◦ E.g.: Voice user interface - experimenter translates speech to text Advantages ◦ High fidelity - user can use actual tool before it’s built Disadvantages ◦ Requires working GUI, unlike paper prototypes Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 27 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 28. Prototyping • Paper • Implemented UI (no business logic) • Wizard of Oz • Implemented prototype • Real system Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 28 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf Increasedfidelity Better if sketchier for early design - Use paper or “sketchy” tools, not real widgets - People focus on wrong issues: colors, alignment, names - Rather than overall structure and fundamental design
  • 29. Heuristic evaluation [Nielsen] Multiple evaluators use dimensions to identify usability problems Evaluators aggregate problems & clarify Structured assessment based on experience Problems may be are categorized according to their estimated impact on user performance or acceptance Examples of heuristics: (Jakob Nielsen) ◦ Visibility of system status; Match between system and the real world; User control and freedom; Consistency and standards; Error prevention; Recognition rather than recall; Flexibility and efficiency of use; Aesthetic and minimalist design; Help users recognize, diagnose, and recover from errors; Help and documentation Advantage: ◦ Users are not necessary Disadvantage ◦ Highly influenced by the knowledge of the expert reviewer Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 29 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 30. Cognitive walkthrough How easy it is for new users to accomplish tasks with the system? Cognitive walkthrough is task-specific Task analysis - sequence of actions required by a user to accomplish a task and the responses from the system to those actions Evaluators walk through the steps, asking themselves a set of questions ◦ Will the user try to achieve the effect that the subtask has? Does the user understand that this subtask is needed to reach the user's goal? ◦ Will the user notice that the correct action is available? ◦ Will the user understand that the wanted subtask can be achieved by the action? ◦ Does the user get feedback? Will the user know that they have done the right thing after performing the action? Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 30
  • 31. Exercise How would you use the evaluation methods in this situation? You’re designing a new notation for visualizing software Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 31 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf Codecity: http://www.inf.usi.ch/phd/wettel/codecity.html Paper prototyping Wizard of Oz Heuristic evaluation Cognitive walkthrough
  • 32. More robust evaluations You want to write a paper claiming that your tool is useful You want to get a company to try it out. Solution: run a higher cost, but more convincing evaluation study Lab experiments - controlled experiment to compare tools ◦ Measure differences of your tool w/ competitors ◦ Usually based on quantitative evidence Field deployments ◦ Users try your tool in their own work ◦ Data: usefulness perceptions, how use tool ◦ Can be more qualitative Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 32 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 33. Lab studies Users complete tasks using your tool or competitors ◦ Within subjects design - all participants use both ◦ Between subjects design - participants use one Typical measures - time, bugs, quality, user perception ◦ Also measures from exploratory observations (think-aloud) ◦ More detailed measures = better understood results Advantage ◦ Controlled experiment (more precision) Disadvantages ◦ Less realism and generalizability ◦ Users still learning how to use tool, unfamiliar with code ◦ Benefits may require longer task Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 33 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 34. Field deployments Give your tool to developers. See how they use it Low control, more realism Data collection: interviews, logging data, observations Qualitative measures ◦ Perception: do they like the tool? ◦ Use frequency: how often do they use it? ◦ Uses: how do they use it? what questions? tasks? why? ◦ Wishes: what else would they like to use it for? Quantitative comparison is possible, but it is hard ◦ Different tasks, users, code Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 34 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 36. Techniques for qualitative data analysis Contextual design ◦ Set of models for understanding how work is done Content analysis / grounded theory ◦ Technique for analyzing texts ◦ Used both to find patterns in data & convert to quantitative data Process models ◦ Models of steps users do in a task Taxonomies ◦ What things exist, how are they different, and how are they related? Affinity diagrams ◦ Technique for synthesizing many disparate observations or interpretations into a coherent whole Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 36 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 37. Quantitative data analysis Frequency ◦ How often do things occur? (counts, %s, avg times, ...) ◦ Descriptive statistics Correlational ◦ How are multiple variables related? (correlations, ....) ◦ Estimate variable x from variables a, b, c (regression, classifiers, ....) Controlled experiment (causal) ◦ Statistical test Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 37
  • 38. Qualitative vs. quantitative Qualitative analysis most useful for ◦ Figuring out what’s there, what’s being done ◦ What’s important? ◦ How are things done? ◦ Why is person doing / using / thinking something? Limitations ◦ Small n: few examples, may not generalize ◦ Interpretations could be biased Quantitative analysis most useful for ◦ Testing hypotheses ◦ Investigating relationships between variables ◦ Predicting Limitations ◦ Lack interpretation Therefore, great studies mix both approaches Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 38 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 39. Other aspects of a scientific study
  • 40. What to observe Learning a new tool Pilot studies IRB Approval Maximize validity ◦ more participants, data collected, measures ◦ longer tasks ◦ more realistic conditions Minimize cost ◦ fewer participants, data collected, measures ◦ shorter tasks ◦ less realistic, easier to replicate conditions Studies are not proofs - results could always be invalid ◦ Software Engineering is very context dependent ◦ Don’t sample all developers x tasks x situations, and measures are imperfect Search results that are ◦ interesting ◦ relevant to research questions ◦ valid enough so that your target audience believes them Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 40 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 41. Some types of validity Validity = should we believe the results? Construct validity ◦ Does measure correspond to construct or something else? External validity ◦ Do results generalize from participants to population? Internal validity ◦ Are the differences between conditions caused only by experimental manipulation and not other variables? (confounds) Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 41 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf See also: https://en.wikipedia.org/wiki/Bias_(statistics) https://en.wikipedia.org/wiki/Cognitive_bias
  • 43. Final considerations Field studies of programmers reveal interesting new areas for tool research and development ◦ Can focus research on important problems ◦ Design from Data about real problems, barriers, opportunities Following research methods will result in better quality tools ◦ More usable, effective, etc. Software Engineering tools and methods often benefit from valid evaluation with people ◦ Need real evidence to answer questions about what is better/faster/easier ◦ Often demanded by reviewers ◦ Relevant to any claims of better/faster/easier for people ◦ There are valid evaluation criteria beyond “Taste”, “Intuition”, “My experience,” and anecdotes Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 43 LaToza (2011) http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02-HCI%20Methods%201.pdf
  • 44. Summary • Pure invention x empirical research approach for developing innovative tools • When to do empirical studies • Types of empirical studies • Research methods • exploratory studies • low cost evaluation • robust evaluation • Qualitative and quantitative analysis • Some points to observe when conducting studies • Validity Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 44
  • 45. To Do • Define the groups and the topic of your seminar • Read the papers assigned for the 3rd class (check your group): • http://www.ime.usp.br/~gerosa/classes/uci/inf219 • Produce the slides-based summary for the two papers “Wherever you go, go with all your heart.” (Confucius) Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 45
  • 46. Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 46 Thank you! See you next class Marco Gerosa Web site: http://www.ime.usp.br/~gerosa Email: mgerosa@uci.edu / gerosa@ime.usp.br Office: DBH 5228 (by appointment)
  • 47. Acknowledgments This class was based on the slides from Thomas LaToza: • http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture02- HCI%20Methods%201.pdf • http://www.cs.cmu.edu/~bam/uicourse/2011hasd/lecture03- HCI%20Methods%202.pdf Spring/2014 Marco Aurélio Gerosa (mgerosa@uci.edu) 47