Architecture and UX implementation in Agile


Published on

How to design software architecture & UX in an Agile environment.

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Challenge: Agile processes assume that features are flexible. Time and resources are fixed.But architecture design (UX, technical requirements, etc.) wants feature to be fixed. Time and resources are flexible.
  • Architecture and UX implementation in Agile

    1. 1. Architecture and UX at NoNameTechnology<br />How to design architecture & UX in an Agile environment?<br />© 2011 Geoff H Wing<br />Geoff H Wing, PMP, CSM <br />2011/05/16<br />
    2. 2. The Challenge for Architecture & UX<br />FIXED<br />Features<br />Time<br />Resources<br />Agile Design<br />Architecture<br />Design<br />Resources<br />Time<br />Features<br />FLEXIBLE<br />For UX and architecture, <br />we want features to be fixed.<br />In Agile, we want time & <br />resources to be fixed.<br />BUT<br />© 2011 Geoff H Wing<br />
    3. 3. The fractal as an Agile metaphor<br />Fractal: something where the smaller bits iterate to make the whole. What happens at a small scale also happens at larger scales. <br />© 2011 Geoff H Wing<br />
    4. 4. Terminology: Agile Enterprise“Fractals”<br />Smaller<br />© 2011 Geoff H Wing<br />
    5. 5. Architecture / UX is not always Agile<br />© 2011 Geoff H Wing<br />
    6. 6. Program, release & iteration planning<br />Program<br />Software Product v3.2<br />v3.21<br />v3.23<br />v3.22<br />Releases<br />Iterations<br />Team 1<br />Team 2<br />Team 3<br />Program/ Product Planning<br />Release Planning<br />Release Planning<br />Iteration Planning<br />Iteration Planning<br />Iteration Planning<br />Iteration Planning<br /><ul><li>Planning happens at the Program, Release, & Iteration levels.
    7. 7. Iterations are short and numerous (i.e. two week duration)
    8. 8. Teams might be working on more than one concurrent project</li></ul>© 2011 Geoff H Wing<br />
    9. 9. Top-down Architectural Planning & Agile Implementation<br />Some UX and technical infrastructure needs to be planned because they are pervasive:<br />UX affects entire customer experience so must be designed from end-to-end.<br />Technical infrastructure can affect foundation for an entire product.<br />How can architects & UX work with agile implementation teams to create their designed solutions?<br />© 2011 Geoff H Wing<br />
    10. 10. Implementing UX Architecture<br />Implementation Teams<br />UX team<br />Release Planning Team<br />(Product Manager, Product Owner, UX architect, ScrumMaster)<br />Analyze and Prioritize Epics<br />Create UX epics<br />From UX backlog, assets & design, <br />implement UX in a release. <br />Break down <br />epics  features  stories  tasks.<br />Plan implementation of UX across future releases<br />Decide epics for each release, picking from UX backlog<br />Estimate size of epics<br />Create UX backlog (prioritized epics)<br />Ensure size of work “WIP = Work In Progress” <br />does not exceed team capacity.<br />Support the Implementation Teams:<br />Supply UX design<br />Supply UX assets<br />Assist teams in breaking epics into <br />features, stories & tasks.<br />© 2011 Geoff H Wing<br />Kanban “pull” system<br />
    11. 11. Kanban?<br />Kanban: a lean “pull” system where the UX / architect team pulls UX epics from a prioritized backlog at a rate that matches the Implementation Team’s capacity.<br />Provides visibility into UX / architectural epics that need to be done.<br />Allows UX / architect team to balance amount of UX versus Feature implementation work the Agile teams are doing.<br />Helpful for UX / architect team to be advisors to the implementation teams, rather than being implementers.<br />© 2011 Geoff H Wing<br />
    12. 12. Recommendations<br />Use Kanban approach for architecture / UX scenarios where a top-down design approach is best.<br />Enable the benefits of emergent & bottom-up agile approach by having Agile implementation teams do architecture / UX work where possible.<br />Keep architecture / UX team focused by doing things that implementation team cannot: UX design, UX assets. And by taking role as advisor to teams when they are implementing.<br />© 2011 Geoff H Wing<br />
    13. 13. References<br />Agile Software Requirements: lean requirements practices for teams, programs, and the enterprise. Dean Leffingwell, 2011, Addison-Wesley<br />© 2011 Geoff H Wing<br />