SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
@aahoogendoorn 
Sander Hoogendoorn 
Principal Technology Officer, Global Agile Thought Leader Capgemini 
PRAGMATIC AGILE MODEL DRIVEN DEVELOPMENT USING SMART USE CASES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
2 
Sander Hoogendoorn 
Me 
Dad (3) 
Programmer, trainer, coach, architect 
Books (3) 
Articles (+250) 
International conferences (+100) 
Capgemini 
Principal technology officer 
Global design authority agile 
Web 
www.sanderhoogendoorn.com 
www.smartusecase.com 
www.speedbird9.com 
@aahoogendoorn
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
4 
On being a developer...
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
5 
Agenda 
Agile. How does it work? 
Agile requirements and modeling? 
The backlog. Where does it come from? 
User stories. An agile requirements anti-pattern 
Smart use cases 
Different levels of use cases 
Standardizing and stereotypes 
Estimating smart use cases 
The backlog revisited. Where does it come from? 
Automating test design 
Generating code from agile requirements 
In retrospective
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
6 
Agenda. Demo’s 
Agile. How does it work? 
Agile requirements and modeling? 
The backlog. Where does it come from? 
User stories. An agile requirements anti-pattern 
Smart use cases 
Different levels of use cases 
Standardizing and stereotypes 
Estimating smart use cases 
The backlog revisited. Where does it come from? 
Automating test design 
Generating code from agile requirements 
In retrospective
@aahoogendoorn 
AGILE. HOW DOES IT WORK?
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
8 
Agile. Backlog
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
9 
Agile. Iterations
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
10 
Agile. In iteration
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
11 
Agile. Iteration backlog
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
12 
Agile. Working in iterations
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
13 
Agile. New work items
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
14 
Agile. Remaining work items
@aahoogendoorn 
WHAT ABOUT AGILE REQUIREMENTS AND MODELING?
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
16 
Scrum
@aahoogendoorn 
THE BACKLOG. WHERE DOES IT COME FROM?
@aahoogendoorn 
AND ON THE SEVENTH DAY KEN CREATED THE BACKLOG
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
19 
The automagical backlog
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
20 
The automagical backlog
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
21 
Agile. Where does the backlog come from?
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
22 
Preliminary iterations
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
23 
Preliminary iterations
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
24 
SmartCreateproject proposalWriteproject planDeliverworkingsoftwareStabilizesoftware
@aahoogendoorn 
An agile requirements anti-pattern 
USER STORIES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
26 
User stories
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
27 
User stories. The approach
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
28 
User stories in complex system landscapes 
Often too unstructured 
Unsuitable in complex environments
@aahoogendoorn 
Part I. From scope to smart use cases 
SMART USE CASES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
30 
Levels of requirements
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
31 
Agile requirements. Approach 
D 
E 
F 
SmartUse Cases 
A 
ProjectScope 
D 
Use Cases 
A 
B 
C 
HierarchicalProcesses 
B 
D 
D 
HierarchicalProcesses 
ChronologicalProcesses 
Cloud Level 
Kite Level 
Sea Level 
Fish Level 
C
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
32 
Identifying scope at cloud level
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
33 
Cloud level
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
34 
Kite level
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
35 
Modeling smart use cases. Sea and fish level
@aahoogendoorn 
Modeling at different levels of granularity 
SMART USE CASES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
37 
Different levels of use cases 
User goal 
Sub function
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
38 
Different levels of use cases 
Traditionaluse cases 
Smartuse cases 
Format 
Textual 
Visual 
Granularity 
Different 
Unified 
Estimate 
Hard 
Easy 
Unit of work 
Lousy 
Good 
Reuse 
Incidental 
Normal 
Traceability 
Possible 
Normal 
Testability 
Poor 
Good
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
39 
Identifying sub-function level use cases 
Guidelines for identifying sub-function level use cases 
Identify re-use 
Model one form per use case 
Model one use case per functional web part 
Isolate unknown functionality 
Identify complex functionality 
Show reporting 
Model complex calculations 
Isolate interaction with others 
Avoid low level (database) interaction
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
41 
Smart use cases. Stereotyped
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
42 
Smart use cases. Service orientation
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
43 
Identifying reuse
@aahoogendoorn 
Thinking in stereotypes 
SMART USE CASES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
45 
Smart use case stereotypes
@aahoogendoorn 
Using www.speedbird9.com 
DEMO THE BACKLOG REVISITED. WHERE DOES IT COME FROM?
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
47 
Filling the backlog (www.speedbird9.com)
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
48 
www.speedbird9.com
@aahoogendoorn 
ESTIMATING SMART USE CASES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
50 
Estimating smart use cases
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
51 
Estimating smart use cases 
4 
3 
2 
3 
8 
4 
3 
3
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
52 
Standardizing estimation 
Estimating smart use caseswhile modeling
@aahoogendoorn 
Using Enterprise Architect, Tobago MDA 
DEMO GENERATINGYOUR ESTIMATES
@aahoogendoorn 
Part II. Implementing smart use cases 
SMART USE CASES
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
55 
The smart use case life cycleDefine work on use caseWritetest casesGenerateand builduse caseRuntest casesAdjustuse caseDescribeuse caseAcceptuse case
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
56 
Analysis & Design. Writing use cases
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
57 
Test Design. Test scenarios for smart use cases
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
58 
Test Design. Testing smart use cases
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
59 
Test Design. Test cases for smart use cases
@aahoogendoorn 
Using Sparx’ Enterprise Architect 
DEMO AUTOMATING SMART USE CASE TEST DESIGN
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
62 
Writing smart use cases. Using Enterprise Architect
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
63 
Writing smart use cases. Using Enterprise ArchitectAlternative flowsException flowsBasic flow
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
64 
Writing smart use cases. Using Enterprise ArchitectFields on formwith smart use casesSmart use casespecific business rulesand validations
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
65 
Test scenarios for a smart use case
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
66 
Testing a smart use case. Using Enterprise Architect
@aahoogendoorn 
CAN WE GENERATE CODE FROM (AGILE) REQUIREMENTS?
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
68 
Can we generate code from (agile) requirements? 
Why generate code? 
Higher productivity? 
Higher quality? 
Get rid of repetitive work? 
Prototyping? 
Prerequisites to generating code 
Standardize, standardize, standardize 
A decent and pragmatic model 
A simple code generator 
A straightforward templating language 
Templates! 
Clear and present software architecture 
Frameworks to back up your software architecture
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
Presentation 
Process 
Domain 
Data / Services 
Outside world 
PagesUserControlsPanels 
Use casesWorkflow 
Domain objects / Entities 
Factories / Repositories 
Enums / Value objects / Smart references 
Data / Service gateways 
Service locators 
[Mapping] 
DatabasesServices / ESB 
Exact 
SAP 
BizTalk 
Java
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
70 
Using Tobago MDA
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
71 
Model driven development -Templates
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
Forms 
Use cases 
Domain 
objects 
Data / Serviceclasses 
Databases 
Software Architecture 
TobagoMDA 
Testscenario’s 
Frameworks 
Specifications 
ExistingApplications 
Businessmodels 
DomainModel 
Smartuse cases 
User interfacespecification1. Mapbusiness processes to smart use cases2. Set up domain model3. Refinesoftware architecture(s) 4. Generate code using a text template engine5. Finalize application
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
73 
Generated code in ASP.NET
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
74 
Generated code Windows 8
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn 
75 
Generating code. Twitter Bootstrap & JSF
@aahoogendoorn 
Using Enterprise Architect, Tobago MDA, Visual Studio 2013 
DEMO GENERATING CODE FROM SMART USE CASES
@aahoogendoorn 
IN RETROSPECTIVE?
UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved 
@aahoogendoorn
@aahoogendoorn 
www.sanderhoogendoorn.comwww.smartusecase.comwww.speedbird9.com 
sander@ditisagile.nl 
@aahoogendoorn 
REFERENCES AND QUESTIONS

Weitere ähnliche Inhalte

Ähnlich wie Agile Model Driven Development Using Smart Use Cases

Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014James Grenning
 
20101007 how smart use cases drive web development
20101007   how smart use cases drive web development20101007   how smart use cases drive web development
20101007 how smart use cases drive web developmentSander Hoogendoorn
 
Distributed Product Owner Team for an Agile Medical Development - Strategies ...
Distributed Product Owner Team for an Agile Medical Development - Strategies ...Distributed Product Owner Team for an Agile Medical Development - Strategies ...
Distributed Product Owner Team for an Agile Medical Development - Strategies ...Andrea Heck
 
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPUNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPAmit Midha
 
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPUNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPAmit Midha
 
"TRENDS: THE UNWIRED HOME"
"TRENDS: THE UNWIRED HOME""TRENDS: THE UNWIRED HOME"
"TRENDS: THE UNWIRED HOME"Lounge47
 
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in KievHow Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in KievSander Hoogendoorn
 
Presentatie Adobe Pieter van Helvoirt
Presentatie Adobe Pieter van HelvoirtPresentatie Adobe Pieter van Helvoirt
Presentatie Adobe Pieter van HelvoirtAppGarage
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionEd Seidewitz
 
PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...
PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...
PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...Puppet
 
PuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesPuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesMartin Alfke
 
Model-Driven Software Development 2.0
Model-Driven Software Development 2.0Model-Driven Software Development 2.0
Model-Driven Software Development 2.0Etienne Juliot
 
Agile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridAgile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridSander Hoogendoorn
 
Hypermesh Training in Delhi
Hypermesh Training in DelhiHypermesh Training in Delhi
Hypermesh Training in DelhiAPTRON
 

Ähnlich wie Agile Model Driven Development Using Smart Use Cases (20)

Solid c-accu2014.key
Solid c-accu2014.keySolid c-accu2014.key
Solid c-accu2014.key
 
Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014Designing SOLID C - ACCU Conference 2014
Designing SOLID C - ACCU Conference 2014
 
20101007 how smart use cases drive web development
20101007   how smart use cases drive web development20101007   how smart use cases drive web development
20101007 how smart use cases drive web development
 
Distributed Product Owner Team for an Agile Medical Development - Strategies ...
Distributed Product Owner Team for an Agile Medical Development - Strategies ...Distributed Product Owner Team for an Agile Medical Development - Strategies ...
Distributed Product Owner Team for an Agile Medical Development - Strategies ...
 
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPUNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
 
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPUNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOP
 
"TRENDS: THE UNWIRED HOME"
"TRENDS: THE UNWIRED HOME""TRENDS: THE UNWIRED HOME"
"TRENDS: THE UNWIRED HOME"
 
AE foyer on Mobile by Design 19/02/2014
AE foyer on Mobile by Design 19/02/2014AE foyer on Mobile by Design 19/02/2014
AE foyer on Mobile by Design 19/02/2014
 
Altair Communication
Altair CommunicationAltair Communication
Altair Communication
 
Mobile Rerence Applications: The end to end Integration
Mobile Rerence Applications: The end to end IntegrationMobile Rerence Applications: The end to end Integration
Mobile Rerence Applications: The end to end Integration
 
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in KievHow Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
 
Presentatie Adobe Pieter van Helvoirt
Presentatie Adobe Pieter van HelvoirtPresentatie Adobe Pieter van Helvoirt
Presentatie Adobe Pieter van Helvoirt
 
Being Smart at enterprise agile
Being Smart at enterprise agileBeing Smart at enterprise agile
Being Smart at enterprise agile
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the Vision
 
PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...
PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...
PuppetConf 2016: Moving from Exec to Types and Providers – Martin Alfke, exam...
 
PuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesPuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and Provides
 
Model-Driven Software Development 2.0
Model-Driven Software Development 2.0Model-Driven Software Development 2.0
Model-Driven Software Development 2.0
 
Agile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridAgile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion Madrid
 
Hypermesh Training in Delhi
Hypermesh Training in DelhiHypermesh Training in Delhi
Hypermesh Training in Delhi
 
Shree engineers
Shree engineersShree engineers
Shree engineers
 

Mehr von Avisi B.V.

Scaling Your Team and Technology: The Agile Way - Erik Duindam
Scaling Your Team and Technology: The Agile Way - Erik DuindamScaling Your Team and Technology: The Agile Way - Erik Duindam
Scaling Your Team and Technology: The Agile Way - Erik DuindamAvisi B.V.
 
Bigger product is better - Viktor Grgric
Bigger product is better  - Viktor GrgricBigger product is better  - Viktor Grgric
Bigger product is better - Viktor GrgricAvisi B.V.
 
Product development insights - Robin van Breukelen
Product development insights - Robin van BreukelenProduct development insights - Robin van Breukelen
Product development insights - Robin van BreukelenAvisi B.V.
 
Software design patterns and lessons learned from nature - Jaromil
Software design patterns and lessons learned from nature - JaromilSoftware design patterns and lessons learned from nature - Jaromil
Software design patterns and lessons learned from nature - JaromilAvisi B.V.
 
Content must be creative - Jon Westenberg
Content must be creative - Jon WestenbergContent must be creative - Jon Westenberg
Content must be creative - Jon WestenbergAvisi B.V.
 
Does your design smell - Tushar Sharma
Does your design smell  - Tushar SharmaDoes your design smell  - Tushar Sharma
Does your design smell - Tushar SharmaAvisi B.V.
 
How to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris LukassenHow to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris LukassenAvisi B.V.
 
ASAS 2015 Gert Florijn & Eelco Rommes
ASAS 2015 Gert Florijn & Eelco RommesASAS 2015 Gert Florijn & Eelco Rommes
ASAS 2015 Gert Florijn & Eelco RommesAvisi B.V.
 
ASAS 2015 - Benito de Miranda
ASAS 2015 - Benito de MirandaASAS 2015 - Benito de Miranda
ASAS 2015 - Benito de MirandaAvisi B.V.
 
ASAS 2015 Stanimira Jelezova
ASAS 2015 Stanimira JelezovaASAS 2015 Stanimira Jelezova
ASAS 2015 Stanimira JelezovaAvisi B.V.
 
ASAS 2015 Regina Chien
ASAS 2015 Regina ChienASAS 2015 Regina Chien
ASAS 2015 Regina ChienAvisi B.V.
 
ASAS 2015 Darren Harris
ASAS 2015 Darren HarrisASAS 2015 Darren Harris
ASAS 2015 Darren HarrisAvisi B.V.
 
ASAS 2015 Henk Kolk
ASAS 2015 Henk KolkASAS 2015 Henk Kolk
ASAS 2015 Henk KolkAvisi B.V.
 
ASAS 2015 Chris Lukassen
ASAS 2015 Chris LukassenASAS 2015 Chris Lukassen
ASAS 2015 Chris LukassenAvisi B.V.
 
ASAS 2015 Chris Lukassen
ASAS 2015 Chris LukassenASAS 2015 Chris Lukassen
ASAS 2015 Chris LukassenAvisi B.V.
 
Keynote ASAS 2015 Ted Neward
Keynote ASAS 2015 Ted NewardKeynote ASAS 2015 Ted Neward
Keynote ASAS 2015 Ted NewardAvisi B.V.
 
ASAS 2015 Robin van Breukelen
ASAS 2015 Robin van BreukelenASAS 2015 Robin van Breukelen
ASAS 2015 Robin van BreukelenAvisi B.V.
 
ASAS 2015 - Kasia Mrowca
ASAS 2015 - Kasia MrowcaASAS 2015 - Kasia Mrowca
ASAS 2015 - Kasia MrowcaAvisi B.V.
 
ASAS 2015 - Norberto Leite
ASAS 2015 - Norberto LeiteASAS 2015 - Norberto Leite
ASAS 2015 - Norberto LeiteAvisi B.V.
 
ASAS 2015 - Maarten van den Heuvel
ASAS 2015 - Maarten van den HeuvelASAS 2015 - Maarten van den Heuvel
ASAS 2015 - Maarten van den HeuvelAvisi B.V.
 

Mehr von Avisi B.V. (20)

Scaling Your Team and Technology: The Agile Way - Erik Duindam
Scaling Your Team and Technology: The Agile Way - Erik DuindamScaling Your Team and Technology: The Agile Way - Erik Duindam
Scaling Your Team and Technology: The Agile Way - Erik Duindam
 
Bigger product is better - Viktor Grgric
Bigger product is better  - Viktor GrgricBigger product is better  - Viktor Grgric
Bigger product is better - Viktor Grgric
 
Product development insights - Robin van Breukelen
Product development insights - Robin van BreukelenProduct development insights - Robin van Breukelen
Product development insights - Robin van Breukelen
 
Software design patterns and lessons learned from nature - Jaromil
Software design patterns and lessons learned from nature - JaromilSoftware design patterns and lessons learned from nature - Jaromil
Software design patterns and lessons learned from nature - Jaromil
 
Content must be creative - Jon Westenberg
Content must be creative - Jon WestenbergContent must be creative - Jon Westenberg
Content must be creative - Jon Westenberg
 
Does your design smell - Tushar Sharma
Does your design smell  - Tushar SharmaDoes your design smell  - Tushar Sharma
Does your design smell - Tushar Sharma
 
How to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris LukassenHow to become a Product Samurai - Chris Lukassen
How to become a Product Samurai - Chris Lukassen
 
ASAS 2015 Gert Florijn & Eelco Rommes
ASAS 2015 Gert Florijn & Eelco RommesASAS 2015 Gert Florijn & Eelco Rommes
ASAS 2015 Gert Florijn & Eelco Rommes
 
ASAS 2015 - Benito de Miranda
ASAS 2015 - Benito de MirandaASAS 2015 - Benito de Miranda
ASAS 2015 - Benito de Miranda
 
ASAS 2015 Stanimira Jelezova
ASAS 2015 Stanimira JelezovaASAS 2015 Stanimira Jelezova
ASAS 2015 Stanimira Jelezova
 
ASAS 2015 Regina Chien
ASAS 2015 Regina ChienASAS 2015 Regina Chien
ASAS 2015 Regina Chien
 
ASAS 2015 Darren Harris
ASAS 2015 Darren HarrisASAS 2015 Darren Harris
ASAS 2015 Darren Harris
 
ASAS 2015 Henk Kolk
ASAS 2015 Henk KolkASAS 2015 Henk Kolk
ASAS 2015 Henk Kolk
 
ASAS 2015 Chris Lukassen
ASAS 2015 Chris LukassenASAS 2015 Chris Lukassen
ASAS 2015 Chris Lukassen
 
ASAS 2015 Chris Lukassen
ASAS 2015 Chris LukassenASAS 2015 Chris Lukassen
ASAS 2015 Chris Lukassen
 
Keynote ASAS 2015 Ted Neward
Keynote ASAS 2015 Ted NewardKeynote ASAS 2015 Ted Neward
Keynote ASAS 2015 Ted Neward
 
ASAS 2015 Robin van Breukelen
ASAS 2015 Robin van BreukelenASAS 2015 Robin van Breukelen
ASAS 2015 Robin van Breukelen
 
ASAS 2015 - Kasia Mrowca
ASAS 2015 - Kasia MrowcaASAS 2015 - Kasia Mrowca
ASAS 2015 - Kasia Mrowca
 
ASAS 2015 - Norberto Leite
ASAS 2015 - Norberto LeiteASAS 2015 - Norberto Leite
ASAS 2015 - Norberto Leite
 
ASAS 2015 - Maarten van den Heuvel
ASAS 2015 - Maarten van den HeuvelASAS 2015 - Maarten van den Heuvel
ASAS 2015 - Maarten van den Heuvel
 

Kürzlich hochgeladen

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Agile Model Driven Development Using Smart Use Cases

  • 1. @aahoogendoorn Sander Hoogendoorn Principal Technology Officer, Global Agile Thought Leader Capgemini PRAGMATIC AGILE MODEL DRIVEN DEVELOPMENT USING SMART USE CASES
  • 2. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 2 Sander Hoogendoorn Me Dad (3) Programmer, trainer, coach, architect Books (3) Articles (+250) International conferences (+100) Capgemini Principal technology officer Global design authority agile Web www.sanderhoogendoorn.com www.smartusecase.com www.speedbird9.com @aahoogendoorn
  • 3. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn
  • 4. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 4 On being a developer...
  • 5. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 5 Agenda Agile. How does it work? Agile requirements and modeling? The backlog. Where does it come from? User stories. An agile requirements anti-pattern Smart use cases Different levels of use cases Standardizing and stereotypes Estimating smart use cases The backlog revisited. Where does it come from? Automating test design Generating code from agile requirements In retrospective
  • 6. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 6 Agenda. Demo’s Agile. How does it work? Agile requirements and modeling? The backlog. Where does it come from? User stories. An agile requirements anti-pattern Smart use cases Different levels of use cases Standardizing and stereotypes Estimating smart use cases The backlog revisited. Where does it come from? Automating test design Generating code from agile requirements In retrospective
  • 8. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 8 Agile. Backlog
  • 9. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 9 Agile. Iterations
  • 10. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 10 Agile. In iteration
  • 11. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 11 Agile. Iteration backlog
  • 12. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 12 Agile. Working in iterations
  • 13. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 13 Agile. New work items
  • 14. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 14 Agile. Remaining work items
  • 15. @aahoogendoorn WHAT ABOUT AGILE REQUIREMENTS AND MODELING?
  • 16. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 16 Scrum
  • 17. @aahoogendoorn THE BACKLOG. WHERE DOES IT COME FROM?
  • 18. @aahoogendoorn AND ON THE SEVENTH DAY KEN CREATED THE BACKLOG
  • 19. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 19 The automagical backlog
  • 20. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 20 The automagical backlog
  • 21. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 21 Agile. Where does the backlog come from?
  • 22. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 22 Preliminary iterations
  • 23. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 23 Preliminary iterations
  • 24. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 24 SmartCreateproject proposalWriteproject planDeliverworkingsoftwareStabilizesoftware
  • 25. @aahoogendoorn An agile requirements anti-pattern USER STORIES
  • 26. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 26 User stories
  • 27. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 27 User stories. The approach
  • 28. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 28 User stories in complex system landscapes Often too unstructured Unsuitable in complex environments
  • 29. @aahoogendoorn Part I. From scope to smart use cases SMART USE CASES
  • 30. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 30 Levels of requirements
  • 31. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 31 Agile requirements. Approach D E F SmartUse Cases A ProjectScope D Use Cases A B C HierarchicalProcesses B D D HierarchicalProcesses ChronologicalProcesses Cloud Level Kite Level Sea Level Fish Level C
  • 32. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 32 Identifying scope at cloud level
  • 33. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 33 Cloud level
  • 34. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 34 Kite level
  • 35. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 35 Modeling smart use cases. Sea and fish level
  • 36. @aahoogendoorn Modeling at different levels of granularity SMART USE CASES
  • 37. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 37 Different levels of use cases User goal Sub function
  • 38. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 38 Different levels of use cases Traditionaluse cases Smartuse cases Format Textual Visual Granularity Different Unified Estimate Hard Easy Unit of work Lousy Good Reuse Incidental Normal Traceability Possible Normal Testability Poor Good
  • 39. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 39 Identifying sub-function level use cases Guidelines for identifying sub-function level use cases Identify re-use Model one form per use case Model one use case per functional web part Isolate unknown functionality Identify complex functionality Show reporting Model complex calculations Isolate interaction with others Avoid low level (database) interaction
  • 40. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 41 Smart use cases. Stereotyped
  • 41. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 42 Smart use cases. Service orientation
  • 42. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 43 Identifying reuse
  • 43. @aahoogendoorn Thinking in stereotypes SMART USE CASES
  • 44. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 45 Smart use case stereotypes
  • 45. @aahoogendoorn Using www.speedbird9.com DEMO THE BACKLOG REVISITED. WHERE DOES IT COME FROM?
  • 46. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 47 Filling the backlog (www.speedbird9.com)
  • 47. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 48 www.speedbird9.com
  • 49. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 50 Estimating smart use cases
  • 50. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 51 Estimating smart use cases 4 3 2 3 8 4 3 3
  • 51. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 52 Standardizing estimation Estimating smart use caseswhile modeling
  • 52. @aahoogendoorn Using Enterprise Architect, Tobago MDA DEMO GENERATINGYOUR ESTIMATES
  • 53. @aahoogendoorn Part II. Implementing smart use cases SMART USE CASES
  • 54. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 55 The smart use case life cycleDefine work on use caseWritetest casesGenerateand builduse caseRuntest casesAdjustuse caseDescribeuse caseAcceptuse case
  • 55. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 56 Analysis & Design. Writing use cases
  • 56. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 57 Test Design. Test scenarios for smart use cases
  • 57. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 58 Test Design. Testing smart use cases
  • 58. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 59 Test Design. Test cases for smart use cases
  • 59. @aahoogendoorn Using Sparx’ Enterprise Architect DEMO AUTOMATING SMART USE CASE TEST DESIGN
  • 60. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 62 Writing smart use cases. Using Enterprise Architect
  • 61. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 63 Writing smart use cases. Using Enterprise ArchitectAlternative flowsException flowsBasic flow
  • 62. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 64 Writing smart use cases. Using Enterprise ArchitectFields on formwith smart use casesSmart use casespecific business rulesand validations
  • 63. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 65 Test scenarios for a smart use case
  • 64. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 66 Testing a smart use case. Using Enterprise Architect
  • 65. @aahoogendoorn CAN WE GENERATE CODE FROM (AGILE) REQUIREMENTS?
  • 66. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 68 Can we generate code from (agile) requirements? Why generate code? Higher productivity? Higher quality? Get rid of repetitive work? Prototyping? Prerequisites to generating code Standardize, standardize, standardize A decent and pragmatic model A simple code generator A straightforward templating language Templates! Clear and present software architecture Frameworks to back up your software architecture
  • 67. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn Presentation Process Domain Data / Services Outside world PagesUserControlsPanels Use casesWorkflow Domain objects / Entities Factories / Repositories Enums / Value objects / Smart references Data / Service gateways Service locators [Mapping] DatabasesServices / ESB Exact SAP BizTalk Java
  • 68. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 70 Using Tobago MDA
  • 69. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 71 Model driven development -Templates
  • 70. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn Forms Use cases Domain objects Data / Serviceclasses Databases Software Architecture TobagoMDA Testscenario’s Frameworks Specifications ExistingApplications Businessmodels DomainModel Smartuse cases User interfacespecification1. Mapbusiness processes to smart use cases2. Set up domain model3. Refinesoftware architecture(s) 4. Generate code using a text template engine5. Finalize application
  • 71. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 73 Generated code in ASP.NET
  • 72. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 74 Generated code Windows 8
  • 73. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn 75 Generating code. Twitter Bootstrap & JSF
  • 74. @aahoogendoorn Using Enterprise Architect, Tobago MDA, Visual Studio 2013 DEMO GENERATING CODE FROM SMART USE CASES
  • 76. UML AND SMART USE CASES ©2001 -2014 Sander Hoogendoorn. All Rights Reserved @aahoogendoorn