promise 2011: seven habits of high impactful empirical software engineers (laurie williams)

Post on 13-Jul-2015

2.958 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related