Download presentation
Presentation is loading. Please wait.
Published byDiana Banks Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.