SlideShare uma empresa Scribd logo
1 de 34
BUILDING BETTER ARCHITECTURE WITH UX-DRIVEN DESIGN
DINO ESPOSITO
http://twitter.com/despos
“A good software project must, like a house, start on strong
foundations of good architecture and good requirements.”
(cit.)
ABOUT ESTIMATES
http://noestimatesbook.com/
IN SOFTWARE NOBODY ASKS YOU TO SIMPLY BUILD A HOUSE
TENT HUT CARAVAN CASTLE
All details are
described in depth.
CONSCIOUS
REQUIREMENTS
A few details
reckoned obvious
and omitted
UNCONSCIOUS
REQUIREMENTS
Not mentioned at
all
DREAMS
WORDSWORDS
To improve the software
development process, we need
a better way to learn.
Watch the webinar recording here:
http://www.postsharp.net/blog/post/webinar-
recording-ux-driven-design
The user of the software won’t know what
she wants until she sees the software.
Humphrey’s Law
An interactive system can never be fully
specified nor can it ever be fully tested.
Wegner’s Lemma
Anonymous
If you wait until the last minute to
complete the user interface, it only takes
a minute.
Many great ideas have been first
sketched out on paper napkins.
Talk is cheap.
Show me the product.
• Visual immediacy
• Missed points caught earlier
• Focus on tasks and actions
• Frontend and backend match up
Two Architect Roles
Collect usability requirements to
build the best possible UX for
the presentation layer
Collect business requirements
to build the best possible
domain layer
Software
Architect
Faces the painful truth of
requirements
UX
Architect
Faces the blissful simplicity
of visuals
Remember: all I'm offering is the truth. Nothing more.
—Morpheus (from “The Matrix”)
Architecture of the information
User-machine interaction
Usability reviews
•Responsibilities
of UX architects
■ Record users in action
■ Analyze body language
■ Monitor timing of operations
UXDD in Three Steps
Create screens as
users love them
Trigger workflows
from screens
Code workflows to
use business logic
• Two-phase waterfall
• Low-cost design of the frontend
• Straight implementation of the
backend
•  Longer than classic bottom-up
•  Nearly no post-deployment
costs
•UXDD
Summary
•UXDD
Summary
NO POST-DEPLOYMENT COSTS?
NO POST-DEPLOYMENT COSTS.
Watch the webinar recording here:
http://www.postsharp.net/blog/post/webinar-
recording-ux-driven-design
Presentation
Business
Data
How You See Your System How Users See Your System
Interface
BLACK
MAGIC
PRESENTATION
APPLICATION
DOMAIN
INFRASTRUCTURE
DEVELOPER USER/DESIGNER REAL-WORLD
UXDD
The experience users go through while
interacting with the application.
User Experience
SKETCH
Freehand drawing
primarily done to jot
down ideas
Related Terminology
WIREFRAME
More precise sketch
focused on layout,
navigation, content
MOCKUP
As detailed as a
wireframe with some
sample UI attached
PROOF OF CONCEPT
Small exercise to verify
truthfulness or viability of
an assumption
Related Terminology
PROTOTYPE
Fake system simulating
the behavior of the real
system to be built
PILOT
Production-ready system
tested against a subset of
the intended audience
Sketches
Wireframes
Prototypes
Basic understanding
Basic prototyping
Advanced
prototyping
UXDD Prototyping Levels
PRODUCTS
BALSAMIQ AXURE UXPIN JUSTINMIND
DATA MODEL
BUSINESS LOGIC
USER INTERFACE
Possible model mismatch
BOTTOM-UP
REQUIREMENTS
TOP-DOWN
DATA MODEL
BUSINESS LOGIC
USER INTERFACE
Model cut to fit
REQUIREMENTS
TOP-DOWN
DATA MODEL
BUSINESS LOGIC
USER INTERFACE
Model cut to fit
REQUIREMENTS
TOP-DOWN
BLACK MAGIC
USER INTERFACE
REQUIREMENTS
Model cut to fit
Watch the webinar recording here:
http://www.postsharp.net/blog/post/webinar-
recording-ux-driven-design
USER INTERFACE
SCREEN SCREENSCREEN
APPLICATION LAYER
WORK
FLOW
WORK
FLOW
WORK
FLOW
DOMAIN LAYER
INFRASTRUCTURE LAYER
VIEW model
INPUT model
The UX users want
Backend to support
just the UX users want
EVENT
store
READ
model
COMMAND
stack
QUERY
stack
UXDD leads to
■ CQRS
■ Event Sourcing
All this said …
The best way to save money on software
projects is learning as much as possible about
the domain and users’ expectations.
Anonymous
REFERENCES
http://naa4e.codeplex.com
Watch the webinar recording here:
http://www.postsharp.net/blog/post/webinar-
recording-ux-driven-design
■ Modern Software Architecture
Domain Models, CQRS, and Event Sourcing
■ UX-driven Software Design
coming soon
dino.esposito@jetbrains.com
http://twitter.com/despos
http://facebook.com/naa4e
http://software2cents.wordpress.com

Mais conteúdo relacionado

Semelhante a Building Better Architecture with UX-Driven Design

Software Architecture - All you need to know
Software Architecture - All you need to knowSoftware Architecture - All you need to know
Software Architecture - All you need to knowVincent Composieux
 
Introduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyZainul Zain
 
Property dealing , A .net project
Property dealing , A .net projectProperty dealing , A .net project
Property dealing , A .net projectAnjali Kamboj
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
 
Online shopping Report
Online shopping ReportOnline shopping Report
Online shopping ReportPragnya Dash
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. Kushan Lahiru Perera
 
Progressive web apps with QCObjects (AngularJS Chile Community Talk)
Progressive web apps with QCObjects (AngularJS Chile Community Talk)Progressive web apps with QCObjects (AngularJS Chile Community Talk)
Progressive web apps with QCObjects (AngularJS Chile Community Talk)Jean Machuca
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.🐺Guewen Faivre
 
Net training in bhubaneswar
Net training in bhubaneswar Net training in bhubaneswar
Net training in bhubaneswar litbbsr
 
Project report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh KoolwalProject report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh KoolwalDevansh Koolwal
 

Semelhante a Building Better Architecture with UX-Driven Design (20)

Software Architecture - All you need to know
Software Architecture - All you need to knowSoftware Architecture - All you need to know
Software Architecture - All you need to know
 
Introduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga Academy
 
Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
 
Andrew Resume
Andrew ResumeAndrew Resume
Andrew Resume
 
Property dealing , A .net project
Property dealing , A .net projectProperty dealing , A .net project
Property dealing , A .net project
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
Online shopping Report
Online shopping ReportOnline shopping Report
Online shopping Report
 
Crime security.
Crime security.Crime security.
Crime security.
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
Progressive web apps with QCObjects (AngularJS Chile Community Talk)
Progressive web apps with QCObjects (AngularJS Chile Community Talk)Progressive web apps with QCObjects (AngularJS Chile Community Talk)
Progressive web apps with QCObjects (AngularJS Chile Community Talk)
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.
 
They Ain't Gonna Read It!
They Ain't Gonna Read It!They Ain't Gonna Read It!
They Ain't Gonna Read It!
 
Hci 3
Hci 3Hci 3
Hci 3
 
Net training in bhubaneswar
Net training in bhubaneswar Net training in bhubaneswar
Net training in bhubaneswar
 
Aerobatic Introduction
Aerobatic IntroductionAerobatic Introduction
Aerobatic Introduction
 
Project report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh KoolwalProject report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh Koolwal
 
20181023 progressive web_apps_are_here_sfcampua
20181023 progressive web_apps_are_here_sfcampua20181023 progressive web_apps_are_here_sfcampua
20181023 progressive web_apps_are_here_sfcampua
 
Progressive Web Apps are here!
Progressive Web Apps are here!Progressive Web Apps are here!
Progressive Web Apps are here!
 
Android part1
Android part1Android part1
Android part1
 

Mais de PostSharp Technologies

Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)PostSharp Technologies
 
Applying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsApplying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsPostSharp Technologies
 
Solving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern AutomationSolving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern AutomationPostSharp Technologies
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformancePostSharp Technologies
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 
Produce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingProduce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingPostSharp Technologies
 

Mais de PostSharp Technologies (10)

Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
 
Applying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsApplying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain Models
 
Performance is a Feature!
Performance is a Feature!Performance is a Feature!
Performance is a Feature!
 
Solving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern AutomationSolving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern Automation
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website Performance
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
Multithreading Fundamentals
Multithreading FundamentalsMultithreading Fundamentals
Multithreading Fundamentals
 
Multithreading Design Patterns
Multithreading Design PatternsMultithreading Design Patterns
Multithreading Design Patterns
 
Design Pattern Automation
Design Pattern AutomationDesign Pattern Automation
Design Pattern Automation
 
Produce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingProduce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented Programming
 

Último

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 

Último (20)

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 

Building Better Architecture with UX-Driven Design

Notas do Editor

  1. How many people around role
  2. Cost of support
  3. If you need prototypes, where’s the saving?
  4. Finally, about wrap up