Threading User Experience Work Into an Agile Development Approach PowerPoint PPT Presentation

presentation player overlay
1 / 18
About This Presentation
Transcript and Presenter's Notes

Title: Threading User Experience Work Into an Agile Development Approach


1
Threading User Experience Work Into an Agile
Development Approach
  • Jeff Patton
  • ThoughtWorks Inc.
  • jpatton_at_thoughtworks.com

2
Stop me if I deviate too far from making these
points
Agile Development is fundamentally an Iterative
Development, Incremental Release approach.
Ux Techniques are Threaded into Agile
Development and Adapted to an Agile context
Ux techniques are used for Sufficient Up-Front
Design
3
The Waterfall Model remains the traditional
software development approach
  • Traditional design development steps broken
    into phases
  • Workproducts produced at each phase handed off
    to the next
  • Risks
  • Errors in each phase are passed to the next
  • Time overruns usually come out of development and
    test resulting in poor quality

Requirements
Design
Development
Testing Validation
Deployment Maintenance
4
The Spiral Model Introduced Incremental
Development in the 80s
  • Iterative elaboration from prototype to finished
    release
  • Important addition of planning risk evaluation
  • Risks
  • Product remains prototype till final spiral
    revolution

5
Origins Of Agility An Agile Timeline
  • The Psychology of Computer Programming Gerald
    Weinberg, 1971
  • The Mythical Man Month, Fred Brooks, 1986
  • Scrum, Ken Schwaber, Mike Beedle, 1986
  • PeopleWare, DeMarco Lister, 1987
  • Borlands Software Craftsmanship, 1994
  • Dynamic Systems Development Methodology, 1994
  • Crystal Methodologies, Alistair Cockburn, 1997
  • Feature Driven Development, Jeff DeLuca, 1998
  • Adaptive Software Development, Jim Highsmith,
    2000
  • Extreme Programming, Kent Beck, 2000 (origins in
    1996)

6
The Agile Alliance
  • XPs success acts as a catalyst
  • Meeting of 17 at Snowbird, Utah, 2001
  • All disagree on specifics
  • All agree they have something in common
  • 4 principles of the Agile Manifesto
  • www.agilealliance.org

7
Agility is a Value System
  • The agile alliance is based on 4 core values
  • Individuals and Interactions Over Processes and
    Tools
  • Working Software Over Comprehensive Documentation
  • Customer Collaboration Over Contract Negotiation
  • Responding To Change Over Following a Plan
  • 12 additional statements support the 4 basic
    values emphasizing
  • Iterative development and delivery
  • People both individuals and teams
  • Collaboration
  • Technical excellence

8
No Rules
  • No specific way to be or not be agile
  • Agile is the approach to a method, not the method
    itself
  • The Pornography Rule
  • "I can't define pornography,
  • but I know it when I see it."  
  • --Supreme Court Justice Potter Stewart, 1964
  • Use the 4 principles to evaluate a methodologys
    Agility

9
Agile Development Approaches Follow a Predictable
Cycle
  • Feature or Story
  • Expressed from business/user perspective
  • Business value
  • Estimable
  • Feature List prioritized features
  • Iteration
  • 1-4 week timeox

Iteration Plan
Release Plan
  • Incremental Release
  • 1-6 Iterations
  • Released internally or externally

Product/Project Charter
  • Product or Project
  • Perpetually released

10
Granularity of Planning Over Time
Project Charter
Release Plan
Iteration Plan
Feature Design
Feature Development
detail
course grain
fine grain
11
Ux Approaches Bring Valuable New Techniques to
the Party
Usability
Context Modeling
12
Ux Techniques Are Threaded Into An Agile
Development Cycle
Role-centric acceptance testing
Feature List
Role and Task information determine bug
criticality
Role Information Informs Priority
Role and Task information indicate scope cutting
opportunities
Reconcile Roles Goals With Tasks Features
Feature List
Context Modeling
Feature List
  • Collaborative Requirements Worksession
  • Role modeling, task modeling, context modeling,
    span planning

13
Planning Designing
Evaluating
Products Projects Strategy
Organizational Profiles User Interviews Contextual
Observation User Role Modeling Persona
Development Stakeholder Users
Organizational Goal Metrics User Goal Metrics
User Task Modeling Interaction Context
Modeling Process Storyboarding Span Planning
Collaborative Release Inspection Contextual
Observation Lightweight Usability Testing User
Interface Guidelines Poster Automated Guidelines
Testing Component Enforced Guidelines
Incremental Releases Scope Structure
User Task Cases Scenario Writing UI
Wireframes Development Tasks
Collaborative UI Inspection User Centric
Acceptance Testing
Iterative Development Skeleton
User Interface Prototyping Task Storyboarding
User Centric Acceptance Testing
Feature Development Surface
14
User Experience Techniques Are Adapted To An
Agile Context
  • Practice techniques collaboratively
  • Goal build tacit knowledge within the
    development team
  • Make technique self-documenting
  • Can the technique be practices in such a way that
    the result is a usable artifact?
  • Goal reduce formal documentation
  • Apply the technique quickly
  • Adjust the technique to yield suitable detail
  • Avoid techniques that yield more detail than is
    necessary for a given point in our lifecycle
  • Make the results of the technique consumable by
    the entire team?
  • Can the results be posted as an information
    radiator?
  • Can the results be captured in an acceptance
    test? baked in?
  • Bind to another agile technique hybrid
    techniques

15
Use Ux Techniques And Requirements Work Sessions
To Arrive At Sufficient Design Up Front
  • Usage-Centered Design based collaborative
    requirements work sessions
  • User role modeling
  • User task modeling
  • Context modeling
  • Incremental release planning
  • Project estimation
  • Envisioning
  • User profiling
  • Task modeling
  • UI prototyping
  • Project estimation

16
There are Pros and Notable Cons In Incorporating
Ux Techniques
  • Benefits to using Ux approaches
  • Features are traceable back through models/Ux
    artifacts
  • Helps avoid thrash rebuilding features
    repeatedly or reversing requirements decisions
  • Helps avoid perception of scope creep
    unanticipated features are more easily
    anticipated using user centered thinking
  • Increased user empathy throughout the team
  • Problems with using Ux approaches
  • Whos the customer? Ux blurs boundaries between
    agile customer role and design/development team
  • Who pays for change when it inevitably occurs?
  • Ux approaches often conflict with analysts
    approaches culture clash
  • Analysts gather requirements
  • Ux designers invent requirements
  • Ux requires less common, harder to find skills
  • Benefits are intangible difficult to quantify

17
References
  • Agile Software Development http//www.agileallian
    ce.org/home
  • Extreme Programming http//www.extremeprogramming
    .org/
  • Scrum http//www.controlchaos.com/
  • Crystal http//alistair.cockburn.us/
  • Feature Driven Development http//www.featuredriv
    endevelopment.com/
  • UXnet http//www.uxnet.org/
  • Usability Professionals Assoc.
    http//www.upassoc.org/
  • Garretts Elements of User Experience
    http//www.jjg.net/elements/
  • Constantine Lockwoods Usage-Centered Design
    http//www.foruse.com/
  • Jeff Pattons work http//www.abstractics.com/pap
    ers/

18
Threading UCD Into an Agile Development Approach
  • Jeff Patton
  • ThoughtWorks Inc.
  • jpatton_at_thoughtworks.com
Write a Comment
User Comments (0)
About PowerShow.com