Download - Are Agile Projects doomed to halfbaked design

Transcript
Page 1: Are Agile Projects doomed to halfbaked design

Are Agile Projects Doomed to Half-Baked Design?

Alex [email protected]

Leslie [email protected]

Page 2: Are Agile Projects doomed to halfbaked design

Introduction

What is DesignWhat is Coding

XP and Agile Programming

Agile Design: How to merge Agile processes and design principles

Q&A

Page 3: Are Agile Projects doomed to halfbaked design

Web 2.0 = ?

Page 4: Are Agile Projects doomed to halfbaked design

Web 2.0 = play

Page 5: Are Agile Projects doomed to halfbaked design

Web 2.0 = play faster

Page 6: Are Agile Projects doomed to halfbaked design

Design Methods

Design

Page 7: Are Agile Projects doomed to halfbaked design

Strategy

Graphics

User Centered

Front End Coding

User Interface

Information Architecture

InteractiveInteraction

Research

User Flow

Concepts

Design Methods

Design

Page 8: Are Agile Projects doomed to halfbaked design

I design.

Design Methods

Page 9: Are Agile Projects doomed to halfbaked design

Research

Thought

Modeling

Communication

Play

Re-design

Design Methods

I design.

Page 10: Are Agile Projects doomed to halfbaked design

Coding

Coding Methods

Page 11: Are Agile Projects doomed to halfbaked design

Model-View-Controller

Databases

JavaScript

Java

Debugging

CSS

Version Control

IDEs Research

CodingRuby

Design Patterns

UML Diagrams

Deploying

Perl

Object-Oriented Design

Best Practices

Scripting

Coding Methods

Page 12: Are Agile Projects doomed to halfbaked design

I code.

Coding Methods

Page 13: Are Agile Projects doomed to halfbaked design

I code.Research

Thought

Modeling

Communication

Play

Re-design

Coding Methods

Page 14: Are Agile Projects doomed to halfbaked design

“Design is finding the problem, not the solution.”

—Leslie Chicoine

The Big Idea

Page 15: Are Agile Projects doomed to halfbaked design

The hard problems are…

• people problems– (mis-) communication– (not enough) feedback– (not fully) comprehending constraints

• process problems– deadline and resource management– design flexibility in the face of frequent change

Where can we find a people-oriented process, and process-oriented people?

Page 16: Are Agile Projects doomed to halfbaked design

Extreme Programming is an Agile Process

– Motto: Embrace Change– Other Agile Processes include Scrum, Crystal Clear,

Adaptive Software Development, Feature Driven Development, DSDM, Agile Modeling

XP Defined

Page 17: Are Agile Projects doomed to halfbaked design

Extreme Programming is an Agile Process• Values

FeedbackCommunicationSimplicityCourage

XP Defined

Page 18: Are Agile Projects doomed to halfbaked design

XP Practices

Collective Ownership

Pairing

Continuous Improvement

Continuous Integration

testing

refactoring

simple design

High code quality

Sustainable PaceOn-site Customer

design by discussion

frequent spontaneous

working sessions

Suggest and agree to process changes

”Ask the room”

“Don’t be stupid.”

retrospectives

Incremental design,

development, deployment

Weekly demos

XP Practices

Page 19: Are Agile Projects doomed to halfbaked design

XP Cycles– Rapid Iteration, small releases

– Frequent planning/design sessions• Iteration Planning, Release Planning• Break down requirements into stories into tasks• Daily Standup• Regular All-Hands Retrospectives

– Frequent (weekly) demos• of deployed, 100% functional software• real code, real db, real ui, but only some of the stories• coders, clients, designers, PMs are all in the room

XP Cycles

Page 20: Are Agile Projects doomed to halfbaked design

XP Meets Waterfall Design

Extreme Programming

Waterfall Design

Page 21: Are Agile Projects doomed to halfbaked design

XP Meets Waterfall Design

Extreme Programming Waterfall Design

Page 22: Are Agile Projects doomed to halfbaked design

XP Meets Waterfall Design

Page 23: Are Agile Projects doomed to halfbaked design

• The three things we do in XP that any team should do

Weekly demos Daily standups Pairing

Caution: May provoke resistance and hostility

XP Staples

Page 24: Are Agile Projects doomed to halfbaked design

Agile Design

Agile Design

Page 25: Are Agile Projects doomed to halfbaked design

“Plans are useless, but planning is indispensable.”

-Dwight D. Eisenhower

Agile Design

Page 26: Are Agile Projects doomed to halfbaked design

Embracing change

Communal design ownership

Evolving solutions

Agile Design

Page 27: Are Agile Projects doomed to halfbaked design

Agile Design

Page 28: Are Agile Projects doomed to halfbaked design

Agile Design

Page 29: Are Agile Projects doomed to halfbaked design

“Make it OK for people to challenge an idea or two, the good ideas can withstand it and the weaker ideas fall away and make room for something [better].”

-Brad Bird, Writer/Director of the Incredibles

Agile Design

Page 30: Are Agile Projects doomed to halfbaked design

“He’ll take good ideas from wherever they come from.”

“He asks you, he wants to know what you think.”

Agile Design

Page 31: Are Agile Projects doomed to halfbaked design

Scales of Design

Scales of Design

Page 32: Are Agile Projects doomed to halfbaked design

ConceptBusiness GoalsUser Tasks / MotivationsSite Flow & WayfindingSupporting SystemsNavigationWidgetsGlobal StylesLanguageButtons GraphicsFonts

Large Scale

Small Scale

Scales of Design

Page 33: Are Agile Projects doomed to halfbaked design

The Large Scale is tested in the Small Scale.

The Small Scale reveals if the Large Scale ideas are solid.

Scales of Design

Page 34: Are Agile Projects doomed to halfbaked design

Play faster.

Scales of Design

Page 35: Are Agile Projects doomed to halfbaked design

Play faster.

Scales of Design

Page 36: Are Agile Projects doomed to halfbaked design

Play faster.

Scales of Design

Page 37: Are Agile Projects doomed to halfbaked design

Play faster.

Scales of Design

Page 38: Are Agile Projects doomed to halfbaked design

ConceptBusiness GoalsUser Tasks / MotivationsSite Flow & WayfindingSupporting SystemsNavigationWidgetsGlobal StylesLanguageButtons GraphicsFonts

Large Scale

Small Scale

Scales of Design

Page 39: Are Agile Projects doomed to halfbaked design

Problems vs. Solutions

Problems vs. Solutions

Page 40: Are Agile Projects doomed to halfbaked design

“Design is finding the problem, not the solution.”

Problems vs. Solutions

Page 41: Are Agile Projects doomed to halfbaked design

Documents as communication space

Not as blueprints

Problems vs. Solutions

Page 42: Are Agile Projects doomed to halfbaked design

Problems vs. Solutions

Page 43: Are Agile Projects doomed to halfbaked design

Problems vs. Solutions

Page 44: Are Agile Projects doomed to halfbaked design

Expose and flesh out the problems

While manage constraints

Problems vs. Solutions

Page 45: Are Agile Projects doomed to halfbaked design

Suggest solutions

Share the outcome to create buy-in

Problems vs. Solutions

Page 46: Are Agile Projects doomed to halfbaked design

Open Design

Open Design

Page 47: Are Agile Projects doomed to halfbaked design

Agile demands open: it’s got to be flexible and extensible.

Open Design

Page 48: Are Agile Projects doomed to halfbaked design

Open Design

Expose to create depth.

Page 49: Are Agile Projects doomed to halfbaked design

ConceptBusiness GoalsUser Tasks / MotivationsSite Flow & WayfindingSupporting SystemsNavigationWidgetsGlobal StylesLanguageButtons GraphicsFonts

Large Scale

Small Scale

Scales of Open Design

Page 50: Are Agile Projects doomed to halfbaked design

Open Design

Page 51: Are Agile Projects doomed to halfbaked design

Open Design

Page 52: Are Agile Projects doomed to halfbaked design

Open Design

Page 53: Are Agile Projects doomed to halfbaked design

Open Design

Small Scale as reflection of Large Scale

Design emerges from simple rules

Page 54: Are Agile Projects doomed to halfbaked design

Designers should…

• Design a week in advance of coding• Not make your mockups pixel-perfect• Work literally side-by-side with coders when

implementing mockups• Allow coders to participate in IA/UI design —

Especially after the coding has already started

Page 55: Are Agile Projects doomed to halfbaked design

Coders should…• Coders should ask designers… or else

– time is wasted re-working solved issues– solutions are implemented that don't work with other parts of

the designed system– coders make assumptions based on mockups

• Coders should give frequent live demos… or else– designers don't know what parts of the design are/aren't

working– designers don't know what parts of the design aren't working

together– coders don't know their code has bugs or needs tweaking

Page 56: Are Agile Projects doomed to halfbaked design

How to integrate with an outside design company?

• Communication and feedback are naturally more stretched out

• Some unnatural (or at least un-Agile) barriers are imposed

– Time and space

– Signoff procedures

– Documentation / specs

– Perfectionism

– Mistrust

• Bring them in to your process as much as you can

• Don’t force them to adapt too much or they’ll resent and demonize you

• Iterate per-month at first, then per-week

• Invite them to your demos (remotely if need be)

Page 57: Are Agile Projects doomed to halfbaked design

Alex [email protected]

Leslie [email protected]

Say Hi.