Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Are Agile Projects Doomed to Half-Baked Design?

32,238 views

Published on

Today's web-based applications go live every few weeks. Agile methodologies like Extreme Programming and Scrum, focus on short development cycles, accelerated feedback from users and customers, and incremental delivery. On the technical side these approaches can bring discipline and predictability to short release cycles. But can these incremental methodologies incorporate successful design techniques? Using case studies and examples from their own project experience, Alex and Leslie will discuss how to integrate design and Agile, discussing what works, what problems arise, and most importantly, the changes in mindset that are necessary on an integrated Agile design/implementation team.

Published in: Business, Technology

Are Agile Projects Doomed to Half-Baked Design?

  1. Are Agile Projects Doomed to Half-Baked Design? Alex Chaffee [email_address] Leslie Chicoine [email_address]
  2. Introduction What is Design What is Coding XP and Agile Programming Agile Design: How to merge Agile processes and design principles Q&A
  3. Web 2.0 = ?
  4. Web 2.0 = play
  5. Web 2.0 = play faster
  6. Design Methods Design
  7. Design Methods Strategy Graphics User Centered Front End Coding User Interface Information Architecture Interactive Interaction Research User Flow Concepts Design
  8. Design Methods I design.
  9. Design Methods Research Thought Modeling Communication Play Re-design I design.
  10. Coding Methods Coding
  11. Coding Methods 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
  12. Coding Methods I code.
  13. Coding Methods I code. Research Thought Modeling Communication Play Re-design
  14. The Big Idea “ Design is finding the problem, not the solution.” —Leslie Chicoine
  15. The hard problems are… <ul><li>people problems </li></ul><ul><ul><li>(mis-) communication </li></ul></ul><ul><ul><li>(not enough) feedback </li></ul></ul><ul><ul><li>(not fully) comprehending constraints </li></ul></ul><ul><li>process problems </li></ul><ul><ul><li>deadline and resource management </li></ul></ul><ul><ul><li>design flexibility in the face of frequent change </li></ul></ul><ul><li>Where can we find a people-oriented process, and process-oriented people? </li></ul>
  16. <ul><li>Extreme Programming is an Agile Process </li></ul><ul><ul><li>Motto: Embrace Change </li></ul></ul><ul><ul><li>Other Agile Processes include Scrum, Crystal Clear, Adaptive Software Development, Feature Driven Development, DSDM, Agile Modeling </li></ul></ul>XP Defined
  17. <ul><li>Extreme Programming is an Agile Process </li></ul><ul><li>Values </li></ul><ul><ul><li>Feedback </li></ul></ul><ul><ul><li>Communication </li></ul></ul><ul><ul><li>Simplicity </li></ul></ul><ul><ul><li>Courage </li></ul></ul>XP Defined
  18. XP Practices XP Practices Collective Ownership Pairing Continuous Improvement Continuous Integration testing refactoring simple design High code quality <ul><ul><li>Sustainable Pace </li></ul></ul><ul><ul><li>On-site Customer </li></ul></ul><ul><ul><ul><li>design by discussion </li></ul></ul></ul><ul><ul><ul><li>frequent spontaneous </li></ul></ul></ul><ul><ul><ul><li>working sessions </li></ul></ul></ul><ul><ul><ul><li>Suggest and agree to process changes </li></ul></ul></ul>” Ask the room” “ Don’t be stupid.” retrospectives Incremental design, development, deployment Weekly demos
  19. <ul><li>XP Cycles </li></ul><ul><ul><li>Rapid Iteration, small releases </li></ul></ul><ul><ul><li>Frequent planning/design sessions </li></ul></ul><ul><ul><ul><li>Iteration Planning, Release Planning </li></ul></ul></ul><ul><ul><ul><li>Break down requirements into stories into tasks </li></ul></ul></ul><ul><ul><ul><li>Daily Standup </li></ul></ul></ul><ul><ul><ul><li>Regular All-Hands Retrospectives </li></ul></ul></ul><ul><ul><li>Frequent (weekly) demos </li></ul></ul><ul><ul><ul><li>of deployed, 100% functional software </li></ul></ul></ul><ul><ul><ul><li>real code, real db, real ui, but only some of the stories </li></ul></ul></ul><ul><ul><ul><li>coders, clients, designers, PMs are all in the room </li></ul></ul></ul>XP Cycles
  20. XP Meets Waterfall Design Extreme Programming Waterfall Design
  21. XP Meets Waterfall Design Extreme Programming Waterfall Design
  22. XP Meets Waterfall Design
  23. <ul><li>The three things we do in XP that any team should do </li></ul><ul><ul><li>Weekly demos </li></ul></ul><ul><ul><li>Daily standups </li></ul></ul><ul><ul><li>Pairing </li></ul></ul><ul><li>Caution: May provoke resistance and hostility </li></ul>XP Staples
  24. Agile Design Agile Design
  25. Agile Design “ Plans are useless, but planning is indispensable.” -Dwight D. Eisenhower
  26. Agile Design Embracing change Communal design ownership Evolving solutions
  27. Agile Design
  28. Agile Design
  29. Agile 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
  30. Agile Design “ He’ll take good ideas from wherever they come from.” “He asks you, he wants to know what you think.”
  31. Scales of Design Scales of Design
  32. Scales of Design Concept Business Goals User Tasks / Motivations Site Flow & Wayfinding Supporting Systems Navigation Widgets Global Styles Language Buttons Graphics Fonts Large Scale Small Scale
  33. Scales of Design The Large Scale is tested in the Small Scale. The Small Scale reveals if the Large Scale ideas are solid.
  34. Scales of Design Play faster.
  35. Scales of Design Play faster.
  36. Scales of Design Play faster.
  37. Scales of Design Play faster.
  38. Scales of Design Concept Business Goals User Tasks / Motivations Site Flow & Wayfinding Supporting Systems Navigation Widgets Global Styles Language Buttons Graphics Fonts Large Scale Small Scale
  39. Problems vs. Solutions Problems vs. Solutions
  40. Problems vs. Solutions “ Design is finding the problem, not the solution.”
  41. Problems vs. Solutions Documents as communication space Not as blueprints
  42. Problems vs. Solutions
  43. Problems vs. Solutions
  44. Problems vs. Solutions Expose and flesh out the problems While manage constraints
  45. Problems vs. Solutions Suggest solutions Share the outcome to create buy-in
  46. Open Design Open Design
  47. Open Design Agile demands open: it’s got to be flexible and extensible.
  48. Open Design Expose to create depth .
  49. Scales of Open Design Concept Business Goals User Tasks / Motivations Site Flow & Wayfinding Supporting Systems Navigation Widgets Global Styles Language Buttons Graphics Fonts Large Scale Small Scale
  50. Open Design
  51. Open Design
  52. Open Design
  53. Open Design Small Scale as reflection of Large Scale Design emerges from simple rules
  54. Designers should… <ul><li>Design a week in advance of coding </li></ul><ul><li>Not make your mockups pixel-perfect </li></ul><ul><li>Work literally side-by-side with coders when implementing mockups </li></ul><ul><li>Allow coders to participate in IA/UI design — Especially after the coding has already started </li></ul>
  55. Coders should… <ul><li>Coders should ask designers… or else </li></ul><ul><ul><li>time is wasted re-working solved issues </li></ul></ul><ul><ul><li>solutions are implemented that don't work with other parts of the designed system </li></ul></ul><ul><ul><li>coders make assumptions based on mockups </li></ul></ul><ul><li>Coders should give frequent live demos… or else </li></ul><ul><ul><li>designers don't know what parts of the design are/aren't working </li></ul></ul><ul><ul><li>designers don't know what parts of the design aren't working together </li></ul></ul><ul><ul><li>coders don't know their code has bugs or needs tweaking </li></ul></ul>
  56. How to integrate with an outside design company? <ul><li>Communication and feedback are naturally more stretched out </li></ul><ul><li>Some unnatural (or at least un-Agile) barriers are imposed </li></ul><ul><ul><li>Time and space </li></ul></ul><ul><ul><li>Signoff procedures </li></ul></ul><ul><ul><li>Documentation / specs </li></ul></ul><ul><ul><li>Perfectionism </li></ul></ul><ul><ul><li>Mistrust </li></ul></ul><ul><li>Bring them in to your process as much as you can </li></ul><ul><li>Don’t force them to adapt too much or they’ll resent and demonize you </li></ul><ul><li>Iterate per-month at first, then per-week </li></ul><ul><li>Invite them to your demos (remotely if need be) </li></ul>
  57. Say Hi. Alex Chaffee [email_address] Leslie Chicoine [email_address]

×