Essence June Sung Park Professor, ISE & CS, KAIST Chairman and President, SEMAT Inc. December 2014
This work was supported by the ICT R&D programs of MSIP/IITP of Korea: Development of Cloud Services for Software Engineering Method Enactment Based on the OMG Essence Standard [2014-044-033-001] , and Development of Device Collaborative Giga-Level Smart Cloudlet Technology [391104004] .
2
Table of Content I.
Software Engineering Methods Today
II.
Introduction to Essence
III. Method Description and Enactment IV. Essence Use Cases and Case Studies 1.
Method-Agnostic Project Steering
2.
Method Description
3.
V.
Example 2 Case Study 2, 3,4
Practice Library and Orchestration
4.
Example 1 Case Study 1
Example 3
Project Support Environment
SEMAT Yesterday, Today & Tomorrow
The views or opinions expressed in this talk are solely the author’s own and do not necessarily represent the views or opinions of SEMAT Inc. IIIT-B / Sasken / EAIT 2014 - India
3
I. Software Engineering Methods Today IIIT-B / Sasken / EAIT 2014 - India
4
Evolution of Software Engineering Methods Spiral Process
Unified
Waterfall
Process (Method)
Agile
Object-Oriented
Practice
Component -Based
Structured
XP ServiceOriented
Information Engineering
1950
1960
1970
1980
1990
2000
2010
IIIT-B / Sasken / EAIT 2014 - India
5
Evolution of SE Methods: Capgemini WaterfallProcess Process (Method)
S DM
Windahl Finnigan, The Life Cycle of the Agile Unified Process, Capgemini, 2012. (http://www.youtube.com/watch?v=X 19IVn4qkC8)
1960
SDM2
1970
1980
1990
AUP
R UP
ComponentBased Dev for Information Web Apps Engineering for Structured ADP for Client/Server Apps Mainframe Apps
Practice
1950
IterativeProcess
2000
ServiceOriented Dev for CloudEnabled Apps
2010
IIIT-B / Sasken / EAIT 2014 - India
6
Software Engineering Practices
IIIT-B / Sasken / EAIT 2014 - India
7
Software Engineering Method Enactment
OMG, Software & System Process Engineering Metamodel Specification (SPEM) Version 2.0, April 2008.
IIIT-B / Sasken / EAIT 2014 - India
8
II. Introduction to Essence IIIT-B / Sasken / EAIT 2014 - India
9
What is Essence? •
•
•
Prior to Essence, natural languages or SPEM 2.0, a domain-specific language, have been used to describe software engineering methods. Essence provides standard kernel and language to prescribe and enact software engineering methods, which was adopted as OMG standard in June 2014. The Essence kernel provides a minimal set of essential elements that prevail in any software engineering project. Object Management Group, Essence-Kernel And Language For Software Engineering Methods 1.0-Beta 2, 2014. (http://www.omg.org/spec/Essence/1.0/) IIIT-B / Sasken / EAIT 2014 - India
10
Essence Kernel •
Alpha
•
Activity Space
•
Competency
IIIT-B / Sasken / EAIT 2014 - India
11
Alpha r e m to s u C n io t u l o S
r o v a e d n E
Opportunity
< s e t u p to a d d re s s
Requirements c o n s rta i ts n >
Stakeholders c o n s u m e >
f o c u s e s >
u s e a n d
Software System < p ro d u e c s
s c o p e s n a d
Wo r k
S u p p o rt >
Team
Way of Working
IIIT-B / Sasken / EAIT 2014 - India
12
Alpha •
•
Alpha represents things to deal with in any software engineering project. Essence takes the systems approach to software engineering.
June Sung Park, “Software Engineering in the Context of Business Systems,” in Ivar Jacobson and Harold Lawson (ed.) S oftware Engineering in the Systems Context, College Publications: London (forthcoming)
Software Systems used in a Business System
Work Way of Working
Opportunity Requirements
Stakeholders
Software Team
System
Osterwalder, A. et al. Business Model Generation, 2010. (http://www.businessmodelgeneration.com/) IIIT-B / Sasken / EAIT 2014 - India
13
Alpha •
•
Alpha (as an acronym of “Abstract-Level Progress Health Attribute”) represents dimensions of the state of a software engineering project.
Project State with Direction and Goals for a Software System
Essence prescribes a state machine for software engineering.
Cecile Peraire and Todd Sedano, "State-Based Monitoring and Goal-Driven Project Steering: Field Study of the SEMAT Essence Framework", International Conference on Software Engineering , Hyderabad, India, 2014. IIIT-B / Sasken / EAIT 2014 - India
14
Alpha State and Checklist
Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence and Svante Lidman, The Essence of Software Engineering: Applying the SEMAT Kernel, Addison-Wesley, 2013.
IIIT-B / Sasken / EAIT 2014 - India
15
Alpha Decomposition and Extension •
•
•
An alpha may have lower-level, more granule sub-alphas whose states contribute to and drive the state of the super-alpha.
Alpha
Sub-Alpha
Alpha
ExtendedAlpha
Association between super-alphas and sub-alphas can be many-to-many. Extension allows local changes to be made to the values of the attributes of an element (e.g. alpha) in the context of an element group (e.g. practice).
IIIT-B / Sasken / EAIT 2014 - India
16
Alpha and Work Product •
•
An alpha is manifested in terms of a collection of work products. Different methods may use different collections of work products to document the same alpha.
Alpha
Work Product
IIIT-B / Sasken / EAIT 2014 - India
17
Activity Space r e m tso u C
Explore Possibilities
n o ti u l o S
Understand the Requirements
r o v a e d n E
Prepare to do the Work
Ensure Stakeholder Satisfaction
Understand Stakeholder Needs
Shape the System
Coordinate the Activity
Implement the System
Test the System
Support Team
Deploy the System
Track Progress
Use the System
Operate the System
Stop the Work
IIIT-B / Sasken / EAIT 2014 - India
18
Activity Space and Activity •
•
•
Activity spaces are containers of activities performed in a project method. An activity may be a part of another activity forming a work breakdown structure.
ActivitySpace
Activity
The association between activity spaces and activities can be many-tomany.
IIIT-B / Sasken / EAIT 2014 - India
19
Activity Space and Alpha State •
•
•
•
•
Activities may change the alpha states of the software engineering project. Activities can be assigned target alpha states or checkpoints (i.e. criteria of done). Pre and post conditions of each activity space are suggested in terms of alpha states in the kernel. Essence enables a semi-Markovian decision process for software engineering.
Alpha s a h <
Alpha State
Work Product
s e c u d o r p
s> e t a d p u /
s> t e g r a t
Activity Activity Space
A Target-State to Activity Mapping Algorithm can be used to determine the next action. Competency
June Sung Park, Essence-Based, Goal-Driven Adaptive Software Engineering, KAIST, 2014.
IIIT-B / Sasken / EAIT 2014 - India
20
Activity Space and Alpha State
IIIT-B / Sasken / EAIT 2014 - India
21
Competency r e m to s u C n io t lu o S r o v a e d n E
Stakeholder Representation
Analysis
Development
Leadership
Testing
Management
IIIT-B / Sasken / EAIT 2014 - India
22
Competency •
Essence kernel suggests five levels of competency: •
•
•
•
•
Level 1 Assists Level 2 Applies Level 3 Masters Level 4 Adapts Level 5 Innovates
SFIA Foundation, SFIA 5 Framework Reference, 2011.
IIIT-B / Sasken / EAIT 2014 - India
23
Competency and Role •
•
Patterns can arrange language elements into arbitrary meaningful structures. A role may be defined by referencing required competencies, having responsibility of work
Work Product
organizes>
Alpha
s e c u d o r p
s a h <
s> te a d p u /
Alpha State > ts e g r ta
Activity d fie li a u q sI
products, and participation in activities. Activity Space
> rm o rf e p o t
profiles>
Competency
Role IIIT-B / Sasken / EAIT 2014 - India
24
Software Talent Management
B. Curtis, S. A. Miller and W. E. Hefley, The People CMM: A Framework for Human Capital Management, Addison-Wesley, 2009.
IIIT-B / Sasken / EAIT 2014 - India
25
Kernel Extension •
•
•
•
Patterns can arrange language elements into arbitrary meaningful structures. Resources can be attached to any language element. Tags add user defined information to any language element. User-Defined Types detail, explain, and constrain the proper usage of particular patterns, resources, or tags.
IIIT-B / Sasken / EAIT 2014 - India
26
III. Method Description and Enactment IIIT-B / Sasken / EAIT 2014 - India
27
Method Description in Essence •
•
•
There are about 300 well known practices reusable across projects. Those practices can be described using Essence kernel and language. A project method (i.e. process) is defined as a composition of software engineering practices.
Methods
Custom Method A
Custom Method B
are composed of
Practices are defined in terms of are described using
Essence Kernel
OMG Standard Essence Language IIIT-B / Sasken / EAIT 2014 - India
28
Practice Description in Essence •
A practice is described in Essence by mapping its work products, activities and roles to Essence alphas and activity spaces and competencies, respectively.
Essence Kernel
Practice
Alpha Work Product Alpha State
Activity Space
Activity
Competency
Role
IIIT-B / Sasken / EAIT 2014 - India
29
Scrum Practice
Jeff Sutherland and KenSchwaber, TheScrum Guide, 2013. (http://www.scrumguides.org/)
IIIT-B / Sasken / EAIT 2014 - India
30
Scrum Practice in Essence
June Sung Park, Paul E. McMahon and Barry Myburgh, Scrum Powered by Essence, SEMAT, 2014. Ivar Jacobson, Ian Spence and Pan-Wei Ng, “Agile and SEMAT-Perfect Partners,” Communications of the ACM 56:11, 2013, pp. 53-59. IIIT-B / Sasken / EAIT 2014 - India
31
Method Composition
Ambler, S. and M. Lines, Disciplined Agile Delivery: A Practitioner’s Guide to Agile Software Delivery in the Enterprise, IBM Press, 2012.
June Sung Park, “Software Engineering in the Context of Business Systems,” in Ivar Jacobson and Harold Lawson (ed.) Software Engineering in the Systems Context, College Publications: London (forthcoming)
IIIT-B / Sasken / EAIT 2014 - India
32
Method Composition L. Williams, G. Brown, A. Meltzer and N. Nagappan, “Scrum + Engineering Practices: Experiences of Three Microsoft Teams,” International Symposium on Empirical Software Engineering and Measurement, Banff, Canada, 2011.
Kernel elements covered by Scrum Kernel elements additionally covered by Agile Modeling
Add XP
Add Dev Ops
Add SPM
IIIT-B / Sasken / EAIT 2014 - India
33
Process Enactment •
•
•
The practice activities included in the project method are mapped to the activities to constitute the project workflow.
Essence Kernel
Practice
Workflow activities can be orchestrated using a BPM engine.
Alpha State
A project method can be re-composed adaptively to address critical issues that may occur during the project.
Activity Space
Activity
Competency
Role
Alpha
Project Workflow Gateway
Event
Work Product Activity
Actor
IIIT-B / Sasken / EAIT 2014 - India
34
Process Enactment
June Sung Park, “Essence Kernel-Based Enterprise Method Architecture,” Essence Workshop , OMG Technical Meeting, Berlin, June 20, 2013. (http://semat.org/?page_id=193)
Jin Young Jang,“Essencia: Open Source Project for Developing an Essence-Based Method Enactment Tool,”SEMAT Korea Workshop, Seoul, November 13, 2014 (In Korean). IIIT-B / Sasken / EAIT 2014 - India
35
IV. Essence Use Cases and Case Studies IIIT-B / Sasken / EAIT 2014 - India
36
Essence Maturity Model
IIIT-B / Sasken / EAIT 2014 - India
37
1. Method-Agnostic Project Steering •
•
•
•
Given the pain points of the project underway, identify the alphas that are related. Assess the current states of those alphas. Set the target states of the alphas to relieve the pain points. Determine activities to perform to move the project state to the target alpha states.
•
Alpha s a h <
•
Alpha State
Checklists •
Help the least experienced developers before experts. Help practitioners before process engineers. Intuitive, concrete graphical syntax before formal semantics. Method use before method definition.
C. Peraire, P. McMahon, M. Kajko-Mattsson, W. Menezez, B. Myburgh and B. Palank, “A Scenario on Solving Pain Points,” SEMAT Prac tice Area, Nov. 2014. IIIT-B / Sasken / EAIT 2014 - India
38
Example 1 •
Project Synopsis •
•
Current Pain Point •
•
A team with 5 developers is working on the 2nd release of a Web-based Leaning Management System for a university. Faculty members are resisting migration to the new system and giving no or negative feedback.
Alpha Selection •
Stakeholder alpha state cards are looked at.
IIIT-B / Sasken / EAIT 2014 - India
39
Example 1 •
Current State Identification •
•
•
The stakeholders have already been “recognized”. They are Administrators, Faculty, and Students.
Target State Selection •
•
•
However, no faculty representatives have been appointed. Assumption that provide faculty members would feedback spontaneously was wrong. The team agrees that “represented” becomes the target state for the stakeholder alpha. IIIT-B / Sasken / EAIT 2014 - India
40
Example 1 •
Next Action Selection •
•
1: Appoint stakeholder representatives for the faculty group, including supportive and unsupportive faculty members. Activity 2: Agree on or modify the existing definition of responsibilities and
Activity
collaboration with the faculty approaches representatives. Because of the iterative nature of the endeavor, the stakeholders need to agree on providing feedback on a regular basis.
IIIT-B / Sasken / EAIT 2014 - India
41
Example 1 •
Current State Identification •
•
Four faculty representatives have been appointed: two supportive and two unsupportive. Negative feedback was received from faculty members saying they do not see the value of the new system.
•
Alpha Selection •
Opportunity alpha state cards are investigated.
IIIT-B / Sasken / EAIT 2014 - India
42
Example 1 •
Target State Selection •
•
•
The team agrees that the opportunity has already been “identified” and a need for a software solution has been identified. However, there is clearly a need for articulating and communicating the solution value to all faculty members.
Next Action Selection •
•
3 : Prepare a short demonstration of the new solution key features while articulating their value, including value over the legacy solution. Activity 4: Present solution value to faculty during weekly faculty meeting.
Activity
IIIT-B / Sasken / EAIT 2014 - India
43
Case Study 1 •
•
•
A presentation on ESSENCE was given by Ivar Jacobson and Ian Spence at Google in Zurich in July 2014. In order to explore Essence in a practical setting, a 2-day workshop was hosted at Google Switzerland in October 2014 by Martin Landers, an engineering manager for YouTube. He and his team of five engineers took a look at Essence and its “serious games”. Martin Landers said: “Playing progress poker, reviewing health indicators and defining checkpoints triggered some good conversations in the team and helped crystallize some risks that I thought the team wasn’t aware of or vice-versa.”
Google Tech Talk (http://www.youtube.com/watch?v=WNlERrVxYjs&list=UUtXKDgv1AVoG88PLl8nGXmw )
IIIT-B / Sasken / EAIT 2014 - India
44
Benefits •
•
•
Enables multidimensional thinking and empowers team reflections Allows adaptive, situational project planning and monitoring Prevents losing sight of the value to be created for customers
Step Back & Look at Project Holistically (Alphas)
Perform Activities
Decide Reach How Goalsto (Activity)
Opportunity 6 5 4 3 2 1 0
Work
Monitor Progress (Alpha State Checklists)
Set Project Goals (Target Alpha States)
Stakeholders
Way of Working
Requirements
Team
Software System
C. Peraire, “Introduction to the SEMAT Essence Framework,” Carnegie Mellon University, 2013.
IIIT-B / Sasken / EAIT 2014 - India
45
2. Method Description •
•
•
Help process engineers to describe different software engineering practices using the common Essence kernel and language. Help practitioners compare and select practices to use in a project. Help practitioners define the project method by merging selected practices resolving overlaps and conflicts.
Work Product
organizes>
Alpha
s e c u d o r p
s a h <
s> te a d p u /
Alpha State > ts e g r ta
Activity d fie li a u q sI
Activity Space
> rm o rf e p o t
profiles>
Competency June Sung Park, Paul E. McMahon and Barry Myburgh, Scrum Powered by Essence, SEMAT, 2014.
Role IIIT-B / Sasken / EAIT 2014 - India
46
Example 2 EA
Business Architecture App Architecture
BPM BPMN Modeling BPEL4SWS Implementation Process Performance Mgmt BPR Project Management
Data Architecture Technical Architecture
EA Management Project Portfolio Mgmt
June Sung Park, New IT Paradigms and Software Engineering Methods, Software Engineering Standards Summit, Weifang, China, April 2013.
SOA Service Identification Service Specification Service Realization Service Governance
IIIT-B / Sasken / EAIT 2014 - India
47
Example 2 BPM Modeling Opportunity
Process Goals aligned with Business Strategy
Stakeholder
Process Owner and Actors
Requirements
Business Requirements and KPIs
Software System
BPMN 2.0 Models executable on the Process Engine
Work
As-Is Process Analysis, To-Be Process Design and Simulation
Team
Cross-Functional Team with Process Actors and Process Engineers
Way of Working
Process Modeling Heuristics, Patterns and Tool IIIT-B / Sasken / EAIT 2014 - India
48
Example 2 BPM Modeling Explore Possibilities
Conduct Benchmarking of Global Best Practices
Understand Stakeholder Needs
Analyze Business Strategies and Process Capabilities to Improve
Understand the Requirements
Analyze the Current Process and Set Improvement Goals and KPIs
Shape the System
Design and Simulate the To-Be Process and Develop the Implementation Plan
Prepare to Do the Work
Justify ROI of the Process Modeling Project, Organize and Train the Team
Coordinate Activities
Develop the Process Modeling Project Plan
Track Progress
Track the Process Modeling Project IIIT-B / Sasken / EAIT 2014 - India
49
Example 2 BPM Modeling Explore Possibilities
Conduct Benchmarking of Global Best Practices
Understand Stakeholder Needs
Analyze Business Strategies and Process Capabilities to Improve
Understand the Requirements
Analyze the Current Process and Set Improvement Goals and KPIs
Coherent
Shape the System
Design and Simulate the To-Be Process and Develop the Implementation Plan
Acceptable
Requirements
Business Requirements and KPIs
Conceived
Bounded
IIIT-B / Sasken / EAIT 2014 - India
50
Example 2 BPM Modeling Conduct Benchmarking of Global Best Practices Analyze Business Strategies and Process Capabilities to Improve
Requirements
Conceived
Business Requirements and KPIs Checklist goals are determined. As-Is process is described. Process
Bounded
Analyze the Current Process and Set Improvement Goals and KPIs
Coherent
Design and Simulate the To-Be Process and Develop the Implementation Plan
Acceptable
Process problems are identified. causes of the problems are identified. Process KPIs are defined. Target KPIs are set. Root
IIIT-B / Sasken / EAIT 2014 - India
51
Case Study 2 •
•
Munich Re defined a pool of practices used in different IT service lines using the common Essence kernel and language. Munich Re provided a starter pack of methods to eachand typeallowed of IT service lines, each project team to add or delete practices as needed.
B. Perkens-Golomb, “ApplyingSEMAT Concepts at Munich Re ,” Essence Workshop, OMG Technical Meeting, Berlin, June 20, 2013. (http://semat.org/wp-content/uploads/2013/07/Applying-SEMAT-at-Munich-REBerlin-Burkhard.pdf) IIIT-B / Sasken / EAIT 2014 - India
52
Case Study 2 •
•
According to PerkensGolomb, Munich Re was experiencing a “Tower of Babel” where—with no common language—it was nearly impossible to discuss and plausibly agree on a “healthy course” for a project. With the introduction of alphas, teams were able to verbally describe the lifecycle of a healthy project.
Julie Pike, Munich Re and Essence —Kernel and Language for Software Engineering Methods: A Case Study, 2014. (http://bit.ly/1GaJcu8)
IIIT-B / Sasken / EAIT 2014 - India
53
Case Study 3 •
•
•
One of the world’s largest telecommunications equipment and services companies in Asia Internal IT Division began a new journey towards a modern, agile development method. Essence was utilized as a model to drive continuous improvement of working practices, and to capture and communicate new working practices as modular units of capability improvement.
Ivar Jacobson International, Asian Telecommunications Equipment Vendor Successfully Achieves Rapid and Sustainable Agile Transformation, 2014. (http://bit.ly/1BF3vAr) IIIT-B / Sasken / EAIT 2014 - India
54
Case Study 3 •
•
•
•
•
•
• •
•
Scrum practice for small teams Super Scrum practice for large teams 50+ Requirements practice for agile collaboration with business reps Continuous integration and delivery Practice to automate integration and deployment Contracting practice for sourcing and collaboration with contractors Architecture practice Testing practice and defect prevention Integration across the product teams running agile or traditional approaches.
•
•
Different development scenarios e.g. single product development, multi-product development, new product development using a combination of the practices. The practices mapped to physical entities to help teams understand the changes to their current way of working and organizational structure “Organizational siloes were torn
down and we were able to shorten our end-to-end delivery cycle. SEMAT’s Essence kernel brought our teams back to basics and laid the foundation for this agile transformation.”
Ivar Jacobson International, Asian Telecommunications Equipment Vendor Successfully Achieves Rapid and Sustainable Agile Transformation, 2014. (http://bit.ly/1BF3vAr) IIIT-B / Sasken / EAIT 2014 - India
55
Case Study 4
분석 식별
목표
통계분석 모형검증
Chang Sub Shin, “Application of Essence to Information Systems Consulting— Why 2e Consulting Adopted Essence?” SEMAT Korea Workshop, Seoul, November 13, 2014 (In Korean). IIIT-B / Sasken / EAIT 2014 - India
56
Benefits •
•
•
•
Provides a common language with which to express, understand and compare different practices and methods Share common practices across multiple product or service lines and many projects. Provides a systematic way to assemble reusable practices into a coherent project method. Provides a uniform framework to assess progress and health of projects that follow different methods. IIIT-B / Sasken / EAIT 2014 - India
57
3. •
•
•
•
Practices to be applied to the activities in the software engineering process of a project are selected from the practice library. Target states are defined for activities. Progress of an activity is assessed using the alpha state checklists. Depending on the current state, the activity is continued, competed, or repeated.
June Sung Park, Activity-Centric Mapping of Software Engineering Practices to Ess ence Kernel, KAIST, 2013. “
”
Jin Young Jang, “Essencia: Open Source Project for Developing an Essence- Based Method Enactment Tool,” SEMAT Korea Workshop, Seoul, November 13, 2014 (In Korean).
IIIT-B / Sasken / EAIT 2014 - India
58
Example 3 •
Project Synopsis* •
A research institution (KAIST Institute) and a private company (Reakosys) conducted a collaborative software project called Mobile Cloudlet R&D Project to develop a group photo curation service based on Wi-Fi Direct technology.
* Project titled “Development of Device Collaborative Giga-Level Smart Cloudlet Technology” supportedby the ICT R&D program [391104004] of MSIP/IITP of Korea.
June Sung Park, Essence-Based, Goal-Driven Adaptive Software Engineering, KAIST, 2014. IIIT-B / Sasken / EAIT 2014 - India
59
Example 3 •
Project Phase I •
•
•
An extended Scrum method was used. After an initial system architecture was designed, an initial product backlog consisting of user stories was produced together with supporting requirement models including UML use case diagrams and class diagrams. Developers conducted test-driven development to implement the sprint backlog.
IIIT-B / Sasken / EAIT 2014 - India
60
Example 3 •
Project Phase II •
•
•
After the system architecture was stabilized, the product backlog was expanded to enhance the marketability of the software services. During the first phase, a significant amount of rework was observed because requirements were not detailed enough for the developers. To address this problem additional requirement modeling practices were employed including use case scenarios, sequence diagrams and UI wireframes.
IIIT-B / Sasken / EAIT 2014 - India
61
Example 3 Activity Product Envisioning Release Planning Product Backlog Dev & Refinement Architecture Design Sprint Planning
Activity Space
Explore Possibilities; Understand Stakeholder Needs; Understand the Requirements Understand Stakeholder Needs; Prepare to Do the Work; Coordinate Activity Understand Stakeholder Needs; Understand the Requirements; Shape the System Shape the System Prepare to Do the Work
Activity Goal States
I
I I II I II I II I
Daily Scrum
Coordinate Activity; Progress; Support theTrack Team
II
Test-Driven Development Sprint Review Increment Release Sprint Retrospective
Implement the System; Test the System Ensure Stakeholder Satisfaction; Test the System; Track Progress
I II I II I II I II
Test the System Support the Team
Practices
Stakeholder::Recognized; Opportunity:: Identified· Solution Needed· Value Established; Requirements:: Conceived· Bounded
I
Stakeholder:: Represented; Opportunity:: Viable; Team:: Seeded· Formed; Work:: Initiated; Way of Working:: Principles Established· I Foundation Established I Stakeholder:: Involved· In Agreement; Requirements::Coherent· Acceptable II SoftwareSystem::ArchitectureSelected Software System:: Architecture Selected· Demonstrable Work:: Prepared Work:: Started; Team:: Collaborating; Way of Working:: In Use Work:: Started·Under Control; Team:: Collaborating·Performing; Way of Working::In Use Software System:: Demonstrable· Usable Stakeholders:: Satisfied for Deployment; Opportunity:: Addressed; Requirements:: Addressed; Work:: Concluded Software System:: Ready Way of Working:: In Place
Software Product Management (SPM) Project Management; Essence-Based Method Enactment;
User Story; UML Use Case; UML Class User Story; UML Use Case; Use Case Scenario; UI Wireframe; UML Class I Service-OrientedArchitecture(SOA) II SOA; Event-Driven Architecture I Planning Poker II
I
Task Board II
Task Board; Burn Down Chart
I II I II I II I II
CRC; XP; Configuration Management CRC; XP; CM; Bug Management ; Product Demo Release Management Essence-Based Method Adaptation
IIIT-B / Sasken / EAIT 2014 - India
62
Benefits •
•
The project may add or replace the practices employed in the project method dynamically and adaptively based on actual development of the project situation. Project team members can use convenient “activity cards” to understand goal in andprogress, current state of the the activity and take appropriate actions.
IIIT-B / Sasken / EAIT 2014 - India
4. •
•
•
•
63
The Essence-based project method is imported to a project management tool to define the project WBS. The practices associated with project activities are linked to the practice-specific tools (such as modeling tool, testing tool, etc.). The project dashboard displays the Essence-based state progress and health that can be drilled down to activity-level check points. Likely to be available in a few years. IIIT-B / Sasken / EAIT 2014 - India
64
V. SEMAT Yesterday, Today & Tomorrow IIIT-B / Sasken / EAIT 2014 - India
65
SEMAT in the Beginning
•
Software Method Crisis •
•
Abundance of unique methods that are hard to compare in the lack of a theoretical basis
Vision (2009) •
•
Create the kernel allowing people to describe their current and future practices and methods using a common vocabulary and framework So that they can be compared, evaluated, composed, simulated, applied, measured, taught and researched.
June Sung Park, Ivar Jacobson, Barry Myburgh, Pontus Johnson and Paul E. McMahon, SEMAT Yesterday, Today and Tomorrow, SEMAT, 2014. (http://semat.org/wp-content/uploads/2014/12/SEMAT-Yesterday-Today-and-Tomorrow-v1.0.pdf ) IIIT-B / Sasken / EAIT 2014 - India
66
Essence Design Principles •
Extensible
•
Actionable
•
Composable
•
Adaptable
•
Scalable
IIIT-B / Sasken / EAIT 2014 - India
67
SEMAT Today •
What do you think are benefits from using Essence? •
•
•
•
•
I may check the progress health of a software project independent of the software engineering practices used. I may describe various software engineering practices using the common Essence kernel and language so that they become comparable and integrated into a coherent project method. I may use Essence kernel as the common quality gates in monitoring the progress of multiple projects under way in my organization. I may use Essence kernel in teaching the foundation of software engineering and show differences and similarities among different software engineering practices. I don't see any benefits from learning and using Essence.
June Sung Park, SEMAT Essence User Survey, March 2014 (https://www.surveymonkey.net/results/ SM-PRLY3P2L/).
Respondents: 123
IIIT-B / Sasken / EAIT 2014 - India
68
SEMAT Today •
OMG Essence 1.0 Beta 1 released in June 2013, Beta 2 in June 2014. Level of Achievement 3
2
Over-achieved
Sufficiently Achieved
Insufficiently Achieved 1
Not started 0
June Sung Park, SEMAT Essence User Survey, March 2014 (https://www.surveymonkey.net/results/ SM-PRLY3P2L/).
IIIT-B / Sasken / EAIT 2014 - India
69
SEMAT Organization •
•
•
•
•
4 work areas 100+ participants 2000 supporters 7 regional chapters (+Malaysia under dev) 75 signatories
IIIT-B / Sasken / EAIT 2014 - India
70
SEMAT Activities •
Theory Area •
•
General Theory of Software Engineering Workshop: 20~30 papers submitted
Practice Area •
•
•
•
•
Early adopters of Essence: Fujitsu Services, Munich Re, KPN, UK government, Japanese consumer electronics, Chinese telecommunication product, Chinese Internet media company, etc. and many more global companies considering adoption Essence User(Initial Guideversions and to Practice development appear Development by year end) Guide under A few books and several papers published in CACM, etc. Case study reports (Munich Re, Asian Telco, Global Internet Service Provide, etc.) Essence tools being offered free from IJI (Practice Workbench, EssWork, iOS app for Alpha State Cards), and being developed by uEngine Solutions and a couple of others IIIT-B / Sasken / EAIT 2014 - India
71
SEMAT Activities •
Education Area •
•
•
•
•
Essence tutorial in ICSE 2013 and 2014 One-Day Essence Workshop in OMG Meeting in 2013, and the second forthcoming in Reston in March 2014. Regional chapters holding Essence workshops: China, Korea, Latin America, Russia, South Africa IJI certified as SEMAT-authorized Essence training institution University courses: CMU SV, Florida Atlantic U, Free U Bozen, KTH RIT, NU Columbia, U Duisburg-Essen, U Oslo
IIIT-B / Sasken / EAIT 2014 - India
72
SEMAT Activities •
Community Area •
•
•
•
SEMAT Inc. established in Florida SEMAT Newsletter published bimonthly SEMAT All Hands meeting SEMAT on Wikipedia and LinkedIn (http://en.wikipedia.org/wiki/SEMAT, https://www.linkedin.com/groups/Semat-2848533)
•
SEMAT Website being rebuilt (http://semat.org/)
IIIT-B / Sasken / EAIT 2014 - India
73
SEMAT Activities •
Regional Chapters •
•
•
•
China Software Industry Association (CSIA) adopted SEMAT as a pivotal component of its Q Plan. Korea Chapter received government grants for R&D on Essence ($0.9M). Russia Chapter is working on an extension of the Essence kernel for Systems Engineering Latin America and South Africa held Essence workshops.
IIIT-B / Sasken / EAIT 2014 - India
74
SEMAT Tomorrow •
Broaden •
•
Deepen •
•
Other areas than software engineering will be addressed: for instance, system engineering, business engineering—maybe anything that has to do with human endeavors. Other possible ways of getting to a General Theory of Software Engineering will be pursued. We don’t want to restrict research in any way, and for that matter doesn’t want to restrict any constructive work in our sphere of interest.
Reach Out • • • • • •
Practice library and marketplace. Curricula, texts and reference materials for teaching software engineering including high schools. Certification of Essence training institutions and trainers and Essence-enabling tools Metrics for measuring users’ success with Essence Regional chapters in U.S.A., Europe and other regions Help 20M software practitioners worldwide take advantage of the output of SEMAT
IIIT-B / Sasken / EAIT 2014 - India
75
SEMAT Tomorrow •
Watts Humphrey may have shown real forethought ahead of the first SEMAT meeting in Zurich, March 2010, when he said: “This meeting in Zurich is likely to be a historic occasion much like the 1968 NATO session in Garmish.”
•
•
SEMAT results are a collective effort from the community for the community. Working together, we are refounding engineering.
software
IIIT-B / Sasken / EAIT 2014 - India