Are Agile Projects doomed to halfbaked design

  • Published on
    14-Oct-2014

  • View
    889

  • Download
    0

Embed Size (px)

Transcript

AreAgileProjectsDoomedto HalfBakedDesign?

AlexChaffee alex@PivotalLabs.com LeslieChicoine leslie@GetSatisfaction.com

Introduction

What is Design What is Coding XP and Agile Programming Agile Design: How to merge Agile processes and design principles Q&A

Web 2.0 =

?

Web 2.0 =

play

Web 2.0 = play

faster

DesignMethods

Design

DesignMethods

Graphics UserFlow Concepts Strategy

InformationArchitecture UserCentered

DesignFrontEndCoding Interaction

Research Interactive

UserInterface

DesignMethods

Idesign.

DesignMethods

Thought

Researc h

Idesign.

Modelin g Play

Communicatio n

Redesign

CodingMethods

Coding

CodingMethods

Databases Design Patterns IDEs Debugging Perl

Scripting Ruby

CSS

UMLDiagrams JavaScript Deploying

CodingResearch

Java

Best ObjectOriented Practices Design ModelView VersionControl Controller

CodingMethods

Icode.

CodingMethods

Thought

Researc h

Icode.

Modelin g Play

Communicatio n

Redesign

TheBigIdea

Designisfindingthe problem,notthesolution.LeslieChicoine

Thehardproblemsare peopleproblems (mis)communication (notenough)feedback (notfully)comprehendingconstraints

processproblems

deadlineandresourcemanagement designflexibilityinthefaceoffrequentchange

Wherecanwefindapeopleorientedprocess,andprocess orientedpeople?

XPDefined

ExtremeProgrammingisanAgileProcess Motto:EmbraceChange OtherAgileProcessesincludeScrum,CrystalClear, AdaptiveSoftwareDevelopment,FeatureDriven Development,DSDM,AgileModeling

XPDefined

ExtremeProgrammingisanAgileProcess Values

Feedback Communication Simplicity Courage

Continuous Integration

Collective Ownership

Asktheroom frequent spontaneous workingsessions

XPPractices

retrospectivestesting Continuous Improvement HighcodequalityIncremental design, development, deployment

XP PracticesWeeklydemos OnsiteCustomer

Pairingsimpledesign

refactoringSuggestandagreeto processchanges SustainablePace

designbydiscussion

Dontbestupid.

XPCycles

XPCycles

RapidIteration,smallreleases Frequentplanning/designsessions IterationPlanning,ReleasePlanning Breakdownrequirementsintostoriesintotasks DailyStandup RegularAllHandsRetrospectives

Frequent(weekly)demos

ofdeployed,100%functionalsoftware realcode,realdb,realui,butonlysomeofthestories coders,clients,designers,PMsareallintheroom

XPMeetsWaterfallDesign

Extreme Programming

Waterfall Design

XPMeetsWaterfallDesign

ExtremeProgramming

WaterfallDesign

XPMeetsWaterfallDesign

XPStaples

ThethreethingswedoinXPthatanyteam shoulddo

Weeklydemos Dailystandups PairingCaution:Mayprovokeresistanceandhostility

AgileDesign

AgileDesign

AgileDesign

Plansareuseless,but planningisindispensable.DwightD.Eisenhower

AgileDesign

Embracingchange Communaldesignownership Evolvingsolutions

AgileDesign

AgileDesign

AgileDesign

MakeitOKforpeopletochallengeanideaor two,thegoodideascanwithstanditandthe weakerideasfallawayandmakeroomfor something[better].BradBird,Writer/DirectoroftheIncredibles

AgileDesign

Helltakegoodideasfromwherever theycomefrom. Heasksyou,hewantstoknowwhat youthink.

ScalesofDesign

ScalesofDesign

ScalesofDesign

LargeScale

Concept BusinessGoals

UserTasks/Motivations SiteFlow&WayfindingSupportingSystemsNavigation WidgetsLanguageButtons

GlobalStyles

SmallScale

GraphicsFonts

ScalesofDesign

TheLargeScaleistestedintheSmall Scale. TheSmallScalerevealsiftheLarge Scaleideasaresolid.

ScalesofDesign

Playfaster.

ScalesofDesign

Playfaster.

ScalesofDesign

Playfaster.

ScalesofDesign

Playfaster.

ScalesofDesign

LargeScale

Concept BusinessGoals

UserTasks/Motivations SiteFlow&WayfindingSupportingSystemsNavigation WidgetsLanguageButtons

GlobalStyles

SmallScale

GraphicsFonts

Problemsvs.Solutions

Problemsvs.Solutions

Problemsvs.Solutions

Designisfindingtheproblem, notthesolution.

Problemsvs.Solutions

Documentsascommunicationspace Notasblueprints

Problemsvs.Solutions

Problemsvs.Solutions

Problemsvs.Solutions

Exposeandfleshouttheproblems Whilemanageconstraints

Problemsvs.Solutions

Suggestsolutions Sharetheoutcometocreatebuyin

OpenDesign

OpenDesign

OpenDesign

Agiledemandsopen:itsgottobe flexibleandextensible.

OpenDesign

Exposetocreatedepth.

ScalesofOpenDesign

LargeScale

Concept BusinessGoals

UserTasks/Motivations SiteFlow&WayfindingSupportingSystemsNavigation WidgetsLanguageButtons

GlobalStyles

SmallScale

GraphicsFonts

OpenDesign

OpenDesign

OpenDesign

OpenDesign

SmallScaleasreflectionofLargeScale Designemergesfromsimplerules

Designersshould Designaweekinadvanceofcoding Notmakeyourmockupspixelperfect Workliterallysidebysidewithcoderswhen implementingmockups AllowcoderstoparticipateinIA/UIdesignEspeciallyafterthecodinghasalreadystarted

Codersshould

Codersshouldaskdesignersorelse timeiswastedreworkingsolvedissues solutionsareimplementedthatdon'tworkwithotherpartsof thedesignedsystem codersmakeassumptionsbasedonmockups Codersshouldgivefrequentlivedemosorelse designersdon'tknowwhatpartsofthedesignare/aren't working designersdon'tknowwhatpartsofthedesignaren'tworking together codersdon'tknowtheircodehasbugsorneedstweaking

Howtointegratewithanoutsidedesign company? Communicationandfeedbackarenaturallymorestretchedout Someunnatural(oratleastunAgile)barriersareimposed Timeandspace Signoffprocedures Documentation/specs Perfectionism Mistrust Bringthemintoyourprocessasmuchasyoucan Dontforcethemtoadapttoomuchortheyllresentanddemonizeyou Iteratepermonthatfirst,thenperweek Invitethemtoyourdemos(remotelyifneedbe)

SayHi.

AlexChaffee alex@PivotalLabs.com LeslieChicoine leslie@GetSatisfaction.com