SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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...
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
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
 

Último (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
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
 

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