building better architecture with ux-driven design

34
BUILDING BETTER ARCHITECTURE WITH UX-DRIVEN DESIGN DINO ESPOSITO http://twitter.com/despos

Upload: postsharp-technologies

Post on 07-Jan-2017

159 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Building Better Architecture with UX-Driven Design

BUILDING BETTER ARCHITECTURE WITH UX-DRIVEN DESIGN

DINO ESPOSITOhttp://twitter.com/despos

Page 2: Building Better Architecture with UX-Driven Design

“A good software project must, like a house, start on strong foundations of good architecture and good requirements.” (cit.)

ABOUT ESTIMATEShttp://noestimatesbook.com/

IN SOFTWARE NOBODY ASKS YOU TO SIMPLY BUILD A HOUSE

TENT HUT CARAVAN CASTLE

Page 3: Building Better Architecture with UX-Driven Design

All details are described in

depth.

CONSCIOUSREQUIREMENTS

A few details reckoned obvious

and omitted

UNCONSCIOUSREQUIREMENTS

Not mentioned at all

DREAMS

WORDS

WORDS

Page 4: Building Better Architecture with UX-Driven Design

To improve the software development process, we

need a better way to learn.

Page 6: Building Better Architecture with 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

Page 7: Building Better Architecture with UX-Driven Design

Anonymous

If you wait until the last minute to complete the user interface, it only takes a minute.

Page 8: Building Better Architecture with UX-Driven Design

Many great ideas have been first sketched out on paper napkins.

Page 9: Building Better Architecture with UX-Driven Design

Talk is cheap. Show me the product.

Page 10: Building Better Architecture with UX-Driven Design

• Visual immediacy•Missed points caught earlier• Focus on tasks and actions• Frontend and backend match up

Page 11: Building Better Architecture with UX-Driven Design

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”)

Page 12: Building Better Architecture with UX-Driven Design

Architecture of the informationUser-machine interaction

Usability reviews•Responsibilitie

s of UX architects

■ Record users in action■ Analyze body language■ Monitor timing of operations

Page 13: Building Better Architecture with UX-Driven Design

UXDD in Three Steps

Create screens as users love them

Trigger workflows from screens

Code workflows to use business logic

SPRINTSSPRINTS

Page 14: Building Better Architecture with UX-Driven Design

• Two-phase waterfall• Low-cost design of the frontend• Straight implementation of the

backend

• Longer than classic bottom-up• Nearly no post-deployment costs

•UXDDSummary

Page 15: Building Better Architecture with UX-Driven Design

•UXDDSummary

NO POST-DEPLOYMENT COSTS?

NO POST-DEPLOYMENT COSTS.

Page 17: Building Better Architecture with UX-Driven Design

Presentation

Business

Data

How You See Your System How Users See Your System

Interface

BLACK MAGIC

Page 18: Building Better Architecture with UX-Driven Design

PRESENTATION

APPLICATIONDOMAININFRASTRUCTURE

DEVELOPER USER/DESIGNER REAL-WORLDUXDD

Page 19: Building Better Architecture with UX-Driven Design

The experience users go through while interacting with the application.

User Experience

Page 20: Building Better Architecture with UX-Driven Design

SKETCHFreehand drawing

primarily done to jot down ideas

Related Terminology

WIREFRAMEMore precise sketch focused on layout, navigation, content

MOCKUPAs detailed as a

wireframe with some sample UI attached

Page 21: Building Better Architecture with UX-Driven Design

PROOF OF CONCEPTSmall exercise to verify truthfulness or viability

of an assumption

Related Terminology

PROTOTYPEFake system simulating the behavior of the real

system to be built

PILOTProduction-ready

system tested against a subset of the

intended audience

Page 22: Building Better Architecture with UX-Driven Design

Sketches

Wireframes

Prototypes

Basic understanding

Basic prototypingAdvanced prototyping

UXDD Prototyping Levels

Page 23: Building Better Architecture with UX-Driven Design

PRODUCTS

BALSAMIQ AXURE UXPIN JUSTINMIND

Page 24: Building Better Architecture with UX-Driven Design

DATA MODEL

BUSINESS LOGIC

USER INTERFACE

Possible model mismatch

BOTTOM-UP

REQUIREMENTS

Page 25: Building Better Architecture with UX-Driven Design

TOP-DOWN

DATA MODEL

BUSINESS LOGIC

USER INTERFACE

Model cut to fit

REQUIREMENTS

Page 26: Building Better Architecture with UX-Driven Design

TOP-DOWN

DATA MODEL

BUSINESS LOGIC

USER INTERFACE

Model cut to fit

REQUIREMENTS

Page 27: Building Better Architecture with UX-Driven Design

TOP-DOWN

BLACK MAGIC

USER INTERFACE

REQUIREMENTS

Model cut to fit

Page 29: Building Better Architecture with UX-Driven Design

USER INTERFACESCREEN SCREENSCREEN

APPLICATION LAYER

WORKFLOW

WORKFLOW

WORKFLOW

DOMAIN LAYER

INFRASTRUCTURE LAYER

VIEW modelINPUT model

The UX users want

Backend to supportjust the UX users want

Page 30: Building Better Architecture with UX-Driven Design

EVENT store

READ model

COMMANDstack

QUERYstack

UXDD leads to ■ CQRS ■ Event Sourcing

Page 31: Building Better Architecture with UX-Driven Design

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

Page 32: Building Better Architecture with UX-Driven Design

REFERENCES

http://naa4e.codeplex.com

Page 34: Building Better Architecture with UX-Driven Design

■ Modern Software ArchitectureDomain Models, CQRS, and Event Sourcing

■ UX-driven Software Design coming soon

TOP 100

[email protected]

http://twitter.com/despos http://facebook.com/naa4e http://software2cents.wordpress.com