SlideShare ist ein Scribd-Unternehmen logo
1 von 14
ESSENSE – A Kernel of Essentials for Software Engineering Brian Elvesæter, SINTEF ICT Method Engineering – ME’11 21 April 2011, Paris, France 1
Outline Request for Proposal (RFP) Problem statement Desired solution Objectives of the RFP RFP development history and team Method architecture and the Kernel approach Requirements: The Kernel Requirements: The Language Proposed RFP schedule Questions
Problem statement Traditional software engineering and process engineering approaches are viewed by development teams as being too heavyweight and inflexible. Software processes defined by separate process engineers typically do not leave enough flexibility for a development team to customize and tailor the process they use, not just at the beginning, but continuously as necessary over the course of a development effort.  As a result, the use of many good practices and processes is often missing or ad hoc in many development efforts, limiting the ability of development teams to be effective and scalable while remaining flexible and agile.
Desired solution Agile software development is often effectively supported by the use of significant software frameworks that provide: a toolkit of components (libraries and templates) an easy-to-use scripting language for flexibly composing the components.  A similar kind of framework is desired for the flexible creation of software development methods. a set of practices out of which methods can be composed To allow the broadest possible applicability, what needs to be standardized are not the practices themselves, but the common ground of underlying concepts and principles used to define various practices.  an easy-to-use practitioner-oriented modeling language (DSL) is needed to define practices based on the common ground and composing them into methods.  The goal is to support a development team, i.e. the practitioners in defining, refining and customizing themselves the process they are actually using during the course of a software development effort.
ESSENSE RFP Objectives Solicits submissions for ESSENSE a Domain-Specific Language and a Kernel of Essentials for Software Engineering 	(aka. the Common Ground) Goal: a language and a kernel that are scalable, extensible, and easy to use,  allowing people to describe the essentials of  	their current and future methods and practices. Tool support: enable methods and practices to be  composed, compared, evaluated, tailored, used, adapted, simulated and measured by practitioners as well as taught and researched by academic and research communities.
RFP development history & team Version 0: December 2010, Issue list, OMG technical meeting, Santa Clara, USA Version 1a: February 2011, Draft RFP http://www.omg.org/cgi-bin/doc?ad/2011-02-01 Version 1b: March 2011, Updated RFP, AB review, OMG technical meeting, Washington DC, USA http://www.omg.org/cgi-bin/doc?ad/2011-03-01 Version 2a/b: May/June 2011, Revised RFP, OMG technical meeting, Salt Lake City, USA Core team Arne-Jørgen Berre (SINTEF) Dave Cuningham (Fujitsu UK) Brian Elvesæter (SINTEF) Shihong Huang (FAU) Ivar Jacobson (IJI) Paul McMahon (PEM Systems) Ed Seidewitz (Model Driven Solutions) Ed Seymour (Fujitsu UK) Other contributors SEMAT Adaptive Systems Cordys SOFTEAM ESI-Tecnalia ...
Method architecture A method is a composition of practices. Methods are enactable. A practice is a repeatable approach to doing something with a specific purpose in mind. A practice provides a systematic and verifiable way of addressing a particular aspect of the work at hand. The Kernel includes essential elements of software engineering. The Language is the domain-specific language to define methods, practices and the essential elements of the Kernel.
Method Practices A key idea is the existence of a Kernel The Kernel is very small, extracted from a large number of methods It contains a starting point (slots) for the things that every process has, e.g.  work, team, requirement, software system, opportunity and stakeholder  The Kernel is practice and method agnostic. Leaders Developers Analysts Testers Process engineers
Kernel: Straw man (illustrative conceptual model) Alphas(Abstract-Level Progress Health Attributes) represent things to work with that subsume and encapsulate work products at a higher level of abstraction. (1) relevant to an assessment of the project’s progress (stated objectives such as deadlines, costs, quality) (2) can be determined (directly or indirectly) in terms of the current state of the project’s work products < describes < supports organizes > Alpha Work Product Pattern progressed by > < supports produces > progresses > organizes > < supports organizes > Pattern Space Activity Space Activity < involves < involves Competency
Kernel: Straw man (illustrative concrete syntax) Things to Work with Things to Do Understand the Need Ensure StakeholderSatisfaction Accept the System Opportunity Requirements System Specify the System Shape the System ImplementSoftware Test the System Release the System Project Way of Working Team Establish Project Steer Project Support Team Conclude Project Competencies Patterns to Apply CustomerRepresentative Kernel Developer Analyst Tester Leadership
Requirements: The Kernel Definition Expressed in the Language. Encompass the fundamental concepts in the Software Engineering domain, including definitions of elements and their significant relationships. Conciseness Only include a small set of elements that are truly essential. The number of essential elements is expected to be closer to 10 than to 100. Scope Cover from the smallest projects to large systems and systems-of-systems. Broad practice coverage Support many different practices used by significant segments of the industry. Broad lifecycle coverage Accommodate various lifecycle models used by significant segments of the industry. Broad technology coverage Adaptable to a wide range of software technologies (programming languages, specification languages, graphical notations, software tools) used by significant segments of the industry. Comparison Provide a basis for the comparison of methods and practices to see which are suitable for a given situation. Measurement Provide a basis for the measurement of methods and practices, both to enable performance evaluation and to guide evaluation and validation in research. Extension Ability to add practices, levels of detail and lifecycle models.
Requirements: The Language Definition Abstract syntax model defined in MOF (Meta-Object Facility). 	 Formal static and operational semantics defined in terms of the abstract syntax. Graphical concrete syntax that formally maps to the abstract syntax. Textual concrete syntax that formally maps to the abstract syntax. Description Support the description of practices and methods in terms of the essential elements of the Kernel. Composition Support the composition of practices to describe existing and new methods. Work Progress Allow the representation of work progress. (For example, describing a practice that involves iterative development requires describing the starting and ending states of every iteration.) Enactment Support the enactment of methods, both as used to help plan endeavors and as applied (or executed) as part of the day-to-day activities in real projects.
Proposed RFP schedule
Questions Email: brian.elvesater@sintef.no OMG website: http://www.omg.org SEMAT website: http://www.semat.org

Weitere ähnliche Inhalte

Was ist angesagt? (13)

Ch01
Ch01Ch01
Ch01
 
Mini Project- Personal Multimedia Portfolio
Mini Project- Personal Multimedia PortfolioMini Project- Personal Multimedia Portfolio
Mini Project- Personal Multimedia Portfolio
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
Cascon06 tooldemo.ppt
Cascon06 tooldemo.pptCascon06 tooldemo.ppt
Cascon06 tooldemo.ppt
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questions
 
Nasrin
NasrinNasrin
Nasrin
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Prvt file test
Prvt file testPrvt file test
Prvt file test
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
M017548895
M017548895M017548895
M017548895
 

Andere mochten auch (9)

Me2011 presentation by Manfred Jeusfeld
Me2011 presentation by Manfred JeusfeldMe2011 presentation by Manfred Jeusfeld
Me2011 presentation by Manfred Jeusfeld
 
Me2011 Presentation by Loniewski
Me2011 Presentation by LoniewskiMe2011 Presentation by Loniewski
Me2011 Presentation by Loniewski
 
Kingfisherairline
KingfisherairlineKingfisherairline
Kingfisherairline
 
ME2011 presentation by Winter
ME2011 presentation by WinterME2011 presentation by Winter
ME2011 presentation by Winter
 
ME2011 presentation by Overbeek
ME2011 presentation by OverbeekME2011 presentation by Overbeek
ME2011 presentation by Overbeek
 
ME2011 presentation by Levina
ME2011 presentation by LevinaME2011 presentation by Levina
ME2011 presentation by Levina
 
ME2011 presentation by Zikra
ME2011 presentation by ZikraME2011 presentation by Zikra
ME2011 presentation by Zikra
 
ME2011 presentation by Cortes Cornax
ME2011 presentation by Cortes CornaxME2011 presentation by Cortes Cornax
ME2011 presentation by Cortes Cornax
 
ME2011 presentation by Börner
ME2011 presentation by BörnerME2011 presentation by Börner
ME2011 presentation by Börner
 

Ähnlich wie ESSENSE

Essence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEssence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEd Seidewitz
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...zillesubhan
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharingJas Chong
 
Stat Tech Reportv1
Stat Tech Reportv1Stat Tech Reportv1
Stat Tech Reportv1stat
 
Technical competency dictionary for it
Technical competency dictionary for itTechnical competency dictionary for it
Technical competency dictionary for itConfidential
 
How to improve Developer Documentations ?
How to improve Developer Documentations ?How to improve Developer Documentations ?
How to improve Developer Documentations ?Utsav Parashar
 
software development methodologies
software development methodologiessoftware development methodologies
software development methodologiesUTeM
 
Requirementv4
Requirementv4Requirementv4
Requirementv4stat
 
1 P a g e Going Agile – A Case Study Dwayne .docx
1  P a g e  Going Agile – A Case Study  Dwayne .docx1  P a g e  Going Agile – A Case Study  Dwayne .docx
1 P a g e Going Agile – A Case Study Dwayne .docxhoney725342
 
Automatic Term Recognition with Apache Solr
Automatic Term Recognition with Apache SolrAutomatic Term Recognition with Apache Solr
Automatic Term Recognition with Apache SolrJIE GAO
 
Project Management
Project ManagementProject Management
Project ManagementBabu Appat
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And DesigningAbdurrahman A.S.M
 
CH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxCH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxKhcThKhnhHuyn1T20ACN
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.Masoud Kalali
 
Successful Single-Source Content Development
Successful Single-Source Content Development Successful Single-Source Content Development
Successful Single-Source Content Development Xyleme
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 

Ähnlich wie ESSENSE (20)

Essence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEssence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible Methods
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharing
 
Stat Tech Reportv1
Stat Tech Reportv1Stat Tech Reportv1
Stat Tech Reportv1
 
Technical competency dictionary for it
Technical competency dictionary for itTechnical competency dictionary for it
Technical competency dictionary for it
 
How to improve Developer Documentations ?
How to improve Developer Documentations ?How to improve Developer Documentations ?
How to improve Developer Documentations ?
 
software development methodologies
software development methodologiessoftware development methodologies
software development methodologies
 
Requirementv4
Requirementv4Requirementv4
Requirementv4
 
Uml 2.x
Uml 2.xUml 2.x
Uml 2.x
 
1 P a g e Going Agile – A Case Study Dwayne .docx
1  P a g e  Going Agile – A Case Study  Dwayne .docx1  P a g e  Going Agile – A Case Study  Dwayne .docx
1 P a g e Going Agile – A Case Study Dwayne .docx
 
Automatic Term Recognition with Apache Solr
Automatic Term Recognition with Apache SolrAutomatic Term Recognition with Apache Solr
Automatic Term Recognition with Apache Solr
 
Project Management
Project ManagementProject Management
Project Management
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And Designing
 
Agile and XP
Agile and XPAgile and XP
Agile and XP
 
CH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxCH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptx
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.
 
Chapter1
Chapter1Chapter1
Chapter1
 
Successful Single-Source Content Development
Successful Single-Source Content Development Successful Single-Source Content Development
Successful Single-Source Content Development
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 

Mehr von Method Engineering 2011 - IFIP WG.8.1 Working Conference (11)

ME2011 presentation by Hoppenbrouwers
ME2011 presentation by HoppenbrouwersME2011 presentation by Hoppenbrouwers
ME2011 presentation by Hoppenbrouwers
 
ME2011 presentation by Asadi
ME2011 presentation by AsadiME2011 presentation by Asadi
ME2011 presentation by Asadi
 
ME2011 presentation by Faci
ME2011 presentation by FaciME2011 presentation by Faci
ME2011 presentation by Faci
 
Me2011 Granularity presentation by Henderson-Sellers
Me2011 Granularity presentation by Henderson-SellersMe2011 Granularity presentation by Henderson-Sellers
Me2011 Granularity presentation by Henderson-Sellers
 
Me2011 Method Assessment by Henderson-Sellers
Me2011 Method Assessment by Henderson-SellersMe2011 Method Assessment by Henderson-Sellers
Me2011 Method Assessment by Henderson-Sellers
 
Me2011 presentation by Sophie Dupuy-Chessa
Me2011 presentation by Sophie Dupuy-ChessaMe2011 presentation by Sophie Dupuy-Chessa
Me2011 presentation by Sophie Dupuy-Chessa
 
Me2011 presentation by Victoria Torres
Me2011 presentation by Victoria TorresMe2011 presentation by Victoria Torres
Me2011 presentation by Victoria Torres
 
ME2011 presentation by Vlaanderen
ME2011 presentation by VlaanderenME2011 presentation by Vlaanderen
ME2011 presentation by Vlaanderen
 
ME2011 presentation by Mirandolle
ME2011 presentation by MirandolleME2011 presentation by Mirandolle
ME2011 presentation by Mirandolle
 
ME2011 Keynote by Marko Bajec
ME2011 Keynote by Marko BajecME2011 Keynote by Marko Bajec
ME2011 Keynote by Marko Bajec
 
ME11 Opening
ME11 OpeningME11 Opening
ME11 Opening
 

Kürzlich hochgeladen

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Kürzlich hochgeladen (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

ESSENSE

  • 1. ESSENSE – A Kernel of Essentials for Software Engineering Brian Elvesæter, SINTEF ICT Method Engineering – ME’11 21 April 2011, Paris, France 1
  • 2. Outline Request for Proposal (RFP) Problem statement Desired solution Objectives of the RFP RFP development history and team Method architecture and the Kernel approach Requirements: The Kernel Requirements: The Language Proposed RFP schedule Questions
  • 3. Problem statement Traditional software engineering and process engineering approaches are viewed by development teams as being too heavyweight and inflexible. Software processes defined by separate process engineers typically do not leave enough flexibility for a development team to customize and tailor the process they use, not just at the beginning, but continuously as necessary over the course of a development effort. As a result, the use of many good practices and processes is often missing or ad hoc in many development efforts, limiting the ability of development teams to be effective and scalable while remaining flexible and agile.
  • 4. Desired solution Agile software development is often effectively supported by the use of significant software frameworks that provide: a toolkit of components (libraries and templates) an easy-to-use scripting language for flexibly composing the components. A similar kind of framework is desired for the flexible creation of software development methods. a set of practices out of which methods can be composed To allow the broadest possible applicability, what needs to be standardized are not the practices themselves, but the common ground of underlying concepts and principles used to define various practices. an easy-to-use practitioner-oriented modeling language (DSL) is needed to define practices based on the common ground and composing them into methods. The goal is to support a development team, i.e. the practitioners in defining, refining and customizing themselves the process they are actually using during the course of a software development effort.
  • 5. ESSENSE RFP Objectives Solicits submissions for ESSENSE a Domain-Specific Language and a Kernel of Essentials for Software Engineering (aka. the Common Ground) Goal: a language and a kernel that are scalable, extensible, and easy to use, allowing people to describe the essentials of their current and future methods and practices. Tool support: enable methods and practices to be composed, compared, evaluated, tailored, used, adapted, simulated and measured by practitioners as well as taught and researched by academic and research communities.
  • 6. RFP development history & team Version 0: December 2010, Issue list, OMG technical meeting, Santa Clara, USA Version 1a: February 2011, Draft RFP http://www.omg.org/cgi-bin/doc?ad/2011-02-01 Version 1b: March 2011, Updated RFP, AB review, OMG technical meeting, Washington DC, USA http://www.omg.org/cgi-bin/doc?ad/2011-03-01 Version 2a/b: May/June 2011, Revised RFP, OMG technical meeting, Salt Lake City, USA Core team Arne-Jørgen Berre (SINTEF) Dave Cuningham (Fujitsu UK) Brian Elvesæter (SINTEF) Shihong Huang (FAU) Ivar Jacobson (IJI) Paul McMahon (PEM Systems) Ed Seidewitz (Model Driven Solutions) Ed Seymour (Fujitsu UK) Other contributors SEMAT Adaptive Systems Cordys SOFTEAM ESI-Tecnalia ...
  • 7. Method architecture A method is a composition of practices. Methods are enactable. A practice is a repeatable approach to doing something with a specific purpose in mind. A practice provides a systematic and verifiable way of addressing a particular aspect of the work at hand. The Kernel includes essential elements of software engineering. The Language is the domain-specific language to define methods, practices and the essential elements of the Kernel.
  • 8. Method Practices A key idea is the existence of a Kernel The Kernel is very small, extracted from a large number of methods It contains a starting point (slots) for the things that every process has, e.g. work, team, requirement, software system, opportunity and stakeholder The Kernel is practice and method agnostic. Leaders Developers Analysts Testers Process engineers
  • 9. Kernel: Straw man (illustrative conceptual model) Alphas(Abstract-Level Progress Health Attributes) represent things to work with that subsume and encapsulate work products at a higher level of abstraction. (1) relevant to an assessment of the project’s progress (stated objectives such as deadlines, costs, quality) (2) can be determined (directly or indirectly) in terms of the current state of the project’s work products < describes < supports organizes > Alpha Work Product Pattern progressed by > < supports produces > progresses > organizes > < supports organizes > Pattern Space Activity Space Activity < involves < involves Competency
  • 10. Kernel: Straw man (illustrative concrete syntax) Things to Work with Things to Do Understand the Need Ensure StakeholderSatisfaction Accept the System Opportunity Requirements System Specify the System Shape the System ImplementSoftware Test the System Release the System Project Way of Working Team Establish Project Steer Project Support Team Conclude Project Competencies Patterns to Apply CustomerRepresentative Kernel Developer Analyst Tester Leadership
  • 11. Requirements: The Kernel Definition Expressed in the Language. Encompass the fundamental concepts in the Software Engineering domain, including definitions of elements and their significant relationships. Conciseness Only include a small set of elements that are truly essential. The number of essential elements is expected to be closer to 10 than to 100. Scope Cover from the smallest projects to large systems and systems-of-systems. Broad practice coverage Support many different practices used by significant segments of the industry. Broad lifecycle coverage Accommodate various lifecycle models used by significant segments of the industry. Broad technology coverage Adaptable to a wide range of software technologies (programming languages, specification languages, graphical notations, software tools) used by significant segments of the industry. Comparison Provide a basis for the comparison of methods and practices to see which are suitable for a given situation. Measurement Provide a basis for the measurement of methods and practices, both to enable performance evaluation and to guide evaluation and validation in research. Extension Ability to add practices, levels of detail and lifecycle models.
  • 12. Requirements: The Language Definition Abstract syntax model defined in MOF (Meta-Object Facility). Formal static and operational semantics defined in terms of the abstract syntax. Graphical concrete syntax that formally maps to the abstract syntax. Textual concrete syntax that formally maps to the abstract syntax. Description Support the description of practices and methods in terms of the essential elements of the Kernel. Composition Support the composition of practices to describe existing and new methods. Work Progress Allow the representation of work progress. (For example, describing a practice that involves iterative development requires describing the starting and ending states of every iteration.) Enactment Support the enactment of methods, both as used to help plan endeavors and as applied (or executed) as part of the day-to-day activities in real projects.
  • 14. Questions Email: brian.elvesater@sintef.no OMG website: http://www.omg.org SEMAT website: http://www.semat.org