are agile projects doomed to halfbaked design

57
Are Agile Projects Doomed to HalfBaked Design? Alex Chaffee [email protected] Leslie Chicoine [email protected]

Upload: eraz

Post on 06-May-2015

731 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Are Agile Projects Doomed To Halfbaked Design

Are Agile Projects Doomed to Half­Baked Design? 

Alex Chaffee [email protected] 

Leslie Chicoine [email protected]

Page 2: Are Agile Projects Doomed To Halfbaked Design

Introduction 

What is Design What 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 

Interactive Interaction 

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 

Coding Ruby 

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 

§Feedback §Communication §Simplicity §Courage 

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 Pace On­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

Concept Business Goals User Tasks / Motivations Site Flow & Wayfinding Supporting Systems Navigation Widgets Global Styles Language Buttons Graphics Fonts 

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

Concept Business Goals User Tasks / Motivations Site Flow & Wayfinding Supporting Systems Navigation Widgets Global Styles Language Buttons Graphics Fonts 

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

Concept Business Goals User Tasks / Motivations Site Flow & Wayfinding Supporting Systems Navigation Widgets Global Styles Language Buttons Graphics Fonts 

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 Chaffee [email protected] 

Leslie Chicoine [email protected] 

Say Hi.