SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
The SEMAT
Initiative
Modelos de Procesos y
Metodologías de Ingeniería de
software
Mayo de 2013
Universidad de Caldas
Facultad de Ingenierías
Maestría en Ingeniería Computacional
¡Welcome!
Content
SEMAT Intro
SEMAT elements
SEMAT as SW process
Sources
• Ivar Jacobson et al. The Essence of Software
Engineering - Applying the SEMAT Kernel. 2013
Pearson Education, Inc. ISBN 978-0-321-88595-1
• Ivar Jacobson, Pan-Wei Ng, Paul McMahon and Ian
Spence. The Essence of Software Engineering: The
SEMAT Kernel (Paper). Available in
http://queue.acm.org/detail.cfm?id=2389616
SEMAT
• Acronym of Software Engineering Method
and Theory
• Works from Ivar Jacobson in 2006
• SEMAT was officially founded in September
2009 by Ivar Jacobson, Bertrand Meyer, and
Richard Soley.
• RFP OMG
• www.semat.org
SEMAT – Motivation (I)
(From Jacobson)
Some areas of software engineering today suffer from immature
practices. Specific problems include:
• The prevalence of fads more typical of the fashion
industry than an engineering discipline.
• The lack of a sound, widely accepted theoretical basis.
• The huge number of methods and method variants, with
differences little understood and artificially magnified.
• The lack of credible experimental evaluation and
validation.
• The split between industry practice and academic
research.
SEMAT – Motivation (II)
(From Jacobson)
SEMAT – Common Ground (I)
• SEMAT’s first step was to identify a common
ground for software engineering.
• This common ground is manifested as a
kernel of essential elements that are universal
to all software development efforts, and a
simple language for describing methods and
practices.
SEMAT – Common Ground (II)
Jacobson, 2006
SEMAT – Common Ground (III)
(From Jacobson)
More than just a conceptual model, the kernel provides:
• A thinking framework for teams to reason about the progress
they are making and the health of their endeavors
• A framework for teams to assemble and continuously improve
their way of working
• A common ground for improved communication, standardized
measurement, and the sharing of best practices
• A foundation for accessible, interoperable method and practice
definitions
• And most importantly, a way to help teams understand where
they are and what they should do next
Organization of SEMAT
SEMAT defines
• The essential things to progress and
evolve—the alphas
• The essential things to do— the activity
spaces
• The essential capabilities needed— the
competencies
SEMAT’ Alphas
• Alphas represent the things you need to monitor for
progress and health to steer your endeavor to a
successful conclusion, and they have states and
checklists to that effect.
• A good way to remember this is as a mnemonic formed
from the words “Aspiration Led Progress and Health
Attribute”,
• Those words stresses that
(1) alphas are about progress and health,
(2) they are focused on achieving positive results, and
(3) they should be looked at as a set and not
individually.
SEMAT’ Alphas (II)
• An alpha is an essential element of the software engineering
endeavor, one that is relevant to an assessment of its
progress and health.
• How the “things to work with” are handled.
• These are captured as alphas rather than work products
(such as documents).
• SEMAT has identified seven alphas: Opportunity,
Stakeholders, Requirements, Software System, Work,
Way of Working, and Team.
• The alphas are characterized by a simple set of states that
represent their progress and health. As an example, the
Software System moves through the states of Architecture
Selected, Demonstrable, Usable, Ready, Operational, and
Retired.
SEMAT’ Alphas (III)
• Opportunity: The set of circumstances that makes it appropriate to
develop or change a software system.
• Stakeholders: The people, groups, or organizations that affect or
are affected by a software system.
• Requirements: What the software system must do to address the
opportunity and satisfy the stakeholders.
• Software System: A system made up of software, hardware, and
data that provides its primary value by the execution of the
software.
• Team: The group of people actively engaged in the development,
maintenance, delivery, and support of a specific software system.
• Work: Activity involving mental or physical effort done in order to
achieve a result.
• Way of Working: The tailored set of practices and tools used by a
team to guide and support their work.
SEMAT’ Alphas states
• The kernel alphas can be used to explore the
root causes of a challenge.
• The kernel can also help to overcome the
challenge because each alpha has a series of
states to guide a team to achieve progress
and health.
• See:
http://www.ivarjacobson.com/uploadedFiles/Content/Landing_Pages/SEM
AT%20SW%20Eng%20Kernel%20Cards%20A7.pdf
SEMAT’ Alphas states (II)
SEMAT as a Practical Kernel (I)
(From Jacobson)
• Perhaps the most important feature of the kernel is
the way it is used in practice.
• Traditional approaches to software development
methods tend to focus on supporting process
engineers or quality engineers.
• The kernel, in contrast, is a hands-on, tangible
thinking framework focused on supporting software
professionals as they carry out their work.
Why Kernel ?
(From Jacobson)
• A software engineering kernel is a lightweight set of
concepts and definitions that captures the essence
of effective, scalable software engineering in a
practice-independent way.
• The kernel forms a common ground for describing
and conducting software development.
SEMAT as a Practical Kernel
In addition
Information about Alpha State features available in
http://www.ivarjacobson.com/uploadedFiles/Content/Landing_P
ages/SEMAT%20SW%20Eng%20Kernel%20Cards%20A8.pdf
The Kernel Alphas Made Tangible with Cards
Organization of SEMAT (I)
Organization of SEMAT (II)
• Customer: The customer perspective must be integrated into
the day-to-day work to ensure that an appropriate solution is
developed. The customer area of concern contains everything
to do with the actual use and exploitation of the software
system to be produced.
• Solution: The goal of software development is to develop a
working software system to solve some problem. The solution
area of concern contains everything related to the specification
and development of the software system.
• Endeavor: Software development is an endeavor of
consequence that typically takes significant time and effort to
complete, affects many different people, and involves a
development team. The endeavor area of concern contains
everything related to the development team and the way they
do their work.
SEMAT Activities spaces (I)
• The kernel as such does not define any activities, but it does
define a number of activity spaces.
• The activity spaces represent the essential things that have to
be done to develop good software.
• You can think of activity spaces as method-independent
placeholders for specific activities that will be added later on
top of the kernel.
• They provide general descriptions of the challenges a team
faces when developing, maintaining, and supporting software
systems, and the kinds of things the team will do to meet
them.
• Each activity space then can be extended with concrete
activities that progress one or more of the kernel alphas.
SEMAT Activities spaces (II)
Customer’ Activities spaces
• Explore Possibilities: Explore the possibilities presented by a
new or improved software system. This includes the analysis
of the opportunity and the identification of the stakeholders.
• Understand Stakeholder Needs: Engage with the
stakeholders to understand their needs and ensure that the
right results are produced. This includes identifying and
working with the stakeholder representatives to progress the
opportunity.
• Ensure Stakeholder Satisfaction: Share the results of the
development work with the stakeholders to gain their
acceptance of the system produced and to verify that the
opportunity has been addressed.
• Use the System: Use the system in a live environment to
benefit the stakeholders.
Solution’ Activities spaces
• Understand the Requirements: Establish a shared
understanding of what the system must do.
• Shape the System: Shape the system to make it easy to
develop, change, and maintain. This includes the overall
design and architecture of the system.
• Implement the System: Build a system by implementing,
testing, and integrating one or more system elements.
• Test the System: Verify that the system meets the
stakeholders’ requirements.
• Deploy the System: Take the tested system and make it
available for use outside the development team.
• Operate the System: Support the use of the software system
in the live environment.
Endeavor’ Activities spaces
• Prepare to Do the Work: Set up the team and its working
environment. Understand and sign up for the work.
• Coordinate Activity: Coordinate and direct the team’s
work. This includes all ongoing planning and replanning
of the work.
• Support the Team: Help the team members to help
themselves, collaborate, and improve their way of
working.
• Track Progress: Measure and assess the progress made
by the team.
• Stop the Work: Shut down the work and hand over the
team’s responsibilities.
SEMAT Competencies (I)
• You need competency relevant to the specific tasks you are
working on, but you also need other competencies to understand
what your teammates are working on.
• Competencies are defined in the kernel and can be thought of
as generic containers for specific skills.
• Specific skills—for example, Java programming—are not part of the
kernel because such skills are not essential on all software
engineering endeavors.
• But competency is always required, and it will be up to the
individual teams to identify the specific skills needed for their
particular software endeavors.
• A common problem of software endeavors is not being aware of the
gap between the competency that is needed and the competency
that is available. The kernel approach will raise the visibility of this
gap.
SEMAT Competencies (II)
SEMAT Competencies (III)
• Stakeholder Representation: This competency encapsulates the ability to
gather, communicate, and balance the needs of other stakeholders, and
accurately represent their views.
• Analysis: This competency encapsulates the ability to understand
opportunities and their related stakeholder needs, and to transform them
into an agreed upon and consistent set of requirements.
• Development: This competency encapsulates the ability to design and
program effective software systems following the standards and norms
agreed upon by the team.
• Testing: This competency encapsulates the ability to test a system,
verifying that it is usable and that it meets the requirements.
• Leadership: This competency enables a person to inspire and motivate a
group of people to achieve a successful conclusion to their work and to
meet their objectives.
• Management: This competency encapsulates the ability to coordinate,
plan, and track the work done by a team.
Aligning the kernel with one governance framework
Glimpse of the kernel language
Planning Iterations (I)
• The art of planning an iteration is in deciding which of the many things
the team has to do should be done in this iteration—the next two to
four weeks.
• Every iteration will produce working software, but there are other things
the team needs to think about.
• They need to make sure they develop the right software in the best way
they can. The kernel helps the team reason about the current
development context, and what to emphasize next, to make sure a good
balance is achieved across the different dimensions of software
development.
• You can think of planning an iteration as follows.
1. Determine where you are. Work out the current state of the endeavor.
2. Determine where to go. Decide what to emphasize next, and what the
objectives of the next iteration will be.
3. Determine how to get there. Agree on the tasks the team needs to do
to achieve the objectives.
Planning Iterations (II)
Planning Iterations (III)
Task board at the beginning of the iteration
Planning Iterations (IV)
Task board at the ending of the iteration
SEMAT & other processes
• The kernel doesn’t in any way compete with existing
methods, be they agile or anything else. On the contrary, the
kernel is agnostic to a team’s chosen method. Even if you
have already chosen, or are using, a particular method the
kernel can still help you. Regardless of the method used,
projects—even agile ones—can get out of kilter, and when
they do teams need to know more. This is where the real
value of the kernel can be found.
• It can guide a team in the actions to take to get back on
course, to extend their method, or to address a critical gap in
their way of working. At all times it focuses on the needs of
the software professional and values the “use of methods”
over the “description of method definitions” (as has been
normal in the past).
SEMAT & other processes
• The kernel doesn’t just support modern best practices. It also
recognizes that a vast amount of software is already
developed and needs to be maintained; it will live for decades
and it will have to be maintained in an efficient way. This
means the way you work with this software will have to evolve
alongside the software itself.
• New practices will need to be introduced in a way that
complements the ones already in use. The kernel provides
the mechanisms to migrate legacy methods from monolithic
waterfall approaches to more modern agile ones and beyond,
in an evolutionary way. It allows you to change your legacy
methods practice by practice while maintaining and improving
the team’s ability to deliver.
Terminology and Notation
Questions?
Thanks

Contenu connexe

Tendances

System Analysis And Design Management Information System
System Analysis And Design Management Information SystemSystem Analysis And Design Management Information System
System Analysis And Design Management Information Systemnayanav
 
System development
System developmentSystem development
System developmentPraveen Minz
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Introduction to system life cycle
Introduction to system life cycleIntroduction to system life cycle
Introduction to system life cycleHaa'Meem Mohiyuddin
 
system development life cycle SDLC
system development life cycle SDLCsystem development life cycle SDLC
system development life cycle SDLCsujithsunil
 
System analysis ITM3(1).pptx
System analysis ITM3(1).pptx System analysis ITM3(1).pptx
System analysis ITM3(1).pptx Aram Mohammed
 
Management information system
Management information systemManagement information system
Management information systemRoneet Kumar
 
System Analysis Methods
System Analysis Methods System Analysis Methods
System Analysis Methods Hemant Raj
 
System development life cycle and Implementation of IS
System development life cycle and Implementation of ISSystem development life cycle and Implementation of IS
System development life cycle and Implementation of ISAbdullah Khosa
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)Mukund Trivedi
 
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...babak danyal
 
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJON01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJONAHSAN RAJON
 

Tendances (20)

system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
System Analysis And Design Management Information System
System Analysis And Design Management Information SystemSystem Analysis And Design Management Information System
System Analysis And Design Management Information System
 
System development
System developmentSystem development
System development
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
SDLC
SDLCSDLC
SDLC
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Introduction to system life cycle
Introduction to system life cycleIntroduction to system life cycle
Introduction to system life cycle
 
system development life cycle SDLC
system development life cycle SDLCsystem development life cycle SDLC
system development life cycle SDLC
 
System analysis ITM3(1).pptx
System analysis ITM3(1).pptx System analysis ITM3(1).pptx
System analysis ITM3(1).pptx
 
Management information system
Management information systemManagement information system
Management information system
 
System Life Cycle
System Life CycleSystem Life Cycle
System Life Cycle
 
Chaper 1 sdlc
Chaper 1 sdlcChaper 1 sdlc
Chaper 1 sdlc
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
System Analysis Methods
System Analysis Methods System Analysis Methods
System Analysis Methods
 
System development life cycle and Implementation of IS
System development life cycle and Implementation of ISSystem development life cycle and Implementation of IS
System development life cycle and Implementation of IS
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)
 
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
 
Analysis
AnalysisAnalysis
Analysis
 
System Development Life Cycle (SDLC) - Part I
System Development Life Cycle (SDLC)  - Part ISystem Development Life Cycle (SDLC)  - Part I
System Development Life Cycle (SDLC) - Part I
 
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJON01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
 

Similaire à SEMAT

Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentationMAHERMOHAMED27
 
Agile and semat v0.91
Agile and semat v0.91Agile and semat v0.91
Agile and semat v0.91Yury Katkov
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
PLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phasesPLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phaseshamdiabdrhman
 
management system development and planning
management system development and planningmanagement system development and planning
management system development and planningmilkesa13
 
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...Brian Elvesæter
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxDevnath13
 
Lesson 9 system develpment life cycle
Lesson 9 system develpment life cycleLesson 9 system develpment life cycle
Lesson 9 system develpment life cycleOneil Powers
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spmPrakash Poudel
 
EA Consolidated Slides from Q1-Q2 (2015)
EA Consolidated Slides from Q1-Q2 (2015) EA Consolidated Slides from Q1-Q2 (2015)
EA Consolidated Slides from Q1-Q2 (2015) Daljit Banger
 

Similaire à SEMAT (20)

Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentation
 
Agile and semat v0.91
Agile and semat v0.91Agile and semat v0.91
Agile and semat v0.91
 
Agile and semat v0.91
Agile and semat v0.91Agile and semat v0.91
Agile and semat v0.91
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
PLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phasesPLANNING PHASE(1).pdf and designing phases
PLANNING PHASE(1).pdf and designing phases
 
SDLC
SDLCSDLC
SDLC
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Sdlc 4
Sdlc 4Sdlc 4
Sdlc 4
 
management system development and planning
management system development and planningmanagement system development and planning
management system development and planning
 
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptx
 
Sdlc1
Sdlc1Sdlc1
Sdlc1
 
Lesson 9 system develpment life cycle
Lesson 9 system develpment life cycleLesson 9 system develpment life cycle
Lesson 9 system develpment life cycle
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
Lecture 5
Lecture 5 Lecture 5
Lecture 5
 
Mis unit iii by arnav
Mis unit iii by arnavMis unit iii by arnav
Mis unit iii by arnav
 
ICIECA 2014 Paper 06
ICIECA 2014 Paper 06ICIECA 2014 Paper 06
ICIECA 2014 Paper 06
 
EA Consolidated Slides from Q1-Q2 (2015)
EA Consolidated Slides from Q1-Q2 (2015) EA Consolidated Slides from Q1-Q2 (2015)
EA Consolidated Slides from Q1-Q2 (2015)
 

Plus de Fáber D. Giraldo

ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??Fáber D. Giraldo
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deepFáber D. Giraldo
 
Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Fáber D. Giraldo
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Fáber D. Giraldo
 
Teamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsTeamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsFáber D. Giraldo
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...Fáber D. Giraldo
 
Introduction to Software Process
Introduction to Software ProcessIntroduction to Software Process
Introduction to Software ProcessFáber D. Giraldo
 
Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Fáber D. Giraldo
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration IntroductionFáber D. Giraldo
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
software metrics (in spanish)
software metrics (in spanish)software metrics (in spanish)
software metrics (in spanish)Fáber D. Giraldo
 

Plus de Fáber D. Giraldo (20)

ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deep
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...
 
Teamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsTeamwork in Software Engineering Projects
Teamwork in Software Engineering Projects
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
 
The SEI Approach
The SEI ApproachThe SEI Approach
The SEI Approach
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Introduction to RUP & SPEM
Introduction to RUP & SPEMIntroduction to RUP & SPEM
Introduction to RUP & SPEM
 
Introduction to Software Process
Introduction to Software ProcessIntroduction to Software Process
Introduction to Software Process
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
 
Patterns Overview
Patterns OverviewPatterns Overview
Patterns Overview
 
L software testing
L   software testingL   software testing
L software testing
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
I software quality
I   software qualityI   software quality
I software quality
 
software metrics (in spanish)
software metrics (in spanish)software metrics (in spanish)
software metrics (in spanish)
 

Dernier

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 

Dernier (20)

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 

SEMAT

  • 1. The SEMAT Initiative Modelos de Procesos y Metodologías de Ingeniería de software Mayo de 2013 Universidad de Caldas Facultad de Ingenierías Maestría en Ingeniería Computacional
  • 4. Sources • Ivar Jacobson et al. The Essence of Software Engineering - Applying the SEMAT Kernel. 2013 Pearson Education, Inc. ISBN 978-0-321-88595-1 • Ivar Jacobson, Pan-Wei Ng, Paul McMahon and Ian Spence. The Essence of Software Engineering: The SEMAT Kernel (Paper). Available in http://queue.acm.org/detail.cfm?id=2389616
  • 5. SEMAT • Acronym of Software Engineering Method and Theory • Works from Ivar Jacobson in 2006 • SEMAT was officially founded in September 2009 by Ivar Jacobson, Bertrand Meyer, and Richard Soley. • RFP OMG • www.semat.org
  • 6. SEMAT – Motivation (I) (From Jacobson) Some areas of software engineering today suffer from immature practices. Specific problems include: • The prevalence of fads more typical of the fashion industry than an engineering discipline. • The lack of a sound, widely accepted theoretical basis. • The huge number of methods and method variants, with differences little understood and artificially magnified. • The lack of credible experimental evaluation and validation. • The split between industry practice and academic research.
  • 7. SEMAT – Motivation (II) (From Jacobson)
  • 8. SEMAT – Common Ground (I) • SEMAT’s first step was to identify a common ground for software engineering. • This common ground is manifested as a kernel of essential elements that are universal to all software development efforts, and a simple language for describing methods and practices.
  • 9. SEMAT – Common Ground (II) Jacobson, 2006
  • 10. SEMAT – Common Ground (III) (From Jacobson) More than just a conceptual model, the kernel provides: • A thinking framework for teams to reason about the progress they are making and the health of their endeavors • A framework for teams to assemble and continuously improve their way of working • A common ground for improved communication, standardized measurement, and the sharing of best practices • A foundation for accessible, interoperable method and practice definitions • And most importantly, a way to help teams understand where they are and what they should do next
  • 11. Organization of SEMAT SEMAT defines • The essential things to progress and evolve—the alphas • The essential things to do— the activity spaces • The essential capabilities needed— the competencies
  • 12. SEMAT’ Alphas • Alphas represent the things you need to monitor for progress and health to steer your endeavor to a successful conclusion, and they have states and checklists to that effect. • A good way to remember this is as a mnemonic formed from the words “Aspiration Led Progress and Health Attribute”, • Those words stresses that (1) alphas are about progress and health, (2) they are focused on achieving positive results, and (3) they should be looked at as a set and not individually.
  • 13. SEMAT’ Alphas (II) • An alpha is an essential element of the software engineering endeavor, one that is relevant to an assessment of its progress and health. • How the “things to work with” are handled. • These are captured as alphas rather than work products (such as documents). • SEMAT has identified seven alphas: Opportunity, Stakeholders, Requirements, Software System, Work, Way of Working, and Team. • The alphas are characterized by a simple set of states that represent their progress and health. As an example, the Software System moves through the states of Architecture Selected, Demonstrable, Usable, Ready, Operational, and Retired.
  • 14. SEMAT’ Alphas (III) • Opportunity: The set of circumstances that makes it appropriate to develop or change a software system. • Stakeholders: The people, groups, or organizations that affect or are affected by a software system. • Requirements: What the software system must do to address the opportunity and satisfy the stakeholders. • Software System: A system made up of software, hardware, and data that provides its primary value by the execution of the software. • Team: The group of people actively engaged in the development, maintenance, delivery, and support of a specific software system. • Work: Activity involving mental or physical effort done in order to achieve a result. • Way of Working: The tailored set of practices and tools used by a team to guide and support their work.
  • 15. SEMAT’ Alphas states • The kernel alphas can be used to explore the root causes of a challenge. • The kernel can also help to overcome the challenge because each alpha has a series of states to guide a team to achieve progress and health. • See: http://www.ivarjacobson.com/uploadedFiles/Content/Landing_Pages/SEM AT%20SW%20Eng%20Kernel%20Cards%20A7.pdf
  • 17. SEMAT as a Practical Kernel (I) (From Jacobson) • Perhaps the most important feature of the kernel is the way it is used in practice. • Traditional approaches to software development methods tend to focus on supporting process engineers or quality engineers. • The kernel, in contrast, is a hands-on, tangible thinking framework focused on supporting software professionals as they carry out their work.
  • 18. Why Kernel ? (From Jacobson) • A software engineering kernel is a lightweight set of concepts and definitions that captures the essence of effective, scalable software engineering in a practice-independent way. • The kernel forms a common ground for describing and conducting software development.
  • 19. SEMAT as a Practical Kernel
  • 20. In addition Information about Alpha State features available in http://www.ivarjacobson.com/uploadedFiles/Content/Landing_P ages/SEMAT%20SW%20Eng%20Kernel%20Cards%20A8.pdf The Kernel Alphas Made Tangible with Cards
  • 22. Organization of SEMAT (II) • Customer: The customer perspective must be integrated into the day-to-day work to ensure that an appropriate solution is developed. The customer area of concern contains everything to do with the actual use and exploitation of the software system to be produced. • Solution: The goal of software development is to develop a working software system to solve some problem. The solution area of concern contains everything related to the specification and development of the software system. • Endeavor: Software development is an endeavor of consequence that typically takes significant time and effort to complete, affects many different people, and involves a development team. The endeavor area of concern contains everything related to the development team and the way they do their work.
  • 23. SEMAT Activities spaces (I) • The kernel as such does not define any activities, but it does define a number of activity spaces. • The activity spaces represent the essential things that have to be done to develop good software. • You can think of activity spaces as method-independent placeholders for specific activities that will be added later on top of the kernel. • They provide general descriptions of the challenges a team faces when developing, maintaining, and supporting software systems, and the kinds of things the team will do to meet them. • Each activity space then can be extended with concrete activities that progress one or more of the kernel alphas.
  • 25. Customer’ Activities spaces • Explore Possibilities: Explore the possibilities presented by a new or improved software system. This includes the analysis of the opportunity and the identification of the stakeholders. • Understand Stakeholder Needs: Engage with the stakeholders to understand their needs and ensure that the right results are produced. This includes identifying and working with the stakeholder representatives to progress the opportunity. • Ensure Stakeholder Satisfaction: Share the results of the development work with the stakeholders to gain their acceptance of the system produced and to verify that the opportunity has been addressed. • Use the System: Use the system in a live environment to benefit the stakeholders.
  • 26. Solution’ Activities spaces • Understand the Requirements: Establish a shared understanding of what the system must do. • Shape the System: Shape the system to make it easy to develop, change, and maintain. This includes the overall design and architecture of the system. • Implement the System: Build a system by implementing, testing, and integrating one or more system elements. • Test the System: Verify that the system meets the stakeholders’ requirements. • Deploy the System: Take the tested system and make it available for use outside the development team. • Operate the System: Support the use of the software system in the live environment.
  • 27. Endeavor’ Activities spaces • Prepare to Do the Work: Set up the team and its working environment. Understand and sign up for the work. • Coordinate Activity: Coordinate and direct the team’s work. This includes all ongoing planning and replanning of the work. • Support the Team: Help the team members to help themselves, collaborate, and improve their way of working. • Track Progress: Measure and assess the progress made by the team. • Stop the Work: Shut down the work and hand over the team’s responsibilities.
  • 28. SEMAT Competencies (I) • You need competency relevant to the specific tasks you are working on, but you also need other competencies to understand what your teammates are working on. • Competencies are defined in the kernel and can be thought of as generic containers for specific skills. • Specific skills—for example, Java programming—are not part of the kernel because such skills are not essential on all software engineering endeavors. • But competency is always required, and it will be up to the individual teams to identify the specific skills needed for their particular software endeavors. • A common problem of software endeavors is not being aware of the gap between the competency that is needed and the competency that is available. The kernel approach will raise the visibility of this gap.
  • 30. SEMAT Competencies (III) • Stakeholder Representation: This competency encapsulates the ability to gather, communicate, and balance the needs of other stakeholders, and accurately represent their views. • Analysis: This competency encapsulates the ability to understand opportunities and their related stakeholder needs, and to transform them into an agreed upon and consistent set of requirements. • Development: This competency encapsulates the ability to design and program effective software systems following the standards and norms agreed upon by the team. • Testing: This competency encapsulates the ability to test a system, verifying that it is usable and that it meets the requirements. • Leadership: This competency enables a person to inspire and motivate a group of people to achieve a successful conclusion to their work and to meet their objectives. • Management: This competency encapsulates the ability to coordinate, plan, and track the work done by a team.
  • 31. Aligning the kernel with one governance framework
  • 32. Glimpse of the kernel language
  • 33. Planning Iterations (I) • The art of planning an iteration is in deciding which of the many things the team has to do should be done in this iteration—the next two to four weeks. • Every iteration will produce working software, but there are other things the team needs to think about. • They need to make sure they develop the right software in the best way they can. The kernel helps the team reason about the current development context, and what to emphasize next, to make sure a good balance is achieved across the different dimensions of software development. • You can think of planning an iteration as follows. 1. Determine where you are. Work out the current state of the endeavor. 2. Determine where to go. Decide what to emphasize next, and what the objectives of the next iteration will be. 3. Determine how to get there. Agree on the tasks the team needs to do to achieve the objectives.
  • 35. Planning Iterations (III) Task board at the beginning of the iteration
  • 36. Planning Iterations (IV) Task board at the ending of the iteration
  • 37. SEMAT & other processes • The kernel doesn’t in any way compete with existing methods, be they agile or anything else. On the contrary, the kernel is agnostic to a team’s chosen method. Even if you have already chosen, or are using, a particular method the kernel can still help you. Regardless of the method used, projects—even agile ones—can get out of kilter, and when they do teams need to know more. This is where the real value of the kernel can be found. • It can guide a team in the actions to take to get back on course, to extend their method, or to address a critical gap in their way of working. At all times it focuses on the needs of the software professional and values the “use of methods” over the “description of method definitions” (as has been normal in the past).
  • 38. SEMAT & other processes • The kernel doesn’t just support modern best practices. It also recognizes that a vast amount of software is already developed and needs to be maintained; it will live for decades and it will have to be maintained in an efficient way. This means the way you work with this software will have to evolve alongside the software itself. • New practices will need to be introduced in a way that complements the ones already in use. The kernel provides the mechanisms to migrate legacy methods from monolithic waterfall approaches to more modern agile ones and beyond, in an evolutionary way. It allows you to change your legacy methods practice by practice while maintaining and improving the team’s ability to deliver.