SlideShare una empresa de Scribd logo
1 de 28
Copyright © 2014 Ivar Jacobson International SA. All rights reserved
Essence:
A Common Ground for Flexible Methods
Ed Seidewitz
• Embody essential concepts in a kernel.
• Work with methods in an agile way that are as close to
practitioners’ practice as possible.
• Focus on the things that matter the most.
• Focus on helping the least experienced developers over helping
more experienced developers.
• Understand that the majority of practitioners are interested in…
– the use of methods, not their definition.
– practice, not process or method engineering.
– intuitive and concrete graphical syntax, not formal semantics.
Principles of Essence
2
• “Foundation for Agile Creation and Enactment of Software
Engineering Methods” (FACESEM) RFP issued June, 2011
• Essence – Kernel and Language for Software Engineering
Methods submitted February 2013
• Essence 1.0 Finalization Task Force chartered March 2013
• Essence 1.0 (beta) adopted May 2014
The Essence Specification
3
Method Architecture
4
The Kernel is the
common ground thus it
includes essential
elements of software
engineering.The Language is used to define
methods, practices and the
essential elements of the Kernel.
A practice is a repeatable
approach to doing
something with a specific
purpose in mind.
A method is an enactable
composition of practices.
The Kernel
5
A stripped-down,
lightweight set of
definitions that captures
the essence of effective,
scalable software
engineering in a practice
independent way.
The Kernel is described
using a small subset of the
Language.
Alphas: The things to work with
Activity Spaces: The things to do
Competencies: The abilities needed
Content of the Kernel
6
What is an alpha?
7
• Alpha is an acronym for an Abstract-Level Progress
Health Attribute.
• An essential element of the software engineering
endeavor that is relevant to an assessment of the
progress and health of the endeavor.
Software Engineering Kernel Alphas
8
Alphas: Example
9
Requirements
Description
What the software system must do to address the opportunity and satisfy the stakeholders.
It is important to discover what is needed from the software system, share this understanding among the stakeholders and the
team members, and use it to drive the development and testing of the new system.
Associations
scopes and constrains : Work
Software Engineering Kernel Activity Spaces
10
Activity Spaces: Examples
Scrum Essentials Practice
Activity Space
Activity
Activity Predecessor
Relationship
11
Software Engineering Kernel Competencies
12
The Language
13
The language provides three
graphical views:
1. Alphas and Their States
2. Sub-Alphas and Work
Products
3. Activity Spaces and
Activities
The language is defined in five
packages:
1. Foundation
2. Alpha and Work Product
3. Activity Space and Activity
4. Competency
5. User Defined Types
The Language: Small, Simple and Flexible
Competency
Alpha State
Activity Space<involvestargets>
Alpha
<has Activity
Work Product
produces
/updates>
organizes >
< evidences
PatternResource
Can be added to anything
14
Language: Graphical Notation Examples
15
Language – Textual Notation Example
16
alpha Requirements {
"What the software system must do to address the opportunity and satisfy the stakeholders."
has {
state Conceived {
"The need for a new system has been agreed.”
checks {
item cli1 {"The initial set of stakeholders agrees that a system is to be produced."}
item cli2 {"The stakeholders that will use and fund the new system are identified."}
item cli3 {"The stakeholders agree on the purpose of the new system.”}
item cli4 {"The expected value of the new system has been agreed."}
}
}
state Bounded {
"The theme and extent of the new system is clear."
checks {
item cli1 {"Stakeholders involved in developing the new system are identified."}
item cli2 {"It is clear what success is for the new system."}
item cli3 {"The stakeholders have a shared understanding of the extent of the proposed solution."}
item cli4 {"The way the requirements will be described is agreed upon.”}
item cli5 {"The mechanisms for managing the requirements are in place."}
}
}
…
Language: Semantic Framework
17
Semantics:
Determination of State using Check Points
18
Practices
19
Practices and
methods are built
on the language
using the kernel.
Documenting Practices
20
Tacit
Practices
With
Coaching
Explicit
Practices
With
Coaching
Background
Capability
Common Different
Explicit
Practices
Needed
Tacit
Practices
Sufficient
High
Low
A Practice Architecture
Mobile
Application
Development
Method
Kernel
Core Banking
Development
Method
Enterprise
Integration
Method
Defect/Issue Tracking
Configuration Management
Defect/Issue Tracking
Configuration Management
Defect/Issue Tracking
Configuration Management
Common
Practices
Waterfall Lifecycle Modern Lifecycle Modern Lifecycle
Architecture Centric Emerging
Architecture
Emerging Architecture
Traditional Requirements User storiesUse Cases
Endeavor Type
Specific
Practices
Acceptance Test Driven
Development
Acceptance Test Driven
Development
Acceptance Test Driven
Development
Improvement
Practice Composition: Base Practices
22
Iterative Planning Practice
Iterative Assessment Practice
Agree on
Iteration
Guide
Team
Iteration
Plan
Evaluate
Result
Iteration
Assessment
Practice Composition: Composite Practice
23
Iterative Development
Agree on
Iteration
Guide
Team
Iteration
Plan
Evaluate
Result
Iteration
Assessment
Practice Explorer
24
The Practice Explorer shows Practice
Workbench projects
The Essence Kernel project contains the
elements defined in the OMG Essence
specification
Alphas that represent the essential
things to work with
Activity Spaces that represent the
essential things to do
ETextile, Guideline and Card views
25
When selecting an
element in the
Practice Explorer
you can switch
between different
views
The ETextile Source view provides the
main editor for authoring the practice
using plain text and annotations
The Guideline Preview
renders how the guideline will
be presented in HTML
The Overview Card
Preview renders the
card presentation
Scrum Essentials
26
The Scrum practice is created as a
separate practice project in the Practice
Workbench
The Scrum practice extends the
Essence Kernel by providing more
detailed guidance.
Drag and drop the relevant Alphas to
extend from the Essence Kernel into the
Scrum practice project
Drag and drop the relevant Activity
Spaces to extend from the Essence
Kernel into the Scrum practice project
Scrum Roles
27
Scrum roles are
represented as
Patterns
Product Owner
(Guideline Preview)
Product Owner (Card
Preview)
Scrum Sprint
28
Sprint is represented as
a sub-alpha of Work
The Sprint has
States with
Checkpoints
The Sprint has associated the Work Product
Sprint Backlog that contains the set of Product
Backlog items selected for the Sprint, and the
plan for delivering the product Increment
Sprint (Card Preview)
Sprint in Under
Control State
(Card Preview)
Under Control
(State Card Preview)

Más contenido relacionado

Similar a Essence: A Common Ground for Flexible Methods

Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesAnkica Barisic
 
ESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software EngineeringESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software EngineeringBrian Elvesæter
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxMrSDeepakRajAssistan
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxAbdulMateen516672
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodologyArisAaron
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachPanagiotis Papaioannou
 
Quality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case studyQuality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case studyAnkica Barisic
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship ChecklistRyan Polk
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open DevelopmentRoss Gardler
 
Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesMarkus Voelter
 
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman Elizabeth Steiner
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sampleNorman K Ma
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 

Similar a Essence: A Common Ground for Flexible Methods (20)

Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
ESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software EngineeringESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software Engineering
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodology
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic Approach
 
Quality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case studyQuality in use of domain-specific languages: a case study
Quality in use of domain-specific languages: a case study
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship Checklist
 
Climbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processesClimbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processes
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language Workbenches
 
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman
Lifecycle Modeling Language Tutorial by Dr. Dam and Dr. Vaneman
 
Resume Raushan
Resume RaushanResume Raushan
Resume Raushan
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sample
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 

Más de Ed Seidewitz

SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?Ed Seidewitz
 
Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Ed Seidewitz
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingEd Seidewitz
 
Leveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation ModelingLeveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation ModelingEd Seidewitz
 
The Very Model of a Modern Metamodeler
The Very Model of a Modern MetamodelerThe Very Model of a Modern Metamodeler
The Very Model of a Modern MetamodelerEd Seidewitz
 
SysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesSysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesEd Seidewitz
 
SysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsSysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsEd Seidewitz
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionEd Seidewitz
 
Model Driven Architecture without Automation
Model Driven Architecture without AutomationModel Driven Architecture without Automation
Model Driven Architecture without AutomationEd Seidewitz
 
Using Alf with Cameo Simulation Toolkit - Part 2: Modeling
Using Alf with Cameo Simulation Toolkit - Part 2: ModelingUsing Alf with Cameo Simulation Toolkit - Part 2: Modeling
Using Alf with Cameo Simulation Toolkit - Part 2: ModelingEd Seidewitz
 
Using Alf with Cameo Simulation Toolkit - Part 1: Basics
Using Alf with Cameo Simulation Toolkit - Part 1: BasicsUsing Alf with Cameo Simulation Toolkit - Part 1: Basics
Using Alf with Cameo Simulation Toolkit - Part 1: BasicsEd Seidewitz
 
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Ed Seidewitz
 
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierHands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierEd Seidewitz
 
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseStandards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseEd Seidewitz
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!Ed Seidewitz
 
A Unified View of Modeling and Programming
A Unified View of Modeling and ProgrammingA Unified View of Modeling and Programming
A Unified View of Modeling and ProgrammingEd Seidewitz
 
UML as a Programming Language
UML as a Programming LanguageUML as a Programming Language
UML as a Programming LanguageEd Seidewitz
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with MeaningEd Seidewitz
 
Succeeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveSucceeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveEd Seidewitz
 

Más de Ed Seidewitz (20)

SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?
 
Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
 
Leveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation ModelingLeveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation Modeling
 
The Very Model of a Modern Metamodeler
The Very Model of a Modern MetamodelerThe Very Model of a Modern Metamodeler
The Very Model of a Modern Metamodeler
 
SysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesSysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling Languages
 
SysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsSysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten years
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the Vision
 
Model Driven Architecture without Automation
Model Driven Architecture without AutomationModel Driven Architecture without Automation
Model Driven Architecture without Automation
 
Using Alf with Cameo Simulation Toolkit - Part 2: Modeling
Using Alf with Cameo Simulation Toolkit - Part 2: ModelingUsing Alf with Cameo Simulation Toolkit - Part 2: Modeling
Using Alf with Cameo Simulation Toolkit - Part 2: Modeling
 
Using Alf with Cameo Simulation Toolkit - Part 1: Basics
Using Alf with Cameo Simulation Toolkit - Part 1: BasicsUsing Alf with Cameo Simulation Toolkit - Part 1: Basics
Using Alf with Cameo Simulation Toolkit - Part 1: Basics
 
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
 
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierHands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
 
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseStandards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!
 
A Unified View of Modeling and Programming
A Unified View of Modeling and ProgrammingA Unified View of Modeling and Programming
A Unified View of Modeling and Programming
 
UML as a Programming Language
UML as a Programming LanguageUML as a Programming Language
UML as a Programming Language
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with Meaning
 
Succeeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveSucceeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's Perspective
 

Último

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Último (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Essence: A Common Ground for Flexible Methods

  • 1. Copyright © 2014 Ivar Jacobson International SA. All rights reserved Essence: A Common Ground for Flexible Methods Ed Seidewitz
  • 2. • Embody essential concepts in a kernel. • Work with methods in an agile way that are as close to practitioners’ practice as possible. • Focus on the things that matter the most. • Focus on helping the least experienced developers over helping more experienced developers. • Understand that the majority of practitioners are interested in… – the use of methods, not their definition. – practice, not process or method engineering. – intuitive and concrete graphical syntax, not formal semantics. Principles of Essence 2
  • 3. • “Foundation for Agile Creation and Enactment of Software Engineering Methods” (FACESEM) RFP issued June, 2011 • Essence – Kernel and Language for Software Engineering Methods submitted February 2013 • Essence 1.0 Finalization Task Force chartered March 2013 • Essence 1.0 (beta) adopted May 2014 The Essence Specification 3
  • 4. Method Architecture 4 The Kernel is the common ground thus it includes essential elements of software engineering.The Language is used to define methods, practices and the essential elements of the Kernel. A practice is a repeatable approach to doing something with a specific purpose in mind. A method is an enactable composition of practices.
  • 5. The Kernel 5 A stripped-down, lightweight set of definitions that captures the essence of effective, scalable software engineering in a practice independent way. The Kernel is described using a small subset of the Language.
  • 6. Alphas: The things to work with Activity Spaces: The things to do Competencies: The abilities needed Content of the Kernel 6
  • 7. What is an alpha? 7 • Alpha is an acronym for an Abstract-Level Progress Health Attribute. • An essential element of the software engineering endeavor that is relevant to an assessment of the progress and health of the endeavor.
  • 9. Alphas: Example 9 Requirements Description What the software system must do to address the opportunity and satisfy the stakeholders. It is important to discover what is needed from the software system, share this understanding among the stakeholders and the team members, and use it to drive the development and testing of the new system. Associations scopes and constrains : Work
  • 10. Software Engineering Kernel Activity Spaces 10
  • 11. Activity Spaces: Examples Scrum Essentials Practice Activity Space Activity Activity Predecessor Relationship 11
  • 12. Software Engineering Kernel Competencies 12
  • 13. The Language 13 The language provides three graphical views: 1. Alphas and Their States 2. Sub-Alphas and Work Products 3. Activity Spaces and Activities The language is defined in five packages: 1. Foundation 2. Alpha and Work Product 3. Activity Space and Activity 4. Competency 5. User Defined Types
  • 14. The Language: Small, Simple and Flexible Competency Alpha State Activity Space<involvestargets> Alpha <has Activity Work Product produces /updates> organizes > < evidences PatternResource Can be added to anything 14
  • 16. Language – Textual Notation Example 16 alpha Requirements { "What the software system must do to address the opportunity and satisfy the stakeholders." has { state Conceived { "The need for a new system has been agreed.” checks { item cli1 {"The initial set of stakeholders agrees that a system is to be produced."} item cli2 {"The stakeholders that will use and fund the new system are identified."} item cli3 {"The stakeholders agree on the purpose of the new system.”} item cli4 {"The expected value of the new system has been agreed."} } } state Bounded { "The theme and extent of the new system is clear." checks { item cli1 {"Stakeholders involved in developing the new system are identified."} item cli2 {"It is clear what success is for the new system."} item cli3 {"The stakeholders have a shared understanding of the extent of the proposed solution."} item cli4 {"The way the requirements will be described is agreed upon.”} item cli5 {"The mechanisms for managing the requirements are in place."} } } …
  • 18. Semantics: Determination of State using Check Points 18
  • 19. Practices 19 Practices and methods are built on the language using the kernel.
  • 21. A Practice Architecture Mobile Application Development Method Kernel Core Banking Development Method Enterprise Integration Method Defect/Issue Tracking Configuration Management Defect/Issue Tracking Configuration Management Defect/Issue Tracking Configuration Management Common Practices Waterfall Lifecycle Modern Lifecycle Modern Lifecycle Architecture Centric Emerging Architecture Emerging Architecture Traditional Requirements User storiesUse Cases Endeavor Type Specific Practices Acceptance Test Driven Development Acceptance Test Driven Development Acceptance Test Driven Development Improvement
  • 22. Practice Composition: Base Practices 22 Iterative Planning Practice Iterative Assessment Practice Agree on Iteration Guide Team Iteration Plan Evaluate Result Iteration Assessment
  • 23. Practice Composition: Composite Practice 23 Iterative Development Agree on Iteration Guide Team Iteration Plan Evaluate Result Iteration Assessment
  • 24. Practice Explorer 24 The Practice Explorer shows Practice Workbench projects The Essence Kernel project contains the elements defined in the OMG Essence specification Alphas that represent the essential things to work with Activity Spaces that represent the essential things to do
  • 25. ETextile, Guideline and Card views 25 When selecting an element in the Practice Explorer you can switch between different views The ETextile Source view provides the main editor for authoring the practice using plain text and annotations The Guideline Preview renders how the guideline will be presented in HTML The Overview Card Preview renders the card presentation
  • 26. Scrum Essentials 26 The Scrum practice is created as a separate practice project in the Practice Workbench The Scrum practice extends the Essence Kernel by providing more detailed guidance. Drag and drop the relevant Alphas to extend from the Essence Kernel into the Scrum practice project Drag and drop the relevant Activity Spaces to extend from the Essence Kernel into the Scrum practice project
  • 27. Scrum Roles 27 Scrum roles are represented as Patterns Product Owner (Guideline Preview) Product Owner (Card Preview)
  • 28. Scrum Sprint 28 Sprint is represented as a sub-alpha of Work The Sprint has States with Checkpoints The Sprint has associated the Work Product Sprint Backlog that contains the set of Product Backlog items selected for the Sprint, and the plan for delivering the product Increment Sprint (Card Preview) Sprint in Under Control State (Card Preview) Under Control (State Card Preview)