INF5120 ”Modellbasert Systemutvikling” ”Modelbased System ......– The Sprint – Sprint...
Transcript of INF5120 ”Modellbasert Systemutvikling” ”Modelbased System ......– The Sprint – Sprint...
Telecom and Informatics 1
INF5120”Modellbasert Systemutvikling”
”Modelbased System development”
Lecture 5: 15.02.2016Arne-Jørgen Berre
Telecom and Informatics
Course parts (16 lectures)
2
n January – February (1-7) (BAE/WebRatio): n MDE-1: Introduction to INF5120n MDE-2: Modeling structure and behaviour (UML and UML 2.0 and metamodeling) ( B. Hjelle)n BAE-1: Business Architecture – Business Model Canvas - Strategyzer tool. n SAE-1: WebRatio for Mobile App development (Get an App up and running!)n BAE-2: Essence, Scrum, User stories and Use cases 2.0, Backlog, with Someone n BAE-3: BPMN process, VDML and UML Activ.Diagrams, … (MD/EA, Smaply and Balsamiq)n BAE-4: Service Design, AT ONE,Touchpoints, UI, UX, Smaply and Balsamiq (Amela, Ragnhild)n Oblig 1: BA Spec, WebRatio App1 (individual) (end of February, March 7th), Agile Scrumn March (8,9,10) (MDE/IFML/Client-Side): n MDE-3: Model driven engineering – Metamodels, DSL, UML Profiles, EMF, Sirius Editorsn SAE-2: IFML – Interaction Flow Modeling Language, WebRatio advancedn MDE-4: DSLs – MOFScript, ATL Eclipse Sirius, transformation technologiesn Oblig 2: Sirius DSL Editor for IFML +/- (indivual), WebRatio/IFML App2 UI (simple) (end of
March, April 4th )n April (11,12,13) (SAE/UML/Server-side): n SAE-3: WebRatio Server side and IFML, Data models/UML, Architecture patternsn SAE-4: UML Service Modeling, ServiceML,SoaML, UML 2.0 Composition, MagicDrawn SAE-5: Non Functional requirements – OCL and PLanguagen Oblig 3: SA Spec (More models), WebRatio/IFML App 3 Server (end of April, May 2nd)n May (14,15,16): (Bringing it together)n SAE-6: Final WebRatio App demo and discussion day (May 2nd) n MDE-5: Enterprise Architecture, TOGAF, UPDM, SysML – DSLs etc. – Big picturen MDE-6: Conclusions/Summary of the coursen Exam (4 hours), (June 6th)
Telecom and Informatics
Relevant Essence-related practicedescriptions
3
• BusinessModelCanvasdesign- Strategyzer• ValuePropositionDesign- Strategyzer• ATONEServiceDesignWorkshops–Symphonical SomeOne SPEED• ServiceJourneydesigns– Smaply,ExperienceFellow• Vocabulary,Terminology,Information,Ontology designs-MagicDraw• UserStoryandUse Cases• BusinessProcessModelingwithBPMN2.0• UIMockup/Concept designs–Balsamiq• Scrum development practices• IFMLbased developmnet –WebRatio• Graphical Editordesign– Sirius• …..
Seealso http://inf5120.modelbased.net/
www.semat.org
4
Essence – Kernel and Language for Software Engineering Methods
The joint submission for the OMG FACESEM standard“A Foundation for the Agile Creation
and Enactment of Software Engineering Methods”
Bookisavailablenow– Safaribooksonline/AddisonWesley
5
Alphas:TheEssentialThingstoWorkWith
Customer
Solution
Endeavor
6
Alphas:ExampleRequirementsDescriptionWhat the software system must do to address the opportunity and satisfy the stakeholders.It is important to discover what is needed from the software system, share this understanding among the stakeholders and the team members, and use it to drive the development and testing of the new system.Associationsscopes and constrains : Work
7
ActivitySpaces:TheEssentialThingstoDo
8
Explore Possibilities
Ensure Stakeholder Satisfaction
Shape the System
Implement the System
Test the System
Deploy the System
Use the System
Operate the System
Understand Stakeholder Needs
Prepare to do the Work
Coordinate Activity
Support the Team Stop the WorkTrack Progress
Understand the Requirements
ActivitySpaces:Examples
Scrum Essentials PracticeActivitySpace
Activity
ActivityPredecessorRelationship
9
10
AgileandLean
Specifically,beingagileinmethodengineeringmeans:1. Activepractitionerengagementisimperative.2. Thebestmethodtostartfromistheonetheteamalreadyhas.3. Theteamisempoweredtochangethemethodtofittheirexperience.Thebest
methodemergefromtheteamitself.4. Replaceonepracticeatatimeandmakesureitworksbeforemovingontothenext.5. Adaptthepracticeearlyandoftenbasedonwhatyouhavelearnt.6. Capturethemethodaslightaspossible(butnotlighter)focusingontheessentials.7. Adoptingamethodwithinateamismosteffectivelyandefficientlydonethroughface
tofacediscussions8. Acollaborativeandcooperativeapproachbetweenallstakeholdersisessential.9. Better,fasterandhappier(teamaswellascustomers)aretheprimarymeasureof
success.10. Agilepromotessustainable improvement.Thepractitionersshouldbeabletomaintain
aconstantimprovementpaceindefinitely.
10
No other process or method initiative has grabbed the attention from the developer community as much as agile.
St o c kho lm, Sw e d e n
www.semat.org
2011
Scrum–withEssence
BrianElvesæterArneJ.Berre
Objective
• ExercisetheSEMATKernelandLanguage
• IllustratetheSEMATapproach– OneexampleofhowtheScrumpracticemaybemappedtotheSEMAT
KernelandLanguage
• Developandapplymethodsforprojects– AgilerequirementswithUserStoriesand/orUseCasespractices– AgileprojectmanagementwithScrumor"Scrum-like"practices
12
KernelLanguage
PracticeExamples
SEMATGuidelines
Specification
Feedback(Issues and Suggestions)
Develop
Apply
AboutScrum
• ScrumconsistsofScrumTeamsandtheirassociatedroles,events,artifacts,andrules.
• Scrum’sroles,artifacts,events,andrulesareimmutableandalthoughimplementingonlypartsofScrumispossible,theresultisnotScrum.
• Source– K.Schwaber andJ.
Sutherland,"TheScrumGuide",Scrum.org,October2011.
– http://www.scrum.org/storage/scrumguides/Scrum_Guide.pdf
13
ScrumConcepts
• Scrumteam(roles)– ProductOwner– DevelopmentTeam(ofdevelopers)
– ScrumMaster
• Scrumartifacts– ProductBacklog– SprintBacklog– Increment
• Scrumevents– TheSprint– SprintPlanningMeeting– DailyScrum– SprintReview– SprintRetrospective
14
Step0:SEMATKernel&EssenceLanguageConcepts
• AstandardKernel providesabaselinestartingpoint–a"map"ofthesoftwaredevelopmentendeavour.
• Practices adddetailsandprovidespecificguidanceonparticularaspectsofthesoftwaredevelopment
• Keylanguageconcepts:Alpha,ActivitySpace,WorkProduct andActivity
15
Alpha
Activity Space
Work Product
Activity
Kernel Practice
Step1a:IdentifyrelevantKernelAlphas
16
Step1b:OutlinetheScrumPractice
17
Scrum Requirements
Work
Team
SoftwareSystem
Step2a:Addsub-alphas
• ExtendingtheWorkAlpha • TheWorkalphaistypicallyusedforthedurationofadevelopmentprojectthatmaycoveranumberofsprints.
• Thuswedefineanewsub-alphacalledSprint.
• Sub-alphasdrivetheirparentalphas
18
Driv
es
Step2b:Definealphastatesandcheckpoints
• SpecificScrumrulesaredefinedaspartofthealphastatecheckpoints.
19
Step3:AddWorkProducts
• "TheProductBacklog isanorderedlistofeverythingthatmightbeneededintheproductandisthesinglesourceofrequirementsforanychangestobemadetotheproduct."
• "TheSprintBacklog isthesetofProductBacklogitemsselectedfortheSprintplusaplanfordeliveringtheproductIncrementandrealizingtheSprintGoal."
• "TheIncrement isthesumofalltheProductBacklogitemscompletedduringaSprintandallpreviousSprints."
20
Step4a:DefineActivities
• "TheworktobeperformedintheSprintisplannedattheSprintPlanningMeeting."
• "TheDailyScrumisa15-minutetime-boxedeventfortheDevelopmentTeamtosynchronizeactivitiesandcreateaplanforthenext24hours."
• "ASprintReviewisheldattheendoftheSprinttoinspecttheIncrementandadapttheProductBacklogifneeded."
• "TheSprintRetrospectiveoccursaftertheSprintReviewandpriortothenextSprintPlanningMeeting."
21
Step4b:IdentifyrelevantKernelActivitySpaces
22
Step4c:RelateactivitiestoKernelActivitySpaces
• NB!Justonepossiblesuggestion.TheorganizationdependsamongstothersonhowoneinterpretanddefinethecompletioncriteriaoftheActivities.
23
Outline
24
• ScrumPractice– ReferenceExample
• DefiningtheScrumPractice
• AuthoringthePracticeintheEssWork PracticeWorkbench
• Questions
Sources
• OMGEssencespecification– OMG,"Essence– KernelandLanguageforSoftwareEngineeringMethods",
OMGDocumentad/2013-02-01,18February2013.– http://semat.org/wp-
content/uploads/2013/02/Essence_final_submission_18Feb13.pdf
• ScrumGuide– KenSchwaber and JeffSutherland,"ScrumGuide",October2011.– http://www.scrum.org/Portals/0/Documents/Scrum%20Guides/Scrum_Gui
de.pdf
• Practiceauthoringtool– EssWork PracticeWorkbench– http://www.ivarjacobson.com/EssWork_Practice_Workbench/
25
PracticeExplorer
26
The Practice Explorer shows Practice Workbench projects
The Essence Kernel project contains the elements defined in the OMG Essence specification
Alphas that represent the essential things to work with
Activity Spaces that represent the essential things to do
ETextile,GuidelineandCardviews
27
When selecting an element in the Practice Explorer you can switch between different views
The ETextile Source view provides the main editor for authoring the practice using plain text and annotations
The Guideline Preview renders how the guideline will be presented in HTML
The Overview Card Preview renders the card presentation
ScrumEssentials
28
The Scrum practice is created as a separate practice project in the Practice Workbench
The Scrum practice extends the Essence Kernel by providing more detailed guidance.
Drag and drop the relevant Alphas to extend from the Essence Kernel into the Scrum practice project
Drag and drop the relevant Activity Spaces to extend from the Essence Kernel into the Scrum practice project
ScrumRoles
29
Scrum roles are represented as Patterns
Product Owner (Guideline Preview)
Product Owner (Card Preview)
ScrumSprint
30
Sprint is represented as a sub-alpha of Work
The Sprint has States with Checkpoints
The Sprint has associated the Work Product Sprint Backlog that contains the set of Product Backlog items selected for the Sprint, and the plan for delivering the product Increment
Sprint (Card Preview)
Sprint in Under Control State(Card Preview)
Under Control(State Card Preview)
ScrumActivities
31
The Scrum events (except the Sprint which is represented as an Alpha) are represented as Activities
Sprint Planning Meeting (Card Preview)
The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint.
The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint.
Questions
• Email:– [email protected]
• OMGwebsite:– http://www.omg.org
• SEMATwebsite:– http://www.semat.org
32
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Introduction to The Essentials
Module 1 – Principles and Practices
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Introduction to The Essentials
Module 2 – Software Development Essentials
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Manifesto for Agile Software Development
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
35
http://agilemanifesto.org/
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
User Story template
• I <in the role of XX> needs functionality <zzz> to achieve the goal of <YYY>
36
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Backlog metamodel
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved38
Inf5120.modelbased.net
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved39
Telecom and Informatics
Use case modeling
40
Telecom and Informatics
Create GUI Mockups
41
Balsamiq: http://www.balsamiq.com
Telecom and Informatics
Template of a Use Case Description
……….
Telecom and Informatics
Telecom and Informatics
User Story template
n I <in the role of XX> needs functionality <zzz> to achieve the goal of <YYY>
44
Telecom and Informatics
Backlog metamodel
Telecom and Informatics
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Introduction to The Essentials Module 3 – Use-Case Essentials
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Introduction to The Essentials Module 3 – Use-Case Essentials
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Use-Case 2.0
Module 2 – Finding Actors and Use Cases
Copyright © 2006-2010 Ivar Jacobson International SA. All rights reserved
Use-Case 2.0
Module 7 - Adapting Your Use-Case Model - Using Include and Extend