SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Model-driven prototyping


          Rafael Chaves
       rafael@abstratt.com
Sample application: Business Expense
Reporting
Tracking and reporting of business-related expenses incurred by
employees

An employee records expenses and submits them for approval
Expense processing dept approves and reimburses the
employee, or returns for review (with a comment)
Sample application: Business Expense
Reporting

Expenses are classified by one and only one category (food,
transportation, lodging, etc)

Must be able to filter expenses by period

Must be able to filter expenses by category
Proposed design
Check-point

Does this design satisfy the requirements?

Do we understand all the requirements?

Does the customer ?

How can we be confident about that?
How to validate?

Traditional options:
   peer review
   stakeholders review
   what else?

Not everybody can read UML (or ERD), let alone validate

Often those who can read models don't understand the
requirements, and vice versa
What if we still miss something?

Gaps in requirements are costly to address (design < construction <
testing << acceptance <<< production)
Study: 60% of errors from requirements phase, 15% of errors caught
in that phase

Longer specification documents or more diagrams won't help.

Is there a better way of doing this?
Prototype it!

We must be able to play with the design . And so should all
stakeholders.

A prototype shows a design taking life
All stakeholders can understand it
Throw it away or start from it?
Throwaway prototypes are for gathering requirements / feedback

Evolutionary prototypes allow completing parts of the system
incrementally

Different goals: refining requirements vs. strategy for construction

Throwaway prototypes typically do not prove something is
viable/practical
Effective prototyping
Not only cheaper, a prototype must be orders of magnitude
cheaper than the real thing

Prototypes must be quick to build

Focus on what we need feedback now, ignore the rest.

What should we focus on? Typically, that would be...
The domain model is king
Most bang for the buck: mistakes in the domain model percolate
throughout the application

Only true for rich domain models - anemic domain models are
worth very little

Covers most functional requirements in a typical application

How can users play with the domain model without a UI?
Model-driven prototyping
UI automatically generated from the domain model (cheap/quick)

Allows validating structural and behavioural aspects

Domain models for MDP are quick and cheap to build (can ignore
all other concerns)

Not for validation of the UI.
Helps with the solution too
Forces you to conceive the domain model upfront

Leads to a rich domain model

Results in a solid map for construction

Brings design close to requirement analysis

Greatly reduces gaps encountered beyond design
Some tools for Model-driven
Prototyping

Naked Objects (domain-driven prototyping )

Scaffolding (Rails/Grails)

and...
http://alphasimple.com
Model-driven prototyping


          Rafael Chaves
       rafael@abstratt.com

Weitere ähnliche Inhalte

Was ist angesagt?

Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentationSayedFarhan110
 
Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Chris McFadden
 
Introduction to prototyping
Introduction to prototypingIntroduction to prototyping
Introduction to prototypingAlexis Antonelli
 
Software engineering 7 prototype model
Software engineering 7 prototype modelSoftware engineering 7 prototype model
Software engineering 7 prototype modelVaibhav Khanna
 
Introduction to Quality Improvement
Introduction to Quality ImprovementIntroduction to Quality Improvement
Introduction to Quality ImprovementJoan Dembowski
 
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineeringguest472f47
 
NUX October 6th 2014 - UX in a traditional enterprise
NUX October 6th 2014 - UX in a traditional enterpriseNUX October 6th 2014 - UX in a traditional enterprise
NUX October 6th 2014 - UX in a traditional enterprisepjhauser
 
WhatUsersDo Workshop: Extracting and Sharing Insights
WhatUsersDo Workshop: Extracting and Sharing InsightsWhatUsersDo Workshop: Extracting and Sharing Insights
WhatUsersDo Workshop: Extracting and Sharing InsightsLee Duddell
 
Chap 4 prototype
Chap 4   prototypeChap 4   prototype
Chap 4 prototypearoka55
 
Employer final review_GM
Employer final review_GMEmployer final review_GM
Employer final review_GMHuzefa Mikail
 
Dump-in and Dump-out: Top checks to be done from Analysis results before maki...
Dump-in and Dump-out: Top checks to be done from Analysis results before maki...Dump-in and Dump-out: Top checks to be done from Analysis results before maki...
Dump-in and Dump-out: Top checks to be done from Analysis results before maki...Sowmiya Siva
 

Was ist angesagt? (20)

Prototyping
PrototypingPrototyping
Prototyping
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...
 
Introduction to prototyping
Introduction to prototypingIntroduction to prototyping
Introduction to prototyping
 
Software engineering 7 prototype model
Software engineering 7 prototype modelSoftware engineering 7 prototype model
Software engineering 7 prototype model
 
Introduction to Quality Improvement
Introduction to Quality ImprovementIntroduction to Quality Improvement
Introduction to Quality Improvement
 
Prototype
PrototypePrototype
Prototype
 
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
 
PROTOTYPE IN IT DESIGN
PROTOTYPE IN IT DESIGN PROTOTYPE IN IT DESIGN
PROTOTYPE IN IT DESIGN
 
NUX October 6th 2014 - UX in a traditional enterprise
NUX October 6th 2014 - UX in a traditional enterpriseNUX October 6th 2014 - UX in a traditional enterprise
NUX October 6th 2014 - UX in a traditional enterprise
 
Prototyping Model
Prototyping ModelPrototyping Model
Prototyping Model
 
Prototyping model
Prototyping modelPrototyping model
Prototyping model
 
Khurram Spiral
Khurram SpiralKhurram Spiral
Khurram Spiral
 
Spiral model by yameen 3001
Spiral model by yameen 3001Spiral model by yameen 3001
Spiral model by yameen 3001
 
Spiral model
Spiral modelSpiral model
Spiral model
 
WhatUsersDo Workshop: Extracting and Sharing Insights
WhatUsersDo Workshop: Extracting and Sharing InsightsWhatUsersDo Workshop: Extracting and Sharing Insights
WhatUsersDo Workshop: Extracting and Sharing Insights
 
Chap 4 prototype
Chap 4   prototypeChap 4   prototype
Chap 4 prototype
 
Employer final review_GM
Employer final review_GMEmployer final review_GM
Employer final review_GM
 
Prtotype and-test2
Prtotype and-test2Prtotype and-test2
Prtotype and-test2
 
Dump-in and Dump-out: Top checks to be done from Analysis results before maki...
Dump-in and Dump-out: Top checks to be done from Analysis results before maki...Dump-in and Dump-out: Top checks to be done from Analysis results before maki...
Dump-in and Dump-out: Top checks to be done from Analysis results before maki...
 

Andere mochten auch

AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitchRafael Chaves
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven developmentRafael Chaves
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...Rafael Chaves
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativoRafael Chaves
 
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraTDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraRafael Chaves
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deckRafael Chaves
 
Modernização de Sistemas de Gestão
Modernização de Sistemas de GestãoModernização de Sistemas de Gestão
Modernização de Sistemas de GestãoRafael Chaves
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosRafael Chaves
 
Separando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoSeparando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoRafael Chaves
 
Fake It While We Make It (Data-Driven Prototyping)
Fake It While We Make It (Data-Driven Prototyping)Fake It While We Make It (Data-Driven Prototyping)
Fake It While We Make It (Data-Driven Prototyping)Ryan LaBouve
 
MDD with Executable UML Models
MDD with Executable UML ModelsMDD with Executable UML Models
MDD with Executable UML ModelsRafael Chaves
 
UX Toolkit für Product Owner
UX Toolkit für Product OwnerUX Toolkit für Product Owner
UX Toolkit für Product OwnerClaudia Oster
 
UX-Messung
UX-MessungUX-Messung
UX-MessunguxHH
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0thoemmes
 
Cross Device Experience with HTML Prototyping
Cross Device Experience with HTML PrototypingCross Device Experience with HTML Prototyping
Cross Device Experience with HTML PrototypingPeter Rozek
 
Service Design meets UX Design
Service Design meets UX DesignService Design meets UX Design
Service Design meets UX DesignFranziska Semer
 

Andere mochten auch (18)

Code generation
Code generationCode generation
Code generation
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitch
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven development
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativo
 
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraTDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestra
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deck
 
Modernização de Sistemas de Gestão
Modernização de Sistemas de GestãoModernização de Sistemas de Gestão
Modernização de Sistemas de Gestão
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
Separando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoSeparando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestão
 
Fake It While We Make It (Data-Driven Prototyping)
Fake It While We Make It (Data-Driven Prototyping)Fake It While We Make It (Data-Driven Prototyping)
Fake It While We Make It (Data-Driven Prototyping)
 
MDD with Executable UML Models
MDD with Executable UML ModelsMDD with Executable UML Models
MDD with Executable UML Models
 
TextUML Toolkit
TextUML ToolkitTextUML Toolkit
TextUML Toolkit
 
UX Toolkit für Product Owner
UX Toolkit für Product OwnerUX Toolkit für Product Owner
UX Toolkit für Product Owner
 
UX-Messung
UX-MessungUX-Messung
UX-Messung
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
Cross Device Experience with HTML Prototyping
Cross Device Experience with HTML PrototypingCross Device Experience with HTML Prototyping
Cross Device Experience with HTML Prototyping
 
Service Design meets UX Design
Service Design meets UX DesignService Design meets UX Design
Service Design meets UX Design
 

Ähnlich wie Model Driven Prototyping

Risk Driven Testing
Risk Driven TestingRisk Driven Testing
Risk Driven TestingJorge Boria
 
Standards Based Approach to User Interface Development
Standards Based Approach to User Interface DevelopmentStandards Based Approach to User Interface Development
Standards Based Approach to User Interface DevelopmentSameer Chavan
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Software Life Cylce Model
Software Life Cylce ModelSoftware Life Cylce Model
Software Life Cylce ModelJegadeesh Sam
 
Discussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxDiscussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxmadlynplamondon
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles sathish sak
 
Lecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxLecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxSeniorUsama
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderProduct School
 
B potential pitfalls_of_process_modeling_part_b-2
B potential pitfalls_of_process_modeling_part_b-2B potential pitfalls_of_process_modeling_part_b-2
B potential pitfalls_of_process_modeling_part_b-2Jean-François Périé
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfOmethSanchitha
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introductionwojtek_s
 

Ähnlich wie Model Driven Prototyping (20)

Risk Driven Testing
Risk Driven TestingRisk Driven Testing
Risk Driven Testing
 
Software process model
Software process modelSoftware process model
Software process model
 
2
22
2
 
Standards Based Approach to User Interface Development
Standards Based Approach to User Interface DevelopmentStandards Based Approach to User Interface Development
Standards Based Approach to User Interface Development
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Software Life Cylce Model
Software Life Cylce ModelSoftware Life Cylce Model
Software Life Cylce Model
 
UCD overview
UCD overviewUCD overview
UCD overview
 
Discussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docxDiscussion Post 1A software process model is a streamlined port.docx
Discussion Post 1A software process model is a streamlined port.docx
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
Lecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptxLecture 19,20 Software Development Process Models.pptx
Lecture 19,20 Software Development Process Models.pptx
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate Founder
 
B potential pitfalls_of_process_modeling_part_b-2
B potential pitfalls_of_process_modeling_part_b-2B potential pitfalls_of_process_modeling_part_b-2
B potential pitfalls_of_process_modeling_part_b-2
 
01lifecycles
01lifecycles01lifecycles
01lifecycles
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
Rnd
RndRnd
Rnd
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Sww 2007 Lets Get Ready To Automate
Sww 2007   Lets Get Ready To AutomateSww 2007   Lets Get Ready To Automate
Sww 2007 Lets Get Ready To Automate
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Model Driven Prototyping

  • 1. Model-driven prototyping Rafael Chaves rafael@abstratt.com
  • 2. Sample application: Business Expense Reporting Tracking and reporting of business-related expenses incurred by employees An employee records expenses and submits them for approval Expense processing dept approves and reimburses the employee, or returns for review (with a comment)
  • 3. Sample application: Business Expense Reporting Expenses are classified by one and only one category (food, transportation, lodging, etc) Must be able to filter expenses by period Must be able to filter expenses by category
  • 5. Check-point Does this design satisfy the requirements? Do we understand all the requirements? Does the customer ? How can we be confident about that?
  • 6. How to validate? Traditional options: peer review stakeholders review what else? Not everybody can read UML (or ERD), let alone validate Often those who can read models don't understand the requirements, and vice versa
  • 7. What if we still miss something? Gaps in requirements are costly to address (design < construction < testing << acceptance <<< production) Study: 60% of errors from requirements phase, 15% of errors caught in that phase Longer specification documents or more diagrams won't help. Is there a better way of doing this?
  • 8. Prototype it! We must be able to play with the design . And so should all stakeholders. A prototype shows a design taking life All stakeholders can understand it
  • 9. Throw it away or start from it? Throwaway prototypes are for gathering requirements / feedback Evolutionary prototypes allow completing parts of the system incrementally Different goals: refining requirements vs. strategy for construction Throwaway prototypes typically do not prove something is viable/practical
  • 10. Effective prototyping Not only cheaper, a prototype must be orders of magnitude cheaper than the real thing Prototypes must be quick to build Focus on what we need feedback now, ignore the rest. What should we focus on? Typically, that would be...
  • 11. The domain model is king Most bang for the buck: mistakes in the domain model percolate throughout the application Only true for rich domain models - anemic domain models are worth very little Covers most functional requirements in a typical application How can users play with the domain model without a UI?
  • 12. Model-driven prototyping UI automatically generated from the domain model (cheap/quick) Allows validating structural and behavioural aspects Domain models for MDP are quick and cheap to build (can ignore all other concerns) Not for validation of the UI.
  • 13. Helps with the solution too Forces you to conceive the domain model upfront Leads to a rich domain model Results in a solid map for construction Brings design close to requirement analysis Greatly reduces gaps encountered beyond design
  • 14. Some tools for Model-driven Prototyping Naked Objects (domain-driven prototyping ) Scaffolding (Rails/Grails) and...
  • 16.
  • 17. Model-driven prototyping Rafael Chaves rafael@abstratt.com