Agile Power Words for UX Practitioners

  • 499 views
Uploaded on

As presented at Big (D)esign 2011. This provides designers, developers, and product owners with tools to build a shared language for UX in Agile development, based on the tenets and terminology of the …

As presented at Big (D)esign 2011. This provides designers, developers, and product owners with tools to build a shared language for UX in Agile development, based on the tenets and terminology of the Agile community.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
499
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • This presentation Copyright © 2011 Jim Carlsen-Landy. Copyrights to embedded, quoted, or cited materials are retained by their authors.If you want to use this presentation, I only ask that you contact me at JimCL42@yahoo.com or via LinkedIn and let me know what you’re doing with it. All feedback is welcome!
  • Your goal in an Agile environment is to act like a pig and be treated like a pig. I’m here to help.Sound good? I thought so.You can’t cram 3 months of design into a single iteration, but if you think that’s what you’re being asked to do then this presentation should help.
  • 25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
  • 25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
  • 25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
  • 25+ years in software, mostly GUIs.Developer, designer, manager, change agent.Degrees in philosophy and CS – you’ll see both today.Previously with i2, ObjectSpace, Texas Instruments.Director of User Experience for Sabre Airline Solutions in Southlake TX.Enterprise / desktop apps, not e-commerce.Former chapter President DFW UPA.Professional Scrum Master, but that just means I can be on a Scrum Team.Lover of great music & greatart.
  • Reading most books on Agile development is the opposite of reading “The Inmates are Running the Asylum”.
  • Agile projects with GUIs do sometimes succeed, so there has to be something in there.My goal here is to make the “secret language” of Agile development translatable for all members of the Agile team.This should improve how UX is embedded into development.I will quote from the Agile Manifesto and the Scrum Guide along the way.All four principles are important, I’ll talk about two initially.
  • Individuals interact by conversation, but you have to be speaking the same language.If you use the same words to mean the same things your conversations will be far more productive.
  • This is harder than it sounds.
  • Other than a common enemy, the best thing to bring people together are common goals.Ask: What is your goal at work?- have a successful product- launch a new product- expand into new markets- get a paycheckconvince people of the importance of usability / designAll very laudable, but how do you make that goal concrete enough to agree on?
  • Value means many things.If we just say that “value is in the eye of the beholder” it doesn’t give us grounds for resolving disagreement.
  • The Agile Manifesto tells us what is valuable. Principle #1, Value #2.Agile says that value should be delivered at the end of every iteration. “If the project were shut down after this iteration, will we have delivered value?”In extreme cases some companies have the goal of delivering something of value every week, or even every day.
  • Detailed functional spec – what the system should do.
  • Low-fi wireframe – how the pages should be laid out.
  • Detailed mock-up – a developer could code to this.
  • What if you meet the functional specs, and it looks beautiful, but it cannot be used?Does it have value?Other than as a great photo for a book jacket, of course.
  • Is embedded advertising good or bad?What about badly designed software that is first to market?I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.To do that effectively you have to understand your organization’s definition of value – your Product Owner owns that definition.
  • If the value is not delivered, it does meet the Agile principle.[This is the last slide on value]
  • I use the generic“iteration” and “stand up” rather than the Scrum terms “sprint” and “Scrum”
  • I use the generic“iteration” and “stand up” rather than the Scrum terms “sprint” and “Scrum”
  • Lots of variations on this picture. But how do you know how far ahead design should be? How much lead time is available?How do we know what will get done in each iteration?
  • It’s hard for designers to break down the work.News flash: it’s hard for developers, too.What if I asked you to break out all the work for a 3-month project first into 1- to 2-week stories?What if I then asked you to break down the next two weeks into tasks of no more than a day or two, or smaller?You have to do that to get your work into the same queue as the developers.
  • Backlog = what is not yet done
  • And why don’t you want to get too far ahead?
  • Because things change.Let us embrace change – that’s so much more affirming than “coping”.
  • Refactoring is incremental improvement driven by increased knowledge.
  • These natural frustrations can result in misuse of the language.Rework is the result of oversights or shortcuts, intentional or unintentional, that need to be corrected later.
  • [Skip this one if time is short.]
  • A scrum team without UX, dev, and product owner is not a scrum team.Even if you are not a “developer” you have to plug yourself in the same as the developers you work with.
  • As one of my execs says, “Are you in the game or are you in the bleachers?”
  • Some say this is the single most important element of Scrum.The Team agrees on what “done” means to them.Good acceptance criteria can help.Who has authority…. YOU DO.
  • There is a dark side of “done” in some teams.Done/undone, combined with rollover, can create bad behaviors.
  • Wrong pig & chicken.
  • No pigs or chickens were harmed in the making of this comic.If you leave here prepared to be a better Pig, I have succeeded.Say it with me: “I AM A PIG!”
  • Scrum Master should ensure equal status for all Team members.If someone is waiting for you, it will be raised as a “blocked task” (bonus word). Listen for these & respond.
  • End-of-iteration demo.[This is the last vocab slide]
  • More than a half-century Tweet-less and Facebook-free.[Click for questions slide]
  • I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.
  • I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.
  • I cannot tell you what has the most value in your organization, but you definitely need to understand it and talk about it.I coach people, especially developers but also designers: Don’t say “We can’t do that”. Say, “Doing what you suggest would have substantial cost <in time, complexity, risk, usability, etc>. Could we do <alternate proposal> instead, which achieves the most important objectives at a lower cost?” To do that effectively you have to understand your organization’s definition of value.

Transcript

  • 1. Conversations for User Experience in Agile Development Jim Carlsen-Landy
  • 2. Is about working across functional lines  applicable to designers, developers, product owners, and managers  how to communicate about design and development during the process  Is intro to Agile or how to get Agile into your org  critique of Agile or how to keep Agile out of your org  how to do better design  how to communicate specific design elements  a definition of a specific way of practicing Agile UX  how to cram 3 months worth of design into a 2week iteration  2
  • 3. Who am I? Why might you care what I think? 3
  • 4. Who am I? Why might you care what I think? 4
  • 5. Who am I? Why might you care what I think? 5
  • 6. Who am I? Why might you care what I think? Without music to decorate it, time is just a bunch of boring production deadlines or dates by which bills must be paid. - Frank Zappa 6
  • 7. And you are…         Designer? Developer? Product owner? Project manager? Scrum Master / Agile coach? Manager? Lone wolf? Are you “doing” Agile? or does your organization just say you’re doing Agile? 7
  • 8. For the attention span impaired Talk about value Refactor and reprioritize Speak your team’s language 8
  • 9. You’ve heard this part before Design is different from development. Years of waterfall thinking have created a divide. By-the-book Agile is very development-centric. Even the best professionals will  crawl into their comfort zone under pressure  use the secret language of their profession to reinforce their authority Is anyone surprised that we don’t communicate well? 9
  • 10. It’s in there, somewhere 10
  • 11. It’s in there, somewhere Individuals and interactions over processes and tools 11
  • 12. It’s in there, somewhere Responding to change over following a plan 12
  • 13. Common Goals What is your goal at work? Is everyone around you aligned on that goal? Does everyone agree on the exact details of everything that gets done each day toward achieving that goal? 13
  • 14. It’s all about value http://www.visualthesaurus.com 14
  • 15. It’s all about value Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. [We value] Working software over comprehensive documentation http://www.agilemanifesto.org Deliver valuable working software at the end of every iteration. http://www.visualthesaurus.com 15
  • 16. What has greater value? http://www.mathworks.com 16
  • 17. What has greater value? http://f2.washington.edu 17
  • 18. What has greater value? http://dribbble.com/FransTwisk 18
  • 19. What has greater value? http://www.jnd.org 19
  • 20. Who decides value? User value  usability, appeal, efficiency, fitness to purpose Business value  cost vs return (ROI) Developer value  velocity and (usually) code quality Your Product Owner defines value on your team 20
  • 21. Why is user experience valuable? Failure at the glass inhibits the value of otherwise completed working software Usability is the last few inches of value delivery Is your user experience hiding value from the users, or optimizing it? 21
  • 22. Value questions What you’ve requested is expensive / risky / time-consuming / whatever. Would you be willing to get this valuable alternative instead, at lower cost / risk / time? What would you ask for if you knew the project would be shut down after this iteration? 22
  • 23. Value exercises Give everyone $100 to spend how they want Every feature has a price proportional to effort Adam Polansky “Spread It, Split It, Stack It” bigdesignevents.com/2011/04/video-spread-it-split-it-stack-it-threemethods-for-qualifying-content/ Luke Hohmann’s “Innovation Games” www.innovationgames.com 23
  • 24. Common Language 24
  • 25. Common Language              Acceptance criteria Agile coach Backlog (iteration, product, release) Create no unnecessary documentation Definition of done Emergent or Evolutionary architecture Iteration or Sprint Iteration demo Iteration planning Iteration zero Last responsible moment Pair programming Pigs and Chickens                 Planning poker Product owner Refactoring Retrospective Rework Scrum or Standup Scrum Master Simple design Spike Story points Sustainable pace Task Technical debt Time-box User story Velocity 25
  • 26. Common Language Planning Coping with change On the team 26
  • 27. Planning User story and task Backlog Iteration planning Velocity Sustainable pace 27
  • 28. Planning Release A Design Itr 1 Release A Design Itr 2 Release A Design Itr 3 Develop Itr 0 Release A Develop Itr 1 Release A Develop Itr 2 Release A Develop Itr 3 Release A Release B Design Itr 1 Release B Design Itr 2 Release B Develop Itr 1 Release B Release Plan Release B Design Itr 3 Release B Develop Itr 2 Release B Develop Itr 3 Release B Release C Design Itr 1 Release C Design Itr 2 Release C Release Plan 1 2 3 4 5 Weeks 6 7 8 9 10 11 12 13 Release C Develop Itr 1 14 15 16 17 28
  • 29. Planning – User Story and Task The fundamental units of work in Agile Rae Scott Reservation Agent Work Experience Rae Scott has been working as a Reservation Agent for the past 5 years. She is a high school graduate. When she started her job, Rae spent weeks in company-sponsored training programs in order to learn the reservation system and other travel-related information and to understand airline rules and procedures. After completing her classroom instruction, she worked under the direct guidance of a supervisor and a lead for three months. Goals and Tasks User stories are not always about “users” Reservation Agent  Experience: 5 years  Makes flight reservations and accepts payment  As <persona> I want to <do something> so that I can <achieve a goal>.  Gathers information from the caller to identify customer needs and determine appropriate action  Searches for availability, frequent flyer miles, seats, car rentals, hotels and history  Documents the conversation for each call. Reports all actions at the end of the shift  Needs to be efficient and quick “I like the flexibility of schedule that comes Rae’s main responsibilities are to provide travel information with this position!” over the telephone to customers of the airline, make flight reservations and accept payment over the phone for ticket purchases. Rae assists callers with trip planning, car rentals, seat availability, fare information, schedules, tours, meals and other information relevant to the customer's flight plans. Rae asks the caller for their travel dates and destination cities. Rae has to have access to the caller’s frequent flyer miles information as well as to the caller’s family’s frequent flyer miles information as using family members miles is very common. In addition, she needs to search for class and seats available for frequent flyer miles travelers. In the case of any change request, Rae looks up the itinerary based on the confirmation number of the ticket. Travelers often call with a destination change or to change the schedule to a multi-city trip. Rae has to have access to rules, fees and penalties associated with the requested changes. When travelers request seats together with their companions, she needs to look up the seats available for companion class and the details of the extra charges for that. Rae also has to lookup, change or confirm car rentals and hotel reservations. At end of each call, Rae documents the conversation and the decisions made. For some calls she needs to write a special note for Ticketing or Pricing Agents. At end of each day, Rae needs to create a report with the number of tickets issued each day. Work Environment Rae works at the reservation call center which has individual desks four to five feet wide with a divider between them. She operates a telephone headset and uses the reservation system on a computer network. Rae uses a 17 inch monitor like the rest of the agents. Since her seniority level is not that high, she does not always get the shift of her choice. Her shifts vary greatly as reservation offices are open twenty-four hours a day. The call center environment is often hectic, noisy and stressful. Rae has to work very efficiently and accurately, often handling multiple calls simultaneously. Design and development stories in one repository  Talk about them together Task  Break it down. Everything can’t happen at once. 29
  • 30. Planning – Backlog Product backlog Fill  vision Release backlog Groom Prioritize  product versions Iteration backlog Deliver Develop  deliverable unit 30
  • 31. Planning – Iteration planning How the work for the iteration (Sprint) gets defined Everyone has to be in the game  or I guarantee you will be less successful  attend all iteration planning and estimating meetings Iteration zero  aka “big architecture up front”  not always there, but listen for it and use it 31
  • 32. Planning – Velocity The true development capacity of your Team When you know the how far the team will get in an iteration you can keep specification, design, and development flowing http://www.chandoo.org 32
  • 33. Planning – Sustainable pace Iteration velocity bounds the sustainable pace Detailed vision one step ahead of design Detailed design one step ahead of development … but no more than that 33
  • 34. Coping with change Embracing change Agile Manifesto: We value “Responding to Change over Following a Plan” Agile Principle: “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.” http://www.agilemanifesto.org 34
  • 35. Embracing change Refactoring Create no unnecessary documentation Simple design Spike 35
  • 36. Embracing change – Refactoring (this one is important) Everybody should be talking about refactoring Refactor code as it is written Refactor design as the product grows Refactor vision as the market moves 36
  • 37. Embracing change – Refactoring “Why do the product requirements keep changing?” “Why does the design keep changing?” “Why are the developers changing code that works?” “Why can’t <everyone else> just make up their mind??!!” Beware of these poisonous pseudo-synonyms: Refactoring ≠ Scope creep Refactoring ≠ Gold-plating Refactoring ≠ Rework 37
  • 38. Embracing change – Documentation Create no unnecessary documentation  do not detail stories that might not get worked  do not rush to high fidelity Documents should be  lightweight  fast to produce  easily consumed  painless to change 38
  • 39. Embracing change – Simple design Simplicity – the art of maximizing the amount of work not done – is essential http://www.agilemanifesto.org Build vision create design write code for what you know you need Defer everything else 39
  • 40. Embracing change – Spike Focused experiment  very short, as little as a half-day  usually vertical  reduces (or at least bounds) risk Use design spikes to make fast decisions  paper prototype  A/B test  usability testing on the cheap Don’t argue about it, spike it out 40
  • 41. On the team “The Team consists of developers with all the skills to turn the Product Owner’s requirements into a potentially releasable piece of the product by the end of the Sprint.” The Scrum Guide, Ken Schwaber & Jeff Sutherland http://www.scrum.org/scrumguides 41
  • 42. On the team Definition of done Pigs and Chickens Standup, aka Scrum Pair programming Iteration demo 42
  • 43. On the team – Definition of done Done = a potentially shippable increment of the product How done is “done”?     coded? unit tested? documented? performance & scale tested?  integrated?  usability tested?  packaged?  installed? Each Team defines “done”  who has authority to say that it’s not done until it’s usable? 43
  • 44. On the team – Definition of done There is no partial credit, only Done and Undone Rollover is considered bad in many organizations Dangerous anti-patterns  redefining “Done” to prevent rollover  allowing work to be “Done” without a GUI 44
  • 45. On the team – Pigs and Chickens 45
  • 46. On the team – Pigs and Chickens If Team members with critical skills act like Chickens, the Team is incomplete 46
  • 47. On the team – Standup, aka Scrum Attend. 47
  • 48. On the team – Pair programming Design and develop real-time (really – try it) Practice pair designing 48
  • 49. On the team – Iteration demo Get feedback quickly and often Let the Chickens see progress Many teams show not-quite-done work  If yours does, show design for the next iteration 49
  • 50. With your secret decoder ring, now you can: Turn disagreements into value discussions  what can we do to generate the most value? Embrace change by refactoring  maximize what is not done – you’ll be smarter later Speak the Team’s language  common terminology streamlines conversations and accelerates value delivery 50
  • 51. Stalker guide 51
  • 52. Stalker guide www.linkedin.com/in/jimcl jim.carlsenlandy@gmail.com @JimCL42 52