PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (Laurie Williams)
-
Upload
cs-ncstate -
Category
Technology
-
view
2.958 -
download
1
Transcript of PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (Laurie Williams)
Seven Habits of Highly
Impactful Empirical Software
Engineers
Laurie Williams
North Carolina State University
Who am I … Where I’m Coming From Degree confusion: BS in Industrial Engineering (Lehigh
University); MBA (Duke University); PhD in Computer
Science (University of Utah)
Worked for IBM for 9 years (engineering then software)
Then … was a non-traditional PhD student with 3 kids
NC State since August 2000
10 PhD, 13 MS completed; 6 PhD, 2 MS in process
~ 160 refereed papers; ~70+% with industrial co-author
$5M+ in funding: ~$3M government; ~$2M industrial
Active in consulting and industrial training
What is a habit? noun 1. an acquired behavior pattern regularly followed
until it has become almost involuntary: the habit of
looking both ways before crossing the street.
Knowledge: what to do and why
Skill: how to do it
Desire: the want to do
We are what we repeatedly do,
Excellence, then, is not an act, but a habit.
-- Aristotle
Definition by Dictionary.com Unabridged
Based on the Random House Dictionary, © Random House, Inc. 2011.
Photo from: http://tkofthewildboyz.blogspot.com/2008/10/vacay-pt-ii-new-york.html
What is Impact? im·pact [n. im-pakt; v. im-pakt]
noun 1. the striking of one thing against another; forceful
contact; collision: The impact of the colliding cars broke
the windshield.
noun 2. the force exerted by a new idea, concept,
technology, or ideology: the impact of the industrial
revolution.
Definitions from Dictionary.com Unabridged
Based on the Random House Dictionary, © Random House, Inc. 2011.Photos from http://knowledge.allianz.com/?823/road-safety and http://ed101.bu.edu/StudentDoc/current/ED101sp09/rcm/
Structured based upon …
© 2004
Amazon book rank: 54
Now that’s impact!
Who may we want to impact?
Practitioners Colleagues
Students & Mentees Family & Friends
… with our research results
They use our stuff! They cite our stuff!
We collaborate.
They follow our methods.
They alter their research path.
… and with our personal (inter)actions
They grow to be happy and successful. Our lives are more enjoyable.
Their ideas are enriched.Their professional life is changed.
My goal for this talk …
We are what we repeatedly do,Excellence, then, is not an act, but a habit.
-- Aristotle
To be an impactful empirical software engineer by impacting each of you in at least some small way to change your habit(s) so you can impact someone else … in a positive way of course
And hopefully learn from you as well
Covey’s Seven Habits Personal Victory… independence
Be Proactive
Begin with the End in Mind
Put First Things First
Public Victory … interdependence
Think Win/Win
Seek First to Understand, Then to be Understood
Synergize
Renewal … continuous improvement
Sharpen the Saw
Personal: Be Proactive
“Proactive people are smart, they’re value driven, they
read reality, and they know what’s needed.”
Think about it: who do you want to impact as an
empirical software engineer?
Figure from Covey, S., Seven Habits of Highly Effective People, 2004.
Software technology maturation Basic Research
Recognize problem,
investigate concepts
Concept Formulation
Refine ideas, publish
partial solutions
Development & Extension
Try it out, clarify, refine
Internal ExplorationStabilize, port, use for
industrial-strength problems
External Exploration
Broaden user group,
extend
Popularization
Propagate through
community
Redwine, S. and Riddle, S., Software Technology Maturation, ICSE 1985.
state of the art:
colleagues/students
state of the
practice:
practitioners
Critical factors in software
maturation Conceptual integrity
Clear recognition of need
Tuneability
Prior positive experience
Management commitment
Training
Inhibitors in software
technology maturation Internal transfer
High cost
Contracting disincentives
Psychological hurdles
Easily modified technology
Facilitators to software
technology maturation Prior success
Incentives
Technically astute managers
Readily available help
Latent demand
Simplicity
Incremental extensions to current technology
Software technology maturation Basic Research
Recognize problem,
investigate concepts
Concept Formulation
Refine ideas, publish
partial solutions
Development & Extension
Try it out, clarify, refine
Internal ExplorationStabilize, port, use for
industrial-strength problems
External Exploration
Broaden user group,
extend
Popularization
Propagate through
community
Redwine, S. and Riddle, S., Software Technology Maturation, ICSE 1985.
Where’s the
beef . . . .
validation?
state of the art:
colleagues/students
state of the
practice:
practitioners
“The best process for transitioning
technology seems to be incremental
expansion in small steps with trial use
and the careful gathering of empirical
evidence concerning the technology’s
value.”
Personal: Begin with the End
in Mind “To begin with the end in mind means to start with an
understanding of your destination. It means to know
where you’re going so that you better understand
where you are now and so that the steps you take are
always in the right direction.”
“We may be very busy, we may be very efficient, but
we will also be truly effective only when we begin with
the end in mind.”
What is Your Destination? Who are you desiring to impact?
What validation techniques are you using to impact them? Do they like that technique?
state-of-the-art state-of-the-practice
The Impact Project
Funded by US NSF, UK Institution of Engineering and Technology, IEEE Computer Society, Japanese government
Solid and scholarly assessment of the impact software engineering research has had on software engineering practice
Literature reviews and personal interviews
Case studies: configuration management; modern programming languages; runtime assertion checking; reviews and walkthroughs; cost and economic models; software architecture
Osterweil, L., Ghezzi, C., Kramer, J., and Wolf, A., Determining the Impact of Software Engineering
Research on Practice, IEEE Computer, March 2008.
The Impact Project Findings
Lasting impact seems to come most readily from ongoing
interactions between research and practice
Research impact might not be fully felt for at least 10 years
(in terms of widespread adoption)
Continuous support for sustaining a vigorous research
community is required
A research community must provide nurturing in a variety of
ways
The interplay between research and practice can be difficult
to determine precisely and communicate clearly
Osterweil, L., Ghezzi, C., Kramer, J., and Wolf, A., Determining the Impact of Software Engineering
Research on Practice, IEEE Computer, March 2008.
Disparity of Acceptability and
Desirability
State-of-the-art: Researchers look for how well a theory has been validated
State-of-the-practice: Industry looks for how easily understandable evidence of how well the technique works in their own environment (real world validation)
LW “soap box”: Researchers are often the gatekeepers of what empirical software engineering research can reach industry, often using their own “theory validation” filter that is not important to the customer of the research (industry).
Zelkowitz, M., Wallace, D. Binkley, D., Understanding the Culture Clash in Software Engineering
Technology Transfer, Tech. Report No. 2, University of Maryland, College Park, Maryland, 1998.
Personal: Put First Things
First “Don’t prioritize your schedule instead … schedule your
priorities.”
Students
“Focus on the
students, since graduating
great students means you'll
produce great
research, while focusing on
the research may or may
not produce great students.”
Nico Habermann
1932-1993
… obtained from the web
page of David Notkin, Nico’s
academic son
Focus
“Nothing focuses the mind like a noose.” -- Mark Twain
Real Impact
Laurie’s Laws
Public: Think Win/Win “Win/win is a frame of mind and heart that constantly
seeks mutual benefit in all human interactions.”
Win/Win in our personal
interactions Peer review Why to accept, rather than why to reject
How to help the authors advance rather than to discourage
Be inclusive of topic and research technique, not biased to your own technique or views
Sharing Techniques
Guidance/Advice/Mentoring
Lose the personal or research group rivalries and pet theories
Communicate benefits of (participating in) research in terms of benefits to practitioners/participants
…. There really is “enough” for all of us so we can all make progress
Public: Seek First to Understand,
Then to be Understood
“Seeking first to understand, diagnosing before you
prescribe, is hard … It takes a great deal of security to
go into a deep listening experience because you open
yourself up to be influenced … It’s a paradox, in a
sense, because in order to have influence, you have
to be influenced.”
Understanding our “customer”
Potts, C., Software Engineering Research Revisited, IEEE Software, Sept 1993..
Problem
often
“related”
to desired
technical
solution
Understanding our “customer”
Potts, C., Software Engineering Research Revisited, IEEE Software, Sept 1993..
Industrial case
studies that
exhibit problems
of interest …
scale/complexity;
unpredictability;
dynamism
Evolving the
state of the
art, possibly
multiple
researchers/
groups
Potts, C., Software Engineering Research Revisited, IEEE Software, Sept 1993..
Potts, C., Software Engineering Research Revisited, IEEE Software, Sept 1993..
Posterchild Vic Basili and NASA’s Software Engineering Laboratory
Industry-as-laboratory
Public: Synergize “Synergy means that 1 + 1 may equal 8, 16, or even
1600. The synergistic position of high trust produces
solutions better than any originally proposed, and all
parties know it. Furthermore, they genuinely enjoy the
creative enterprise.”
Agile Manifesto/Alliance• XP, SCRUM, DSDM,
Adaptive Software Development, Crystal,
FDD
• February 2001 (Snowbird, UT)
Survey says …. They nailed it with the Agile Principles
It is in their collaboration and cooperation that they rocked
the software industry.
Reprisal “… in order to have influence, you have to be
influenced.”
… in order to influence, you have to really listen, even if
that means you need to realize that no matter how
smart you are and how groundbreaking your past
research was, you might just need to alter your path
due to new information or trends.
Renewal: Sharpen the Saw “This is the single most powerful investment we can
ever make in life – investment in ourselves, in the only
instrument we have with which to deal with life and to
contribute. We are the instruments of our own
performance, and to be effective we, we need to
recognize the importance of taking time regularly to
sharpen the saw …”
Final Thoughts It is in giving that you receive … do empirical research
for the greater good.
Actions speak louder than words.
When you look back on your career (as an empirical
software engineer), who do you want to have
impacted? Develop habits of excellent to focus on
those things now.
References Covey, S., Seven Habits of Highly Effective People, 2004.
Osterweil, L., Ghezzi, C., Kramer, J., and Wolf, A., Determining the Impact of Software Engineering Research on Practice, IEEE Computer, March 2008.
Potts, C., Software Engineering Research Revisited, IEEE Software, Sept 1993.
Redwine, S. and Riddle, S., Software Technology Maturation, ICSE 1985.
Zelkowitz, M., Wallace, D. Binkley, D., Understanding the Culture Clash in Software Engineering Technology Transfer, Tech. Report No. 2, University of Maryland, College Park, Maryland, 1998.