are agile projects doomed to halfbaked design
Embed Size (px)
TRANSCRIPT
AreAgileProjectsDoomedto HalfBakedDesign?
AlexChaffee [email protected] LeslieChicoine [email protected]
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 [email protected] LeslieChicoine [email protected]