19
Generating A Useful Theory of Software Engineering Steve Adolph & Philippe Kruchten University of British Columbia 1

A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

  • Upload
    vuthuan

  • View
    219

  • Download
    4

Embed Size (px)

Citation preview

Page 1: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Generating A Useful Theory of Software Engineering

Steve Adolph & Philippe Kruchten University of British Columbia

1

Page 2: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Theory is useful if it explains the phenomena being experienced

  Social processes are an intrinsic part of software development (socio-technical system).

  Personal values are an intrinsic part of social processes.

  Logico-deductive approaches from the “arm chair” to developing software engineering theory may lead us away from explaining what is relevant to software development practitioners.

2

Page 3: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Role of Theory In Engineering

3

Page 4: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Software Engineering Theory?

  Picture here of the holy grail

  Still pretty much a pursuit

4

Page 5: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

An Opportunity to Display Leadership and Moral Courage

5

Page 6: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Theory must be useful to practitioners if its to be applied by practitioners

6

Page 7: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Are “Arm Chair” Theories Created by “Experts” Useful to Practitioners?

  Picture of a cushy armchair

7

Page 8: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Another Approach to Creating Useful Theory: Why Not Involve Practitioners?

  Maybe a photo of someone listening and taking notes.

8

Page 9: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

One Approach for Generating Theory By Asking Practitioners

9

Page 10: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Our Story: Why does a successful middle age practitioner go back to school?

  Software development: a 1.6 trillion industry that seems to have been in “crisis” for last 50 years.

  Lack of software engineering discipline a contributing factor.

  Foundation of good software engineering discipline and software process improvement relies on software methodologies.

  Studies demonstrate benefits from software process improvement.

Yet….

10

Page 11: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

…few practitioners use software methodologies

  Value of methodologies are questioned by both practitioners and researchers.

“If we ever did it like that we’d never get the job done!”

“The use of software methods and automated development tools provide no explanation for the variance in either software product quality or team performance”’ – Sawyer and Guinan 1998

  What is going on here?

11

Page 12: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Our Approach

  Field Study – go and ask practitioners   Grounded Theory – analyze data, steer the

study and generate a “mid-level” theory   Use resulting theory to inform the design of

software methodologies

12

Page 13: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Our Results

13

Page 14: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

14

Page 15: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Nothing new? Consider…

  Reconciling Perspectives is our participant's story   Theory emerged from our participant’s stories and our observations of their day-to-day

routines   Practitioners view software development as a social process   Has “grab” - is relevant to software practitioners and make extant theory relevant to

practitioners

  Reconciling Perspectives is about Getting the Job Done   not enough to just Converge, also need to Validate to Get the Job Done   Reconciling Perspectives explains how the job gets done (end to end)

  Reconciling Perspectives as a theory provides an overarching framework for understanding:   Connects theories into a process that explains how people manage the process of software

development.   highlights the communications tension and the need for managed communications.

15

Page 16: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Is this Useful? “Yeah, that’s my life!”

16

Page 17: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Software Development is a Social Process

  When asked or observed practitioners described software development as a social process.

  Reconciling Perspectives is a social process.

“The design focus of software methodologies should be away from production-centered practices and toward socially-centered methodologies” – Sawyer & Guinan 1998

17

Page 18: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Theory is useful if it explains the phenomena being experienced

  Social processes are an intrinsic part of software development (socio-technical system).

  Personal values are an intrinsic part of social processes.

  Logico-deductive approaches from the “arm chair” to developing software engineering theory may lead us away from explaining what is relevant to software development practitioners.

18

Page 19: A useful theory(v03) - University of Texas at Austinusers.ece.utexas.edu/.../382c/Adolph-Kruchten-GTSE-2013.pdfQuestions…painted target… 19 Steve Adolph & Philippe Kruchten University

Thank you: Now on with the quest for the Grail!

  Questions…painted target…

19

Steve Adolph & Philippe Kruchten University of British Columbia