SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
work in progress
comments appreciated!




 In search of the Higgs
                        or
What's wrong with SEMAT?
                                 Rich Hilliard
                             richh@mit.edu
Note to the Reader

This presentation sketches an argument which
is to be more fully elaborated (with references)
as a full paper

I am circulating it in this preliminary form to
encourage feedback which I will take into
consideration in completing that paper
Software Engineering and Physics:
an analogy

I won't argue for the analogy here -- you'll have
to see the full paper for the details
The Higgs
Physicists have been searching for evidence of the Higgs
since it was hypothesized (1964)

The Higgs plays two important roles:
● as unifier: explaining physical phenomena (electricity,
    magnetism and light as the electroweak force)
●   as evidence: that the Standard Model is valid
In Software Engineering ...
What are our standard models?

Is there a Software Engineering "Theory of
Everything"?
Software Engineering
"theories of everything"?
● Software & Systems Process Engineering Metamodel
  (SPEM)

● ISO 24744, Software Engineering Metamodel for
  Development Methodologies (SEMDM)

● ISO/IEC TR 24774, Software and systems engineering --
  Lifecycle management -- Guidelines for process
  description

● Software Engineering Method and Theory (SEMAT)
Software Engineering:
"theories of everything"?

●   Each offers a theory of what Software
    Engineering is

● Are the process models our "Standard
  Models"?

(I hope not)
Why SEMAT?
● I focus on SEMAT because it is the most recent, it
   should have learned from its predecessors, and it is still
   under development ...

● My goal is to point out a missing dimension which is not
   prominent -- actually altogether missing! -- from the
   current models
About SEMAT
● The goal of SEMAT is to

   "refound software engineering based on a solid theory,
   proven principles and best practices" [Vision]

● Following its predecessors (listed above), SEMAT
   outlines an ontology of software engineering process,
   method and product
SEMAT is built upon...
"a Kernel and a Language for software engineering method
specification. They are scalable, extensible, and easy to use,
and allow people to describe the essentials of their existing
and future methods and practices so that they can be
compared, evaluated, tailored, used, adapted, simulated
and measured by practitioners as well as taught and
researched by academics and researchers." [Essence]
The SEMAT Kernel...
"... must include a concrete representation of the acts and
artifacts of software development, applicable to a wide
range of software projects. It must also provide an
extension language for adaptation to specific methods,
practices and patterns." [Vision]

"... includes the essential elements that are always prevalent
in every software engineering endeavor, such as
Requirements, Software System, Team and Work."
[Essence]
All very nice, but ...

Is SEMAT an adequate basis for a Software
Engineering Theory of Everything?

(I think not)

There are questions that cannot be formulated
-- nor answered -- within the SEMAT ontology
(Sample) Questions SEMAT cannot
answer
● What Work Items should I look at to assess progress in
  developing this System?
● What links a Requirement on this System with a Work
  Item with a Team?
● Does this Team have the right skills to successfully
  deliver this Work Item?
● Is this Work Item affected (e.g., will it need reworking)
  by a change to this Requirement?
● What risks might befall this System? Are they being
  mitigated, managed and solved?
Process models are missing the Why of
Software Engineering

If the SEMAT Alphas are the 'fundamental
particles' of Software Engineering, what is the
'Higgs field' that holds them together and gives
them meaning?
Concerns!
"Concerns are what we care about in software."
[COSMOS]
concern: interest in a system relevant to one or more of its
stakeholders ... A concern pertains to any influence on a
system in its environment; including developmental,
technological, business, operational, organizational,
political, economic, legal, regulatory, ecological and social
influences [42010]
Concerns, as in Dijkstra's phrase, "separation of
concerns": ...
Dijkstra's "separation of
concerns"
Let me try to explain to you, what to my taste is characteristic for all intelligent
thinking. It is, that one is willing to study in depth an aspect of one's subject
matter in isolation for the sake of its own consistency, all the time knowing that
one is occupying oneself only with one of the aspects. We know that a program
must be correct and we can study it from that viewpoint only; we also know that
it should be efficient and we can study its efficiency on another day, so to speak.
In another mood we may ask ourselves whether, and if so: why, the program is
desirable. But nothing is gained--on the contrary!--by tackling these various
aspects simultaneously. It is what I sometimes have called ``the separation
of concerns'', which, even if not perfectly possible, is yet the only available
technique for effective ordering of one's thoughts, that I know of. This is what I
mean by ``focussing one's attention upon some aspect'': it does not mean
ignoring the other aspects, it is just doing justice to the fact that from this
aspect's point of view, the other is irrelevant. It is being one- and multiple-track
minded simultaneously. [Dijkstra]
Concerns bind the other elements
Concerns underwrite the reasons for work (processes and
tasks):
● e.g., We perform this work item because it yields an
   understanding of system deployment

Concerns give work products their meanings:
● e.g., This work product explains how reliability is
   managed during system development
Concerns are the things we are interested in; they bind
together processes, artifacts, people, in terms of their
relevance
Therefore ...

Concerns must be modeled and managed as
first-class entities of any software engineering
ontology to be useful to practical method
definition and execution

This is completely missing from SEMAT and
other process model approaches
Existing work on concerns
Concerns are not a new idea...

●   Concern spaces
●   Concern-oriented software engineering
●   Viewpoints
●   ISO/IEC/IEEE 42010 (originally IEEE 1471:
    2000): concerns to select and organize
    architecture viewpoints
Aside
There are other issues with the SEMAT,
i.e., with its ontology -- but these are
topics for another time
(Call me)
References
[42010] ISO/IEC/IEEE 42010:2011, System and software engineering
-- Architecture description.
[COSMOS] S.M. Sutton Jr. and I. Rouvellou, "Concern Space Modeling
in COSMOS", OOPSLA 2001.
[Dijkstra] E.W. Dijkstra, On the role of scientific thought. 1974. http:
//www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD447.
html
[Essence] Essence – Kernel and Language for Software Engineering
Methods, OMG, ad/2012-08-15
[FSC] "Framing Stakeholders' Concerns", special issue of IEEE
Software, Nov/Dec 2010.
[Vision] Software Engineering Method and Theory -- A Vision
Statement
Sidebar: Concerns in SEMAT
"In everything we do we apply the principle of 'separation
of concerns''. For instance, we separate what the
practitioner wants to work with from what a process
engineer needs, in such a way that the practitioner doesn't
need to 'see' more than what is of interest to her/him. We
also separate practitioners from one another; all developers
do not have the same level of interest." [Vision]
Sidebar: Concerns in SEMAT
SEMAT uses the phrase, "separation of concerns" -- but
does not follow through on taking concerns seriously as
first-class entities

Rather than allowing first-class concerns, SEMAT fixes
three areas of concern:
● Customer, Solution and Endeavor

This is too coarse (and static) to be of use in actual projects

Mais conteúdo relacionado

Mais procurados

Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
naina-rani
 
Plan design implement
Plan design implementPlan design implement
Plan design implement
MR Z
 
Information Systems design science research
Information Systems design science  researchInformation Systems design science  research
Information Systems design science research
Raimo Halinen
 
Designing the expert system
Designing the expert systemDesigning the expert system
Designing the expert system
asimnawaz54
 
Chapter1 introduction-to-design
Chapter1 introduction-to-designChapter1 introduction-to-design
Chapter1 introduction-to-design
Vin Voro
 
Hevner design-science
Hevner design-scienceHevner design-science
Hevner design-science
shmushmu
 

Mais procurados (18)

Developing Knowledge-Based Systems
Developing Knowledge-Based SystemsDeveloping Knowledge-Based Systems
Developing Knowledge-Based Systems
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Decision support systems
Decision support systemsDecision support systems
Decision support systems
 
OR
OROR
OR
 
Plan design implement
Plan design implementPlan design implement
Plan design implement
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
System Analysis and Design slides by Belew yenealem DTU Ethiopia
System Analysis and Design slides by Belew yenealem DTU EthiopiaSystem Analysis and Design slides by Belew yenealem DTU Ethiopia
System Analysis and Design slides by Belew yenealem DTU Ethiopia
 
Computational thinking
Computational thinkingComputational thinking
Computational thinking
 
Information Systems design science research
Information Systems design science  researchInformation Systems design science  research
Information Systems design science research
 
Patterns Overview
Patterns OverviewPatterns Overview
Patterns Overview
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Designing the expert system
Designing the expert systemDesigning the expert system
Designing the expert system
 
Fuzzy expert system
Fuzzy expert systemFuzzy expert system
Fuzzy expert system
 
Module 2 design patterns-2
Module 2   design patterns-2Module 2   design patterns-2
Module 2 design patterns-2
 
Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)
 
Chapter1 introduction-to-design
Chapter1 introduction-to-designChapter1 introduction-to-design
Chapter1 introduction-to-design
 
Hevner design-science
Hevner design-scienceHevner design-science
Hevner design-science
 
SoftComputingc2
SoftComputingc2SoftComputingc2
SoftComputingc2
 

Destaque (7)

Concerns
ConcernsConcerns
Concerns
 
Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010
 
Using UML for architecture description
Using UML for architecture descriptionUsing UML for architecture description
Using UML for architecture description
 
Introduction to SEMAT
Introduction to SEMATIntroduction to SEMAT
Introduction to SEMAT
 
Introduction to semat essence
Introduction to semat essenceIntroduction to semat essence
Introduction to semat essence
 
ISO/IEC 42010 Recommended Practice for Architectural description
ISO/IEC 42010 Recommended Practice for Architectural descriptionISO/IEC 42010 Recommended Practice for Architectural description
ISO/IEC 42010 Recommended Practice for Architectural description
 
All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)
 

Semelhante a In search of the Higgs or What's wrong with SEMAT?

04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
Majong DevJfu
 
System architecture infosheet
System architecture infosheetSystem architecture infosheet
System architecture infosheet
jeanrummy
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2
bmercer
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modeling
Majong DevJfu
 
Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?
ingo
 
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
AftaZani1
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
Kenan Sevindik
 
Application Of Software Engineering Field
Application Of Software Engineering FieldApplication Of Software Engineering Field
Application Of Software Engineering Field
Michelle Singh
 

Semelhante a In search of the Higgs or What's wrong with SEMAT? (20)

Applying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringApplying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
 
Cs 2401 Unit 1
Cs 2401 Unit 1Cs 2401 Unit 1
Cs 2401 Unit 1
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
System architecture infosheet
System architecture infosheetSystem architecture infosheet
System architecture infosheet
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modeling
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
software architecture
software architecturesoftware architecture
software architecture
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf
 
Sociotechnical Walkthrough Workshop@AECT17
Sociotechnical Walkthrough Workshop@AECT17 Sociotechnical Walkthrough Workshop@AECT17
Sociotechnical Walkthrough Workshop@AECT17
 
Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf01. Birta L. G., Arbez G. - Modelling and Simulation_  (2007).pdf
01. Birta L. G., Arbez G. - Modelling and Simulation_ (2007).pdf
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
 
On System Design
On System DesignOn System Design
On System Design
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
Application Of Software Engineering Field
Application Of Software Engineering FieldApplication Of Software Engineering Field
Application Of Software Engineering Field
 

Mais de Rich Hilliard (6)

3 Talks at WICSA 2008
3 Talks at WICSA 20083 Talks at WICSA 2008
3 Talks at WICSA 2008
 
Using Aspects in Architecture Description
Using Aspects in Architecture DescriptionUsing Aspects in Architecture Description
Using Aspects in Architecture Description
 
C4ISR architectures and software architectures
C4ISR architectures and software architecturesC4ISR architectures and software architectures
C4ISR architectures and software architectures
 
The architect's job: 1996 version
The architect's job: 1996 versionThe architect's job: 1996 version
The architect's job: 1996 version
 
Forces on architecture decisions (WICSA 2012)
Forces on architecture decisions (WICSA 2012)Forces on architecture decisions (WICSA 2012)
Forces on architecture decisions (WICSA 2012)
 
All about-ieee-1471
All about-ieee-1471All about-ieee-1471
All about-ieee-1471
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

In search of the Higgs or What's wrong with SEMAT?

  • 1. work in progress comments appreciated! In search of the Higgs or What's wrong with SEMAT? Rich Hilliard richh@mit.edu
  • 2. Note to the Reader This presentation sketches an argument which is to be more fully elaborated (with references) as a full paper I am circulating it in this preliminary form to encourage feedback which I will take into consideration in completing that paper
  • 3. Software Engineering and Physics: an analogy I won't argue for the analogy here -- you'll have to see the full paper for the details
  • 4. The Higgs Physicists have been searching for evidence of the Higgs since it was hypothesized (1964) The Higgs plays two important roles: ● as unifier: explaining physical phenomena (electricity, magnetism and light as the electroweak force) ● as evidence: that the Standard Model is valid
  • 5. In Software Engineering ... What are our standard models? Is there a Software Engineering "Theory of Everything"?
  • 6. Software Engineering "theories of everything"? ● Software & Systems Process Engineering Metamodel (SPEM) ● ISO 24744, Software Engineering Metamodel for Development Methodologies (SEMDM) ● ISO/IEC TR 24774, Software and systems engineering -- Lifecycle management -- Guidelines for process description ● Software Engineering Method and Theory (SEMAT)
  • 7. Software Engineering: "theories of everything"? ● Each offers a theory of what Software Engineering is ● Are the process models our "Standard Models"? (I hope not)
  • 8. Why SEMAT? ● I focus on SEMAT because it is the most recent, it should have learned from its predecessors, and it is still under development ... ● My goal is to point out a missing dimension which is not prominent -- actually altogether missing! -- from the current models
  • 9. About SEMAT ● The goal of SEMAT is to "refound software engineering based on a solid theory, proven principles and best practices" [Vision] ● Following its predecessors (listed above), SEMAT outlines an ontology of software engineering process, method and product
  • 10. SEMAT is built upon... "a Kernel and a Language for software engineering method specification. They are scalable, extensible, and easy to use, and allow people to describe the essentials of their existing and future methods and practices so that they can be compared, evaluated, tailored, used, adapted, simulated and measured by practitioners as well as taught and researched by academics and researchers." [Essence]
  • 11. The SEMAT Kernel... "... must include a concrete representation of the acts and artifacts of software development, applicable to a wide range of software projects. It must also provide an extension language for adaptation to specific methods, practices and patterns." [Vision] "... includes the essential elements that are always prevalent in every software engineering endeavor, such as Requirements, Software System, Team and Work." [Essence]
  • 12. All very nice, but ... Is SEMAT an adequate basis for a Software Engineering Theory of Everything? (I think not) There are questions that cannot be formulated -- nor answered -- within the SEMAT ontology
  • 13. (Sample) Questions SEMAT cannot answer ● What Work Items should I look at to assess progress in developing this System? ● What links a Requirement on this System with a Work Item with a Team? ● Does this Team have the right skills to successfully deliver this Work Item? ● Is this Work Item affected (e.g., will it need reworking) by a change to this Requirement? ● What risks might befall this System? Are they being mitigated, managed and solved?
  • 14. Process models are missing the Why of Software Engineering If the SEMAT Alphas are the 'fundamental particles' of Software Engineering, what is the 'Higgs field' that holds them together and gives them meaning?
  • 15. Concerns! "Concerns are what we care about in software." [COSMOS] concern: interest in a system relevant to one or more of its stakeholders ... A concern pertains to any influence on a system in its environment; including developmental, technological, business, operational, organizational, political, economic, legal, regulatory, ecological and social influences [42010] Concerns, as in Dijkstra's phrase, "separation of concerns": ...
  • 16. Dijkstra's "separation of concerns" Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of one's subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects. We know that a program must be correct and we can study it from that viewpoint only; we also know that it should be efficient and we can study its efficiency on another day, so to speak. In another mood we may ask ourselves whether, and if so: why, the program is desirable. But nothing is gained--on the contrary!--by tackling these various aspects simultaneously. It is what I sometimes have called ``the separation of concerns'', which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by ``focussing one's attention upon some aspect'': it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant. It is being one- and multiple-track minded simultaneously. [Dijkstra]
  • 17. Concerns bind the other elements Concerns underwrite the reasons for work (processes and tasks): ● e.g., We perform this work item because it yields an understanding of system deployment Concerns give work products their meanings: ● e.g., This work product explains how reliability is managed during system development Concerns are the things we are interested in; they bind together processes, artifacts, people, in terms of their relevance
  • 18. Therefore ... Concerns must be modeled and managed as first-class entities of any software engineering ontology to be useful to practical method definition and execution This is completely missing from SEMAT and other process model approaches
  • 19. Existing work on concerns Concerns are not a new idea... ● Concern spaces ● Concern-oriented software engineering ● Viewpoints ● ISO/IEC/IEEE 42010 (originally IEEE 1471: 2000): concerns to select and organize architecture viewpoints
  • 20. Aside There are other issues with the SEMAT, i.e., with its ontology -- but these are topics for another time (Call me)
  • 21. References [42010] ISO/IEC/IEEE 42010:2011, System and software engineering -- Architecture description. [COSMOS] S.M. Sutton Jr. and I. Rouvellou, "Concern Space Modeling in COSMOS", OOPSLA 2001. [Dijkstra] E.W. Dijkstra, On the role of scientific thought. 1974. http: //www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD447. html [Essence] Essence – Kernel and Language for Software Engineering Methods, OMG, ad/2012-08-15 [FSC] "Framing Stakeholders' Concerns", special issue of IEEE Software, Nov/Dec 2010. [Vision] Software Engineering Method and Theory -- A Vision Statement
  • 22. Sidebar: Concerns in SEMAT "In everything we do we apply the principle of 'separation of concerns''. For instance, we separate what the practitioner wants to work with from what a process engineer needs, in such a way that the practitioner doesn't need to 'see' more than what is of interest to her/him. We also separate practitioners from one another; all developers do not have the same level of interest." [Vision]
  • 23. Sidebar: Concerns in SEMAT SEMAT uses the phrase, "separation of concerns" -- but does not follow through on taking concerns seriously as first-class entities Rather than allowing first-class concerns, SEMAT fixes three areas of concern: ● Customer, Solution and Endeavor This is too coarse (and static) to be of use in actual projects