Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ivar Jacobson and Ed Seidewitz A New Software Engineering Communications of the ACM, Dec. 2014, 57 (12): 49-54 CS 791z Graduate Topics on Software Engineering.

Similar presentations


Presentation on theme: "Ivar Jacobson and Ed Seidewitz A New Software Engineering Communications of the ACM, Dec. 2014, 57 (12): 49-54 CS 791z Graduate Topics on Software Engineering."— Presentation transcript:

1 Ivar Jacobson and Ed Seidewitz A New Software Engineering Communications of the ACM, Dec. 2014, 57 (12): 49-54 CS 791z Graduate Topics on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering

2  Introduction  Engineering as Craft Supported by Theory  Agility, Methods, Practices  The SEMAT Kernel  Conclusions 2

3 3

4  SE set of practices are largely adapted from other disciplines, e.g., project management, design blueprints, process control  Traditional engineering disciplines afford a lot of “up-front work” because their strong foundations  This hasn’t work that well in SE, where coders are those who actually make things happen 4

5  Coding, as a craft discipline, can build on the experience of masters  Nevertheless, a craft discipline can take you only so far  True engineering combines craftsmanship with an applied theoretical foundation  From this point of view SE is not engineering 5

6  What is needed is a new SE built on the experience of software craftsmen, capturing their understanding in a foundation that then can be used to educate new generations of practitioners  The SEMAT (Software Engineering Method and Theory) initiative has taken off for exactly this purposeSEMAT 6

7  A method is a description of a way to carry out an endeavor, such as developing software  Methods are derived from experience:  Rules of thumb -> guidelines -> standards  In the past, in craftsmanship, methods were guarded by masters and carefully passed down to trusted apprentices  As a craftsmanship evolves, a common understanding (of its methods) is captured in a theory  A theoretical foundation is the key for disciplined engineering analysis (see electromagnetic theory for EE, or aerodynamics for aeronautical engineering) 7

8  Engineering experience is distilled into theory, which then promotes better engineering, and then back again  SE did not have such underlying theory, although some may say this should be computer science  Other consider formal methods as foundation for SE, yet they are hardly applied in practice  In general, in SE various competing methodologies existed, without a unifying foundational theory  Creating a new theory of SE will take time, so the proposed approach is to capture commonalities among successful methods by using a new framework 8

9  Agile SD is about flexibility and adaptability in the face of changing requirements  Agile teams take charge of their own work  A lack of agility is a central failure of traditional SE  Complicated software systems have a certain kind of “intellectual rigidity”  Agile development supports the practitioner in building software, rather than requiring the practitioner to support the process 9

10  To introduce agility, we need to look at the basic things the practitioners do – their practices  A method can be viewed as composed of a set of practices  For example, the XP method includes practices such as pair programming and continuous integration; Scrum includes maintaining a backlog, daily scrums, sprints  A team can evolve its method both in small and large steps  Practices can be promoted by organizations; practitioners can adopt, adapt, and apply them  Here, a new SE foundation is needed, to provide a common underpinning for them  the SEMAT kernel 10

11  The SEMAT kernel for SE can be seen as the minimal set of things that are universal to all software development endeavors  It consists of 3 parts:  A means to measure progress and health of an endeavor  A categorization of the activities needed to advance the progress of an endeavor  A set of competencies necessary to carry such activities 11

12  The kernel defines seven dimensions (or alphas) for measuring this progress:  Opportunity, stakeholders, requirements, software system, work, team, and way of working  Each alpha has a set of specific states, that help monitor progress  The idea is to provide an intuitive tool for practitioners to reason about the progress and health of their endeavors in a common, method-independent way  The kernel is formally defined as part of the Essence specification standardized through the OMG 12

13 13

14 14

15 15

16 16

17 17

18  The SEMAT kernel-based Essence approach is proposed as a new paradigm shift in SE  It aims at helping teams be agile when working with methods and measure progress in a meaningful way  The real shift, however, depends on participation and contributions from practitioners 18


Download ppt "Ivar Jacobson and Ed Seidewitz A New Software Engineering Communications of the ACM, Dec. 2014, 57 (12): 49-54 CS 791z Graduate Topics on Software Engineering."

Similar presentations


Ads by Google