< Return to Video

RailsConf 2014 - How They Work Better Together: Lean UX, Agile Development and User-Centered Design

  • 0:17 - 0:19
    JOHN ATHAYDE: All right. Thank you guys for
    coming.
  • 0:19 - 0:20
    My name is John Athayde and
  • 0:20 - 0:23
    I'm gonna talk today about working better
    together,
  • 0:23 - 0:26
    mixing lean UX with Agile development
  • 0:26 - 0:27
    and user-centered design.
  • 0:27 - 0:30
    Last time I was in Chicago to do
  • 0:30 - 0:31
    Rails stuff was in 2006.
  • 0:31 - 0:34
    That guy right there. A little less scruffy.
  • 0:34 - 0:35
    But somebody pointed out
  • 0:35 - 0:36
    last night that this looks like
  • 0:36 - 0:41
    it's the crew for Obi and Courtney's band
    hanging out.
  • 0:41 - 0:43
    I come from an architecture background of
    the building
  • 0:43 - 0:46
    variety, and a lot of the stuff I'm gonna
  • 0:46 - 0:49
    show you today comes from a couple different
    places.
  • 0:49 - 0:51
    One is from my freelance work over the last
  • 0:51 - 0:54
    fifteen years, which is meticulous. A lot
    of this
  • 0:54 - 0:57
    stuff is from the almost three years I spent
  • 0:57 - 1:00
    at LivingSocial heading up the internal UI
    for all
  • 1:00 - 1:03
    of our internal apps. And then recently I've
    been
  • 1:03 - 1:04
    doing work at a new start up called Cargo
  • 1:04 - 1:07
    Sense with Rich Kilmer and Bruce Williams.
  • 1:07 - 1:10
    I also wrote this book. It's a little out
  • 1:10 - 1:12
    of date, but there's some good stuff in it,
  • 1:12 - 1:15
    and Prag Prog has a forty percent off ticket
  • 1:15 - 1:17
    right now if you guys are interested in any
  • 1:17 - 1:20
    Rails or Ruby ebooks.
  • 1:20 - 1:26
    So. Experience matters. Experience is really
    anything that you,
  • 1:26 - 1:28
    as a user, are going to see when you're
  • 1:28 - 1:31
    working with a tool, a book, anything. I mean,
  • 1:31 - 1:34
    go back to 1983, these were our two main
  • 1:34 - 1:37
    experiences that we had. So it's changed a
    lot
  • 1:37 - 1:40
    since then, but it's still something that
    you can
  • 1:40 - 1:42
    think of. There's a very big difference in
    how
  • 1:42 - 1:45
    I'm gonna work with these two different platforms.
  • 1:45 - 1:47
    Experience is also something you see in everyday
    life.
  • 1:47 - 1:50
    The one on the left, just not working as
  • 1:50 - 1:52
    well as the two on the right. You're gonna
  • 1:52 - 1:56
    turn it upside. What's going on? Think about
    this,
  • 1:56 - 1:57
    too. You ever go to an ATM and you
  • 1:57 - 2:00
    just cannot get the sun angle right, and you
  • 2:00 - 2:04
    can't see the screen? That's a bad experience.
    Or
  • 2:04 - 2:08
    doors. The handle would imply pull. Horizontal
    bar kind
  • 2:08 - 2:11
    of implies push. But here, you have to put
  • 2:11 - 2:12
    a label on it.
  • 2:12 - 2:14
    Now, you can apply this to a lot of
  • 2:14 - 2:17
    things you've probably worked on, where it's
    so unintelligible
  • 2:17 - 2:20
    that it has to be overly labeled and overly
  • 2:20 - 2:23
    documented. Because the experience is not
    clear.
  • 2:23 - 2:26
    And this is always a fun one, you know.
  • 2:26 - 2:30
    But why do exterior doors go out? Well, Chicago,
  • 2:30 - 2:36
    Illinois, in fact, Iroquois Theater. 1903,
    600 people died
  • 2:36 - 2:38
    in a fire, because they tried to get out
  • 2:38 - 2:41
    of a building. The doors opened in, and they
  • 2:41 - 2:43
    crammed up against the doors and couldn't
    get out.
  • 2:43 - 2:46
    We're gonna talk about that here in a little
  • 2:46 - 2:48
    bit. But that's something to think about why
    those
  • 2:48 - 2:51
    doors work that way. Why is that experience
    that
  • 2:51 - 2:52
    way.
  • 2:52 - 2:55
    So, when we talk about UX, what is UX?
  • 2:55 - 2:58
    We're gonna define that real quick. It was
    created
  • 2:58 - 3:02
    in the early 1980s usability broadly, to refer
    to
  • 3:02 - 3:05
    what was a number of vague and subjective
    attributes
  • 3:05 - 3:09
    of a product. And it's user-friendly characteristics
    is what
  • 3:09 - 3:11
    they call them.
  • 3:11 - 3:14
    And this marked the beginning of a shift,
    from
  • 3:14 - 3:17
    a phase that we're focused on the features
    into
  • 3:17 - 3:19
    a term that was becoming more concerned with
    the
  • 3:19 - 3:22
    various facets of how people worked with those
    features.
  • 3:22 - 3:26
    So the International Standards Organization,
    ISO, this is in
  • 3:26 - 3:30
    ISO 9241, is that usability is the effectiveness,
    efficiency
  • 3:30 - 3:34
    and satisfaction with which specified users
    achieve specified goals
  • 3:34 - 3:36
    in particular environments.
  • 3:36 - 3:40
    Pretty dry. Pretty generic. Jakob Nielsen
    gives us a
  • 3:40 - 3:42
    nice little five point thing. You can love
    or
  • 3:42 - 3:44
    hate Jakob Nielsen, but he is kind of one
  • 3:44 - 3:48
    of the big human factors guys of software
    development.
  • 3:48 - 3:51
    So he says that it is the promptness with
  • 3:51 - 3:54
    which users learn something, the efficiency
    that they attain
  • 3:54 - 3:57
    making use of it, how easy it is for
  • 3:57 - 4:00
    them to remember how to use it, how error-prone
  • 4:00 - 4:03
    that is, and then the level of satisfaction
    they
  • 4:03 - 4:06
    attain from using the system.
  • 4:06 - 4:08
    And so it comes back to, a lot of
  • 4:08 - 4:10
    these things are applied because they're the
    experience of
  • 4:10 - 4:16
    many years. And many mistakes.
  • 4:16 - 4:19
    So going back to the Iroquois Theater fire,
    architectural
  • 4:19 - 4:23
    building codes changed a lot in the early
    1900s.
  • 4:23 - 4:26
    They actually started to come into, really
    started to
  • 4:26 - 4:28
    be happening between the San Francisco earthquake
    and events
  • 4:28 - 4:31
    like this. You really started to see them
    say,
  • 4:31 - 4:33
    you know, we should say that you legally have
  • 4:33 - 4:35
    to build a building this way. So now you'll
  • 4:35 - 4:38
    notice any commercial building, the exterior
    door will open
  • 4:38 - 4:40
    out, or it will break away.
  • 4:40 - 4:44
    So, you'll notice on revolving doors that
    you can
  • 4:44 - 4:45
    actually kind of break away. Like, if you
    cram
  • 4:45 - 4:47
    into a revolving door, those doors will give
    with
  • 4:47 - 4:49
    enough force.
  • 4:49 - 4:52
    So that's, you know, over time we've learned
    these
  • 4:52 - 4:54
    things. We've applied them, and they make
    the experience
  • 4:54 - 4:56
    better and safer for everybody.
  • 4:56 - 5:01
    So, let's get into looking at designs specifically
    around
  • 5:01 - 5:04
    software. So there's various processes and
    methods, and I
  • 5:04 - 5:05
    want to kind of compare and contrast some
    stuff
  • 5:05 - 5:08
    for you real quick. The first is waterfall,
    which
  • 5:08 - 5:10
    I'm sure most of you have heard or experienced
  • 5:10 - 5:16
    at some point. Large deliverable documents,
    excessive documentation.
  • 5:16 - 5:18
    But this comes from projects in engineering,
    like, in
  • 5:18 - 5:21
    traditional engineering and architecture,
    where the design is finished
  • 5:21 - 5:27
    and approved before you start building it.
    And, this
  • 5:27 - 5:31
    is something from a project management tool,
    like Microsoft
  • 5:31 - 5:34
    Project or something like that. It's called
    a Gant
  • 5:34 - 5:36
    chart. The red is the critical path. Things
    that
  • 5:36 - 5:39
    have to happen in a certain order and have
  • 5:39 - 5:40
    to be finished before the next step can be
  • 5:40 - 5:41
    completed.
  • 5:41 - 5:43
    Now, any delay in there can really mess up
  • 5:43 - 5:48
    the whole timeline of a project. And, this
    is
  • 5:48 - 5:51
    what typical waterfall processes look like.
  • 5:51 - 5:53
    You define the problem, you come up with a
  • 5:53 - 5:56
    design that solves that problem, then you
    build that
  • 5:56 - 5:59
    design, you test that, and you deploy it.
    And
  • 5:59 - 6:01
    this is usually the entire enchilada. We are
    not
  • 6:01 - 6:04
    even gonna go into like, this is, you, shrink
  • 6:04 - 6:06
    this down really small and it is kind of,
  • 6:06 - 6:08
    in a way, agile, but we're gonna not even
  • 6:08 - 6:10
    bother talking to engineers. We're going to
    go spend
  • 6:10 - 6:13
    six months writing up requirements.
  • 6:13 - 6:14
    Then the design engineer, the design guys
    are gonna
  • 6:14 - 6:16
    go for three months and work up all these
  • 6:16 - 6:18
    designs and have a 300 page document that
    they
  • 6:18 - 6:22
    turn over to engineering, who then builds
    that.
  • 6:22 - 6:25
    So, you know, that's just one of these little
  • 6:25 - 6:27
    things here. And that can take a long time.
  • 6:27 - 6:29
    And while you're doing this work, the business
    and
  • 6:29 - 6:33
    the world is changing. So the likelihood of
    you
  • 6:33 - 6:36
    building the wrong thing and being two years
    behind
  • 6:36 - 6:39
    the power curve in this process is high. And
  • 6:39 - 6:41
    it all comes down to, this was all about
  • 6:41 - 6:41
    deliverables.
  • 6:41 - 6:42
    So it has, if I was running a design
  • 6:42 - 6:45
    agency, I want to maximize the deliverables,
    because that's
  • 6:45 - 6:47
    maximizing the amount of time I'm gonna be
    spending
  • 6:47 - 6:52
    working on building this stuff for people.
    Wire frames,
  • 6:52 - 6:55
    big, you'll see these documents where they
    have the
  • 6:55 - 6:57
    whole screen laid out and everything is specified
    by
  • 6:57 - 6:59
    pixel, and instead they could have just made
    a
  • 6:59 - 7:02
    prototype and, and had been testing it already.
    Instead
  • 7:02 - 7:04
    of having to say, well, this is twenty-one
    pixel
  • 7:04 - 7:07
    Verdana. No. Go. Just put in CSS. Build it.
  • 7:07 - 7:08
    Go.
  • 7:08 - 7:12
    You'll hear people fight against that they're
    not waterfall,
  • 7:12 - 7:15
    and the developers will say, hey, we're agile.
    Well,
  • 7:15 - 7:18
    the developers may be agile, but each cylo
    is
  • 7:18 - 7:19
    still throwing things over the wall, or over
    the
  • 7:19 - 7:21
    trenches as some people will call it.
  • 7:21 - 7:23
    So, within product, they are kind of churning
    on
  • 7:23 - 7:26
    their stuff. And then they go talk to design
  • 7:26 - 7:27
    and they have a hand off. And then design
  • 7:27 - 7:30
    works on their stuff in an iterative fashion.
    But
  • 7:30 - 7:35
    they're not iterating together. So this is
    still waterfall.
  • 7:35 - 7:38
    Product talks to customers, and the developers
    don't get
  • 7:38 - 7:40
    to talk to customers. Now there's, when you
    start
  • 7:40 - 7:42
    having all those separations, you know you've
    got a
  • 7:42 - 7:44
    problem.
  • 7:44 - 7:47
    So, instead of relying on this, like, mythical
    design
  • 7:47 - 7:49
    hero to come in and say here is the
  • 7:49 - 7:52
    solution that will solve all your ills, we're
    gonna
  • 7:52 - 7:58
    start talking about the misappropriated but
    adequately named lean
  • 7:58 - 8:02
    UX. So it's really about design facilitation
    as opposed
  • 8:02 - 8:05
    to, here's my beautiful design that you will
    build.
  • 8:05 - 8:08
    So, when we talk about lean UX, it's really
  • 8:08 - 8:11
    a three part process. It involves design thinking.
    It
  • 8:11 - 8:16
    involves agile, and in the traditional agile
    manifesto mentality,
  • 8:16 - 8:19
    and it pulls heavily on the lean startup book
  • 8:19 - 8:21
    from a couple years back. So design thinking
    came
  • 8:21 - 8:24
    out of a idea, which is a big product
  • 8:24 - 8:27
    ideation. I hate that word, but it's what
    they
  • 8:27 - 8:28
    do. They come up, they create products.
  • 8:28 - 8:31
    And the CEO came up with that. And it's
  • 8:31 - 8:35
    innovating, based on direct observation, about
    what people want
  • 8:35 - 8:39
    and need. So, instead of going in and actually,
  • 8:39 - 8:41
    like, thinking and saying, what if, what if?
    They
  • 8:41 - 8:44
    actually go and start talking to real people
    and
  • 8:44 - 8:46
    finding out what they want, finding out what
    they
  • 8:46 - 8:48
    need, and then coming up with solutions that
    fit
  • 8:48 - 8:51
    those problems. And, they use sensibilities
    and methods to
  • 8:51 - 8:54
    match these needs with something that's actually
    a viable
  • 8:54 - 8:57
    market product.
  • 8:57 - 9:00
    Part two of that's agile. Melissa Perry posted
    this
  • 9:00 - 9:03
    a couple days ago. She's a big UX person.
  • 9:03 - 9:05
    And I think this is probably, when every manager
  • 9:05 - 9:07
    says agile, what every developer thinks is
    going to
  • 9:07 - 9:11
    happen. And it's the, that was your training.
    And
  • 9:11 - 9:12
    pretty much whenever I hear some manager say
    this
  • 9:12 - 9:14
    and it's obvious that they don't really know
    what
  • 9:14 - 9:16
    they're talking about, I kind of just feel
    like
  • 9:16 - 9:19
    this, and it's just. No. We're not gonna do
  • 9:19 - 9:19
    that.
  • 9:19 - 9:23
    So agile should be. Everyone pretty familiar
    with this?
  • 9:23 - 9:26
    Or at least have heard about it before? This
  • 9:26 - 9:28
    is from 2001. And it really talks about these
  • 9:28 - 9:32
    four principles. And it's really in response
    to the
  • 9:32 - 9:34
    software development of the time and how things
    were
  • 9:34 - 9:37
    being built. But I think it really applies
    a
  • 9:37 - 9:40
    lot more to kind of orienteering. And I'm
    talking
  • 9:40 - 9:43
    about map-reading and land navigation when
    I talk about
  • 9:43 - 9:44
    orienteering.
  • 9:44 - 9:47
    So, the good old boy scout method, you know,
  • 9:47 - 9:49
    with sitting there and trying to figure out
    how
  • 9:49 - 9:51
    you're gonna get from point a to point b.
  • 9:51 - 9:52
    So, in orienteering, the first thing you need
    to
  • 9:52 - 9:54
    do is find out where you are. Then you
  • 9:54 - 9:57
    shoot an azimuth and choose your target. You
    say,
  • 9:57 - 9:58
    this is the angle I'm gonna go to get
  • 9:58 - 10:00
    there, and there's a target that I am going
  • 10:00 - 10:03
    to walk to. You move to that target and
  • 10:03 - 10:04
    you repeat. And you keep doing this.
  • 10:04 - 10:06
    And it's not just about getting yourself from
    point
  • 10:06 - 10:08
    a to point b, but it's about leading a
  • 10:08 - 10:11
    group of people all in the same direction
    and
  • 10:11 - 10:14
    sometimes doing complex things. So, when you
    talk about
  • 10:14 - 10:17
    agile, Dave Thomas sums it up this way. You
  • 10:17 - 10:18
    find out where you are. You take a small
  • 10:18 - 10:21
    step towards your goal. You adjust your understanding
    based
  • 10:21 - 10:25
    on what you learned, and you repeat.
  • 10:25 - 10:27
    Which also comes down to the lean startup
    mentality
  • 10:27 - 10:30
    of build, measure, learn. And you're gonna
    repeat that
  • 10:30 - 10:33
    process. So it's not the measure in the sense
  • 10:33 - 10:35
    of, which of these forty blue shades is the
  • 10:35 - 10:38
    right button, but measure in the bigger sense
    of,
  • 10:38 - 10:40
    is this, when we have a design idea, we're
  • 10:40 - 10:43
    gonna try and solve this problem. Does this
    actually
  • 10:43 - 10:45
    solve the problem or not? And we're gonna
    measure
  • 10:45 - 10:50
    the efficacy with which it solves that problem.
  • 10:50 - 10:52
    So this is kind of the UX process inside
  • 10:52 - 10:57
    lean, and this can really be applied, it's,
    it's,
  • 10:57 - 11:00
    to the whole thing, cause it's not that design
  • 11:00 - 11:06
    is separate from development. Everybody's
    working together. Everybody's involved.
  • 11:06 - 11:08
    So instead of having your designer go off
    and
  • 11:08 - 11:11
    come up with something, designers, developers,
    product people are
  • 11:11 - 11:14
    all working together through these steps.
  • 11:14 - 11:16
    So we're gonna come up with a concept, we're
  • 11:16 - 11:17
    gonna do a really quick prototype, just get
    the
  • 11:17 - 11:19
    idea enough that we can work with it and
  • 11:19 - 11:21
    show somebody, and we're gonna validate it,
    and then
  • 11:21 - 11:23
    we're gonna learn from that and we're gonna
    repeat
  • 11:23 - 11:25
    the process.
  • 11:25 - 11:28
    So the formal definition of lean UX here is
  • 11:28 - 11:31
    from the lean UX book, and you know it's
  • 11:31 - 11:32
    trying to bring the true nature of a product
  • 11:32 - 11:36
    to light faster. And there's a couple tools
    that
  • 11:36 - 11:38
    really assist in this space to help us with
  • 11:38 - 11:39
    that. One of them is personas.
  • 11:39 - 11:41
    So you can have personas that are kind of
  • 11:41 - 11:43
    formal, like on the left, or you really, really
  • 11:43 - 11:47
    kind of laid back like on the right. And,
  • 11:47 - 11:49
    this is really along the lines of BDD. So
  • 11:49 - 11:52
    if you're doing, you know, as a user, the
  • 11:52 - 11:54
    system admin, we'll give him a name. Give
    her
  • 11:54 - 11:55
    a name.
  • 11:55 - 11:57
    Go ahead and make that a person, pin them
  • 11:57 - 11:58
    up on the wall, talk about them like a
  • 11:58 - 12:00
    real person. It really takes it out of this
  • 12:00 - 12:04
    theoretical, you know, well here's a, you
    know, Q&A
  • 12:04 - 12:07
    admin that's doing blah blah blah. Give them
    a
  • 12:07 - 12:10
    name, a personality, and it lets you care
    about
  • 12:10 - 12:13
    them in a different way than this theoretical
    person.
  • 12:13 - 12:15
    You can also have a little more, like, formal
  • 12:15 - 12:17
    documents. These were things that we wrote
    up when
  • 12:17 - 12:20
    we did customer support. We rebuilt their
    system at
  • 12:20 - 12:22
    Living Social. So we didn't draw up something,
    but
  • 12:22 - 12:24
    we came up with, kind of, like, here's the,
  • 12:24 - 12:25
    the point. So we want to talk about, and,
  • 12:25 - 12:27
    you know, it's the name, what's the name of
  • 12:27 - 12:31
    the person. Like, the title. Cause there's
    a lot
  • 12:31 - 12:33
    of, in, in bigger companies, a lot of titles
  • 12:33 - 12:37
    start to really define roles effectively.
  • 12:37 - 12:41
    The duties, the goals, the fears, the aspirations.
    You
  • 12:41 - 12:43
    know, what are their computer skills. It really
    matters.
  • 12:43 - 12:45
    Cause if you're dealing with experts, you're
    gonna build
  • 12:45 - 12:47
    a different system than if you're dealing
    with a
  • 12:47 - 12:48
    computer novice.
  • 12:48 - 12:51
    Means of communication. How do they like to
    talk.
  • 12:51 - 12:52
    Do they use IM. Are they are email? Would
  • 12:52 - 12:54
    they rather pick up the phone and call you?
  • 12:54 - 12:56
    Again, it's gonna effect the way you design
    the
  • 12:56 - 12:57
    system.
  • 12:57 - 13:00
    And instead of sitting there and making big
    documents,
  • 13:00 - 13:02
    you break out paper or you break out the
  • 13:02 - 13:05
    whiteboard. This is a flow diagram for a project
  • 13:05 - 13:07
    I was working on at home. And, took me
  • 13:07 - 13:09
    ten minutes to sketch it out and kind of
  • 13:09 - 13:10
    figure out the flows of what I wanted to
  • 13:10 - 13:15
    do. This was for reviewing creating materials.
  • 13:15 - 13:17
    This is something we did for email. We were
  • 13:17 - 13:21
    handling multi-city emails at Living Social.
    That is the
  • 13:21 - 13:23
    design. We took that, we went right to code.
  • 13:23 - 13:26
    You do a lot of sketching. I prefer to
  • 13:26 - 13:29
    use architectural trace paper. This twelve
    inch roll of
  • 13:29 - 13:31
    fifty yards long. You can lay it over another
  • 13:31 - 13:33
    sheet, very easily, like you see here. That's
    one
  • 13:33 - 13:36
    sheet laid over another. So I can get elements
  • 13:36 - 13:37
    that are repeating very quickly. If I want
    a
  • 13:37 - 13:39
    modal I just draw the modal and then, boom,
  • 13:39 - 13:41
    there you go. You can talk about it.
  • 13:41 - 13:42
    So, then I can pin these up on the
  • 13:42 - 13:44
    wall or they can sit there on the table
  • 13:44 - 13:46
    and just talk about what's going on. And it's
  • 13:46 - 13:49
    not, I don't like this font. I really don't
  • 13:49 - 13:51
    like that green or, you know, is this gonna
  • 13:51 - 13:53
    be this big? No, it's just a sketch. And
  • 13:53 - 13:56
    you can hand the pen to the person. Everybody
  • 13:56 - 13:58
    can scribble.
  • 13:58 - 13:59
    Ryan Singer, I think, has a lot of great
  • 13:59 - 14:02
    examples of where they even do copy and it's
  • 14:02 - 14:05
    little, just, lines. It's, there's no formality
    to it.
  • 14:05 - 14:07
    It's, this is a block of copy. This is
  • 14:07 - 14:09
    a headline and it's a squiggle. And that's
    great
  • 14:09 - 14:11
    because you don't feel like, oh I need to
  • 14:11 - 14:13
    be an artist.
  • 14:13 - 14:16
    So, applying these things, I've done this
    a couple
  • 14:16 - 14:17
    different ways and we didn't know what we
    were
  • 14:17 - 14:20
    doing. One of these things that we did a
  • 14:20 - 14:22
    lot with the info ether days is that we
  • 14:22 - 14:24
    did working in parallel. So, our first client
    meeting
  • 14:24 - 14:26
    would go something, you know, like this. We'd
    all
  • 14:26 - 14:29
    be in the room together with the client, and
  • 14:29 - 14:31
    I'd be sitting there working on flows while
    somebody
  • 14:31 - 14:34
    like Rich or Chad were actually pulling out
    domain
  • 14:34 - 14:37
    objects, and actually teaching the customer,
    you can say
  • 14:37 - 14:39
    model. We actually wouldn't sit there and
    try and
  • 14:39 - 14:40
    make up a new language for them.
  • 14:40 - 14:41
    We'd teach them what a model was, we'd teach
  • 14:41 - 14:43
    them what the domain meant. And we'd actually
    get
  • 14:43 - 14:45
    them into our head space. And so we'd come
  • 14:45 - 14:49
    out and build and we'd have usability and
    functionality.
  • 14:49 - 14:51
    They already were committing to the Git repo,
    and
  • 14:51 - 14:52
    we had a bunch of sketches either on a
  • 14:52 - 14:55
    whiteboard or on paper about how that flow
    is
  • 14:55 - 14:57
    gonna work. Sometimes we even had diagrams
    of page
  • 14:57 - 14:58
    layout.
  • 14:58 - 15:02
    So it's really about sketching and building
    simultaneously. These
  • 15:02 - 15:05
    are some sharets I did for the State Decoded,
  • 15:05 - 15:09
    which is a, a Night Foundation opening government
    project.
  • 15:09 - 15:10
    These little things on the left are an inch
  • 15:10 - 15:12
    square. I was trying to come up with some
  • 15:12 - 15:15
    early ideas of how the, the main landing page
  • 15:15 - 15:17
    would look, would lay out. And so just, there's
  • 15:17 - 15:20
    very little detail there. It's like, maybe
    copy here.
  • 15:20 - 15:22
    Maybe headline here. Here's a feature images.
    Here's some
  • 15:22 - 15:25
    other images. And, you know, I'd like, I liked
  • 15:25 - 15:26
    the third one I did, so then I developed
  • 15:26 - 15:28
    that a little better. But you can see it's
  • 15:28 - 15:31
    literally squiggles. There is nothing there
    of copy outside
  • 15:31 - 15:33
    of the name.
  • 15:33 - 15:35
    And then that goes, and I took that into
  • 15:35 - 15:37
    photoshop to get something a little more formal,
    cause
  • 15:37 - 15:39
    I didn't have any brand build around it yet.
  • 15:39 - 15:42
    Any, any, you know, kind of vibe. And so
  • 15:42 - 15:43
    we took that and did this and then this
  • 15:43 - 15:45
    went to build out. While this was happening,
    while
  • 15:45 - 15:47
    the Jquith who's now running the Open Data
    Institute
  • 15:47 - 15:51
    was building this code in PHP, with no idea
  • 15:51 - 15:53
    of how my frontend was gonna look. And we
  • 15:53 - 15:54
    married them up later. But we knew the functionality.
  • 15:54 - 15:58
    We had agreed upon how things were gonna work.
  • 15:58 - 16:02
    And, so sometimes this comes down to prototyping,
    and
  • 16:02 - 16:05
    looking at things from a big picture level.
    And
  • 16:05 - 16:06
    a couple of things you can do. If you
  • 16:06 - 16:09
    don't know your end users, one good way to
  • 16:09 - 16:12
    learn really fast is to do what's called a
  • 16:12 - 16:15
    mental model. Indie Young is a UX person.
    She
  • 16:15 - 16:19
    was at Adaptive Path for a long time and
  • 16:19 - 16:22
    now she's out consulting. And it's really
    about identifying,
  • 16:22 - 16:26
    like, this would be somebody's morning mental
    model. Prototypical
  • 16:26 - 16:27
    morning.
  • 16:27 - 16:29
    Excuse me.
  • 16:29 - 16:33
    So. It's, it's drawn organizing factor to
    figure out
  • 16:33 - 16:36
    what the users are doing before you type any
  • 16:36 - 16:38
    code. Or before you even draw on the design
  • 16:38 - 16:42
    mock-up. And it's a visualization of your
    research data.
  • 16:42 - 16:44
    So if you know what's going on, you don't
  • 16:44 - 16:46
    need this. But if you have no idea what's
  • 16:46 - 16:48
    going on and you really don't know your users,
  • 16:48 - 16:50
    or you, you're on a system that's been around
  • 16:50 - 16:52
    for awhile and people are complaining that
    it doesn't
  • 16:52 - 16:55
    solve their needs anymore, this is a great
    exercise
  • 16:55 - 16:58
    to find out what those needs are.
  • 16:58 - 17:01
    You can also do stuff with, just kind of
  • 17:01 - 17:03
    big picture ideas. When I first started doing
    the
  • 17:03 - 17:06
    design at Living Social for our internal tools,
    they
  • 17:06 - 17:07
    kind of said, just come up with, you know,
  • 17:07 - 17:09
    combine all these things together, go talk
    to people.
  • 17:09 - 17:12
    Come up with kind of like, an ideal world.
  • 17:12 - 17:14
    And so I put together about six mock-ups that
  • 17:14 - 17:16
    were about at this level, and I took them
  • 17:16 - 17:18
    and we presented them to Aaron Batalion, who
    was
  • 17:18 - 17:22
    the CTO. And engineering was already moving
    towards, we
  • 17:22 - 17:23
    had already started breaking up our monolithic
    app at
  • 17:23 - 17:26
    the time, and they were moving towards a service-based
  • 17:26 - 17:28
    architecture. So we kind of had an idea of
  • 17:28 - 17:30
    what we were doing, but we hadn't really finalized
  • 17:30 - 17:31
    it yet.
  • 17:31 - 17:34
    And Aaron Batalion just looked at me very
    seriously
  • 17:34 - 17:35
    and said, you do realize that's eighteen months
    of
  • 17:35 - 17:38
    work. Like, what I had put into six screens.
  • 17:38 - 17:41
    And, so yeah. But what was great about this
  • 17:41 - 17:44
    was we had an idea of what could happen.
  • 17:44 - 17:45
    So then we were able to talk about that.
  • 17:45 - 17:47
    Pull things out, break things apart, and things
    evolved
  • 17:47 - 17:49
    from this. And over time we started working
    on
  • 17:49 - 17:53
    different projects solving different problems.
    Like, this was our
  • 17:53 - 17:56
    scheduler prototype that we built.
  • 17:56 - 17:57
    And you start putting these in front of people.
  • 17:57 - 17:59
    So we went down to our actual people that
  • 17:59 - 18:02
    were scheduling deals and we did usability
    testing. Now,
  • 18:02 - 18:04
    usability testing is hard, because you often
    can end
  • 18:04 - 18:06
    up in this situation where you're trying to
    be
  • 18:06 - 18:08
    all chipper about it and the person's just,
    like,
  • 18:08 - 18:11
    this is awful. This is horrible. It's great.
    I
  • 18:11 - 18:12
    love it. Yeah, that's wonderful.
  • 18:12 - 18:16
    So we started recording things with Silverback.
    And with
  • 18:16 - 18:17
    Silverback, what you do is you end up getting
  • 18:17 - 18:19
    a screen like this. And so this is one
  • 18:19 - 18:22
    of our live tests we did, with Jean O'Reilly
  • 18:22 - 18:25
    who is one of our senior scheduling people.
    And
  • 18:25 - 18:27
    basically, instead of all of engineering sitting,
    that was
  • 18:27 - 18:29
    working on this project sitting around her,
    making her
  • 18:29 - 18:31
    feel uncomfortable, we had one person talking
    through some
  • 18:31 - 18:34
    stuff with her. Just getting first impressions.
    How would
  • 18:34 - 18:37
    you do this? Very leading questions. You,
    you want
  • 18:37 - 18:38
    the door wide open.
  • 18:38 - 18:41
    But, you basically get all her clicks, and
    you
  • 18:41 - 18:44
    can see how often she's doing select all and
  • 18:44 - 18:46
    things like that. But it's really interesting
    to see
  • 18:46 - 18:48
    how somebody starts interacting with something
    they haven't seen
  • 18:48 - 18:51
    before. And this records her video down in
    the
  • 18:51 - 18:53
    bottom with the, from just the camera on the
  • 18:53 - 18:55
    mac, and you also get audio.
  • 18:55 - 18:57
    So we could then sit there and review these.
  • 18:57 - 18:59
    Each one was a twenty, thirty minute session,
    working
  • 18:59 - 19:03
    through various questions. And we took those
    back and
  • 19:03 - 19:06
    then iterated on things.
  • 19:06 - 19:09
    Sometimes you're working in such a big problem
    that
  • 19:09 - 19:11
    you have to kind of do the rewrite. So
  • 19:11 - 19:13
    this was our customer support tool that we
    rebuilt.
  • 19:13 - 19:15
    It was originally Sales Force. They were working
    in
  • 19:15 - 19:18
    Sales Force. This is backed by Sales Force.
    But
  • 19:18 - 19:20
    this is a backbone project on top of a
  • 19:20 - 19:23
    Rails app, and it's super complex. And it's
    two
  • 19:23 - 19:25
    screens. So they have two nineteen inch monitors,
    this
  • 19:25 - 19:27
    is the left and this is the right.
  • 19:27 - 19:30
    Now, all these things that we were doing,
    we
  • 19:30 - 19:31
    had done so much shadowing. We knew all these
  • 19:31 - 19:35
    pain points, all these things they hated,
    but building
  • 19:35 - 19:36
    all this, again, this is one of those took
  • 19:36 - 19:38
    a year to kind of get to this point.
  • 19:38 - 19:40
    So what we started doing is that we went
  • 19:40 - 19:43
    in and fixed the pain points when we could.
  • 19:43 - 19:45
    Instead of waiting to build that perfect screen,
    we
  • 19:45 - 19:47
    went on the production system and fixed that
    one
  • 19:47 - 19:50
    little interaction that was driving them nuts,
    and then
  • 19:50 - 19:51
    we'd go and do the next one and go
  • 19:51 - 19:53
    and do the next one at the same time,
  • 19:53 - 19:55
    while we're building.
  • 19:55 - 19:56
    And so this is really comes down to kind
  • 19:56 - 19:59
    of a, a better way of doing things is
  • 19:59 - 20:02
    almost, I call just in time. So you start
  • 20:02 - 20:06
    with a big-picture design process. Then you
    apply that
  • 20:06 - 20:09
    design. You codify it into a living styleguide.
    So
  • 20:09 - 20:12
    this is a code styleguide, not a print document.
  • 20:12 - 20:14
    And you revise as you go.
  • 20:14 - 20:16
    So, with the just in time kind of project,
  • 20:16 - 20:19
    you know, UX joins at some point. It may
  • 20:19 - 20:21
    be the very beginning, it may not be. And,
  • 20:21 - 20:22
    you know, you're starting there. You just
    kind of
  • 20:22 - 20:24
    get your legs, get a feel for where you
  • 20:24 - 20:26
    are, and you do it in a really intense
  • 20:26 - 20:28
    design push at the beginning. You do a big
  • 20:28 - 20:31
    spike. You get your overall design stuff happening.
    You
  • 20:31 - 20:33
    get your design language established. And
    you are right
  • 20:33 - 20:35
    in on tickets.
  • 20:35 - 20:37
    And, so some of that stuff we did, we
  • 20:37 - 20:39
    built at Living Social for our internal lab,
    something
  • 20:39 - 20:42
    called Wilde. If any of you say Ed Lang's
  • 20:42 - 20:45
    lightning talk before lunch, they, he was
    talking about
  • 20:45 - 20:49
    the system they used for the, the customer
    facing
  • 20:49 - 20:51
    side. This is all the internal tool stuff.
  • 20:51 - 20:53
    So we built this as a Ruby gem that
  • 20:53 - 20:55
    people could pull down and install, and it
    immediately
  • 20:55 - 20:57
    gave them all of the set up parts to
  • 20:57 - 20:59
    build apps with.
  • 20:59 - 21:01
    So instead of having to worry about, do I
  • 21:01 - 21:03
    put this here, do I put that there? They
  • 21:03 - 21:05
    immediately had kind of a framework for an
    interface
  • 21:05 - 21:10
    to build their applications. It also had built-in
    documentation.
  • 21:10 - 21:11
    So all of this stuff they could go in
  • 21:11 - 21:13
    and find out how to use these different things.
  • 21:13 - 21:14
    We took parts of Bootstrap, we took parts
    of
  • 21:14 - 21:16
    Compass and Bourbon, and we kind of brought
    all
  • 21:16 - 21:19
    of this together into a big scss framework
    with
  • 21:19 - 21:20
    our own design elements.
  • 21:20 - 21:22
    So, some of these, like, this is very much
  • 21:22 - 21:27
    derivative of the Bootstrap styles for alerts.
    As well
  • 21:27 - 21:29
    as some of the buttons. We would change up
  • 21:29 - 21:30
    and make, we did some different things with
    buttons,
  • 21:30 - 21:32
    but a lot of this stuff is very derivative,
  • 21:32 - 21:34
    cause we were taking things and saying we
    like
  • 21:34 - 21:37
    these pieces but we don't want the whole enchilada.
  • 21:37 - 21:40
    And as you're going, new design elements come
    up.
  • 21:40 - 21:42
    So about a year after we first built Wilde,
  • 21:42 - 21:46
    we built this timeline element for our sales
    staff.
  • 21:46 - 21:47
    And this is actually a UI built on top
  • 21:47 - 21:50
    of Sales Force, believe it or not. This is
  • 21:50 - 21:51
    completely backed by Sales Force.
  • 21:51 - 21:54
    But this timeline element, we were able to
    extract
  • 21:54 - 21:56
    out the CSS and html and make it available
  • 21:56 - 21:58
    for people building other apps. So now if
    somebody
  • 21:58 - 22:00
    in another app wanted a timeline, they could
    pull
  • 22:00 - 22:02
    this code in and they didn't have to go
  • 22:02 - 22:03
    and reinvent it.
  • 22:03 - 22:05
    This also helps because users who are used
    to
  • 22:05 - 22:07
    one style, if they switch to another app,
    it's
  • 22:07 - 22:09
    not a whole different world. It's not a whole
  • 22:09 - 22:13
    new interaction paradigm.
  • 22:13 - 22:14
    I've done a lot of consulting, and so a
  • 22:14 - 22:18
    lot of these clients are these kind of long-running
  • 22:18 - 22:21
    projects. I've worked on one banking client,
    for example,
  • 22:21 - 22:25
    since 2008. All on their internal tools.
  • 22:25 - 22:27
    And what happens is, we've done a lot of
  • 22:27 - 22:30
    these kind of big picture design things with
    them,
  • 22:30 - 22:32
    but it always comes down to little interactions.
    So
  • 22:32 - 22:35
    instead of sitting there and saying, let's
    go rebuild
  • 22:35 - 22:37
    our document manager, we say we're just gonna
    sketch
  • 22:37 - 22:39
    what documents look like. Here's two states
    of a
  • 22:39 - 22:41
    document, and now we're gonna build that.
  • 22:41 - 22:43
    And so this is the kind of deliverable that
  • 22:43 - 22:45
    they get. It takes me five to ten minutes.
  • 22:45 - 22:48
    I sketch it out. I send it over. They
  • 22:48 - 22:51
    build it. I come back in and style it.
  • 22:51 - 22:53
    And this helps, when you have that living
    style
  • 22:53 - 22:55
    guide, we break everything up into scss files,
    and
  • 22:55 - 22:57
    we do a big import and merge it all
  • 22:57 - 23:00
    together. So we now have all these components.
    So
  • 23:00 - 23:03
    things that are used everywhere become components.
    Things that
  • 23:03 - 23:06
    are one-offs get placed in areas.
  • 23:06 - 23:07
    And then you have variables and you have a
  • 23:07 - 23:09
    whole bunch of stuff. So some of this stuff,
  • 23:09 - 23:11
    again, is derivative from Bootstrap. Some
    of it's derivative
  • 23:11 - 23:14
    from Compass. We kind of shifted now to being
  • 23:14 - 23:17
    reliant upon Compass because we've realized
    we were including
  • 23:17 - 23:20
    ninety-five percent of it. So we stopped,
    kind of,
  • 23:20 - 23:21
    chicken and egg and just said, we'll take
    the
  • 23:21 - 23:25
    whole thing.
  • 23:25 - 23:29
    My current situation is Cargo Sense. And I'm
    working
  • 23:29 - 23:31
    with Rich Kilmer and Bruce Williams, and I
    call
  • 23:31 - 23:35
    this the mad dash. This is, Cargo Sense is
  • 23:35 - 23:38
    a logistics company. We're taking off the
    shelf node
  • 23:38 - 23:41
    variable tech sensors, which are bluetooth
    four, and we've
  • 23:41 - 23:44
    got an iPad app written in Ruby Motion. And
  • 23:44 - 23:45
    then we have a web application.
  • 23:45 - 23:48
    And so we use the data in logistics shipping
  • 23:48 - 23:52
    to detect takeoff and landing press, with
    pressure changes,
  • 23:52 - 23:54
    and we use data to figure out temperature
    excursions.
  • 23:54 - 23:57
    So, pharmaceutical needs to keep insulin within
    this temperature
  • 23:57 - 23:59
    range, and then we can tell if it's been
  • 23:59 - 24:01
    out for five minutes, we raise an alert. Things
  • 24:01 - 24:03
    of that nature.
  • 24:03 - 24:05
    So this is the story of a shipment. This
  • 24:05 - 24:07
    is a timeline, again. You know, so it's a
  • 24:07 - 24:09
    very, it's, some of these design elements,
    you've, you,
  • 24:09 - 24:11
    you created ten years ago. You're gonna be
    like,
  • 24:11 - 24:13
    yeah, I did this. So we can reuse that
  • 24:13 - 24:14
    kind of concept.
  • 24:14 - 24:17
    But it's these simple four parts again. Big
    picture
  • 24:17 - 24:20
    design. We came up with an overall brand,
    look,
  • 24:20 - 24:22
    and feel. We started applying it and we codified
  • 24:22 - 24:24
    it into a living styleguide. In this case
    it's
  • 24:24 - 24:27
    called Kevlar and not Wilde. And we revise
    as
  • 24:27 - 24:27
    we go.
  • 24:27 - 24:29
    Most of our things, this is a Bower package,
  • 24:29 - 24:32
    instead of a Ruby gem, because we're working
    in
  • 24:32 - 24:34
    Angular. But it supports, I mean, you could
    use
  • 24:34 - 24:36
    it to support anything.
  • 24:36 - 24:38
    And a lot of these things, these are designs
  • 24:38 - 24:42
    that, these are relatively high-fidelity sketches.
    These go over
  • 24:42 - 24:44
    to Bruce or Rich. They comment on them, and
  • 24:44 - 24:47
    then, if we need to for marketing purposes
    or
  • 24:47 - 24:48
    things before we have built that we're gonna
    go
  • 24:48 - 24:53
    for sales purposes, I'll do these kind of
    mockups.
  • 24:53 - 24:54
    So a lot of this stuff is coming down
  • 24:54 - 24:58
    to really fast and really, just, kind of,
    seat
  • 24:58 - 25:00
    of your pants pulling stuff off. But when
    you
  • 25:00 - 25:02
    have a small team, you can do that. And
  • 25:02 - 25:03
    a lot of these design elements, like some
    of
  • 25:03 - 25:05
    these things, like the, the right hand side
    or
  • 25:05 - 25:08
    the header were definitely, you know, Bruce
    at three
  • 25:08 - 25:10
    in the morning saying, I'm making an executive
    decision.
  • 25:10 - 25:11
    This is what it's gonna be.
  • 25:11 - 25:13
    Now, Bruce happens to be a very talented designer
  • 25:13 - 25:15
    as well as a full-stack developer, so that
    definitely
  • 25:15 - 25:18
    helps the situation. But you can do a lot
  • 25:18 - 25:20
    of these things where there's not this formal,
    well,
  • 25:20 - 25:23
    we're following lean UX. It's just kind of,
    you're,
  • 25:23 - 25:25
    this is, we're kind of using these principles
    to
  • 25:25 - 25:26
    make a better process.
  • 25:26 - 25:31
    So, what are the issues with all of this?
  • 25:31 - 25:34
    One of the issues is called design drift.
    Design
  • 25:34 - 25:36
    drift is something that happens over time
    with any
  • 25:36 - 25:38
    kind of creative endeavor. You start off,
    this is
  • 25:38 - 25:40
    one of our early designs we did at the
  • 25:40 - 25:42
    top, and then here's the customer support
    tool at
  • 25:42 - 25:43
    the bottom.
  • 25:43 - 25:47
    So we started off with a fixed-width, with
    margins,
  • 25:47 - 25:50
    you know, tall header, and we started realizing
    that
  • 25:50 - 25:53
    people were maximizing their screens and having
    huge, wide
  • 25:53 - 25:56
    columns, and we were not effectively using
    the space
  • 25:56 - 25:56
    allotted.
  • 25:56 - 25:58
    So we went to pushing everything out to the
  • 25:58 - 26:02
    side, and filling the whole thing up. And
    we
  • 26:02 - 26:04
    really shrunk the header down super small,
    and we
  • 26:04 - 26:07
    collapsed a lot of things away. These are
    expert
  • 26:07 - 26:10
    users. We can do training. We don't have to
  • 26:10 - 26:14
    have them understand it right out the gate.
  • 26:14 - 26:15
    Another problem you're gonna hit is if you're
    working
  • 26:15 - 26:18
    with a traditional UX or design team, and
    they're
  • 26:18 - 26:20
    used to having design deliverables and throwing
    things over
  • 26:20 - 26:23
    the wall to you, you're gonna have frustration.
    Ladders
  • 26:23 - 26:28
    dot com, when they rolled out this, the, the
  • 26:28 - 26:31
    head showed up to this on his desk. His
  • 26:31 - 26:34
    designers had had a meeting and wrote down
    what
  • 26:34 - 26:36
    they were pissed off about, and this is it.
  • 26:36 - 26:39
    And it's too many projects, devs making bad
    design
  • 26:39 - 26:41
    decisions, no time to actually come up with
    concepts
  • 26:41 - 26:45
    and ideas, and when we do nobody builds them.
  • 26:45 - 26:46
    We come up with a great experience and then
  • 26:46 - 26:49
    you don't build it or it never ships. All
  • 26:49 - 26:51
    these things are problems that I've heard
    and sometimes
  • 26:51 - 26:52
    I've said.
  • 26:52 - 26:54
    And so some of the solutions are really, like,
  • 26:54 - 26:56
    you know, celebrate releases. Like, if you
    do a
  • 26:56 - 26:59
    release on Friday, get the designers involved,
    get them
  • 26:59 - 27:01
    to push. Get them to go hit the enter
  • 27:01 - 27:04
    key, you know. Do whatever. Have balloons.
    Whatever you
  • 27:04 - 27:05
    want to do, you know, that, that works for
  • 27:05 - 27:08
    your team. And make time to dream.
  • 27:08 - 27:10
    I know this sounds really, like, fluffy and
    whatever,
  • 27:10 - 27:12
    but really have time to go and be able
  • 27:12 - 27:15
    to spitball and say what if and what happens
  • 27:15 - 27:17
    when I say this, or what happens when a
  • 27:17 - 27:19
    user does this or, you know, wouldn't it be
  • 27:19 - 27:21
    cool if the whole system was, you know, purple
  • 27:21 - 27:24
    instead of red. Whatever.
  • 27:24 - 27:27
    Kind of figure that out.
  • 27:27 - 27:29
    Another issue is, if your project management
    office or
  • 27:29 - 27:32
    your product people aren't on board, it will
    fail.
  • 27:32 - 27:35
    It will fail hard. It will fail in glorious
  • 27:35 - 27:38
    fashion, because it's difficult to see in
    the dark.
  • 27:38 - 27:40
    And what ends up happening is that PMO is
  • 27:40 - 27:42
    thinking, we're agile, so we have to work
    in
  • 27:42 - 27:44
    sprints and we're gonna do SCRUM, or we're
    gonna
  • 27:44 - 27:47
    - and they get so focused on this process
  • 27:47 - 27:48
    that they've created.
  • 27:48 - 27:50
    So we're gonna build this complex thing, but
    we're
  • 27:50 - 27:52
    just gonna wing it. Or, you know, I want
  • 27:52 - 27:54
    you to focus so I'm only gonna tell you
  • 27:54 - 27:57
    what we're working on this sprint. And then
    the
  • 27:57 - 27:59
    biggest lie in software development, we're
    not gonna tackle
  • 27:59 - 28:01
    that until phase two.
  • 28:01 - 28:04
    And you end up with this. So you don't
  • 28:04 - 28:06
    know where you're going. You end up wandering
    all
  • 28:06 - 28:08
    over the place. it's like forty years in the
  • 28:08 - 28:11
    desert. And instead of saying, hey, we're
    gonna try
  • 28:11 - 28:13
    and go to this point and we might kind
  • 28:13 - 28:15
    of do this on the way, but that's what
  • 28:15 - 28:17
    we're trying to get to, they just say, no,
  • 28:17 - 28:18
    no, we're just gonna make these, these few
    steps
  • 28:18 - 28:21
    here. Without any big vision, it's really
    hard to
  • 28:21 - 28:25
    get everybody rolling in the same direction.
  • 28:25 - 28:28
    Another problem is forgetting the users. We
    said user-centered
  • 28:28 - 28:31
    design. So how do you deal with, you know,
  • 28:31 - 28:32
    your users. And how do you bring them in.
  • 28:32 - 28:34
    And lots of times, when you first shadow somebody
  • 28:34 - 28:36
    working on a system, you go ahead and you
  • 28:36 - 28:39
    have that moment where, Cary Elwes in the
    Princess
  • 28:39 - 28:42
    Bride says, Dear god, what is that thing?
  • 28:42 - 28:45
    And it ends up being, you have to watch
  • 28:45 - 28:46
    out for that great rewrite. Cause you're like,
    I
  • 28:46 - 28:48
    can rebuild this whole system. The design's
    gonna be
  • 28:48 - 28:54
    amazing. And you're, it's eighteen months
    of work. So,
  • 28:54 - 28:56
    what we talked about earlier. This is the
    modification
  • 28:56 - 28:58
    of the just in time project.
  • 28:58 - 29:00
    So we do existing system fixes at the same
  • 29:00 - 29:03
    time that we're doing big design fixes on
    the,
  • 29:03 - 29:05
    the new system that we're gonna roll out to
  • 29:05 - 29:07
    replace or things that are gonna roll out
    in
  • 29:07 - 29:09
    time. We go in and just make code fixes,
  • 29:09 - 29:10
    real time.
  • 29:10 - 29:12
    Just pair up. Sit down with the, you've got
  • 29:12 - 29:14
    a developer and a designer, and you sit down
  • 29:14 - 29:16
    and you say, that's ugly. And the designer's
    literally
  • 29:16 - 29:19
    typing in css and changing stuff, and the
    developer's
  • 29:19 - 29:21
    doing support on Ruby methods or things of
    that
  • 29:21 - 29:22
    nature that need to change in order to make
  • 29:22 - 29:25
    something work better.
  • 29:25 - 29:27
    Here's a good example of that. We took. This
  • 29:27 - 29:29
    was a screen out of our admin system, the
  • 29:29 - 29:31
    right hand part and it originally was a very
  • 29:31 - 29:34
    complex system for turning on or off somebody's
    email
  • 29:34 - 29:37
    subscriptions. And we stole some css from
    somewhere that
  • 29:37 - 29:39
    basically made it look like an IE, like this
  • 29:39 - 29:43
    little checkbox. Little toggle. And this was
    a mockup.
  • 29:43 - 29:45
    But we took that little piece, built that
    in
  • 29:45 - 29:48
    code, and deployed it into production. And
    it was,
  • 29:48 - 29:50
    like, oh my gosh. It's great. We, we understand.
  • 29:50 - 29:53
    We can see it, visually, what's happening
    now.
  • 29:53 - 29:56
    So, this is something that's important that
    you need
  • 29:56 - 29:58
    to involve subject matter experts. If you
    have these
  • 29:58 - 30:00
    users, you need to go find them. If they're
  • 30:00 - 30:01
    in, in your office, you just need to go
  • 30:01 - 30:04
    sit next to them. What is the problem? Why
  • 30:04 - 30:06
    are you upset? What's your pain point? What
    makes
  • 30:06 - 30:07
    your life miserable?
  • 30:07 - 30:09
    And if it's something where you're doing,
    like Living
  • 30:09 - 30:12
    Social, we had customers outside and inside.
    So we
  • 30:12 - 30:14
    would go to customer support, say what are
    your
  • 30:14 - 30:16
    top ten complaints that you're receiving.
    What's the stuff
  • 30:16 - 30:18
    you spend all the time on.
  • 30:18 - 30:19
    Is it people can't find information? Are they
    having
  • 30:19 - 30:21
    a hard time with their credit card? What's,
    what's
  • 30:21 - 30:24
    going on. Take that back to engineering. Here's
    some
  • 30:24 - 30:26
    quick wins. And people will go ahead and knock
  • 30:26 - 30:29
    those things out.
  • 30:29 - 30:31
    Another thing to talk about is that user testing
  • 30:31 - 30:33
    is hard. In all of these systems, the one
  • 30:33 - 30:35
    thing I've always failed with is that it's
    really
  • 30:35 - 30:37
    hard to formalize user testing and make it
    part
  • 30:37 - 30:40
    of your testing. So, often, I'll end up with
  • 30:40 - 30:42
    this, you know, this great thing that we've
    run,
  • 30:42 - 30:43
    and then we go and do a user test
  • 30:43 - 30:44
    after two months.
  • 30:44 - 30:47
    Ideally, you're doing a very small user test
    every
  • 30:47 - 30:50
    week. One, two people. Not much. And the easiest
  • 30:50 - 30:52
    way to do this is to go guerrilla. And
  • 30:52 - 30:53
    you can do this anywhere. You can do this
  • 30:53 - 30:55
    at a Starbucks. You can get somebody that,
    you're
  • 30:55 - 30:56
    sitting there, if you're working on something
    and it's
  • 30:56 - 30:58
    like, hey I wonder about this interaction.
  • 30:58 - 31:03
    Hey, what do you think about this? And leading
  • 31:03 - 31:05
    questions, again. What are your leading questions.
    What would
  • 31:05 - 31:07
    you do here? How would you do that?
  • 31:07 - 31:11
    Multiple devices, you always get issues with.
    Responsive design,
  • 31:11 - 31:13
    right. You have to plan time for this, because
  • 31:13 - 31:17
    now it's not just an iPhone. These are just
  • 31:17 - 31:21
    this Samsung Galaxy sizes. Do you even have
    all
  • 31:21 - 31:26
    of these? What, and this is, ten pixels here,
  • 31:26 - 31:28
    ten pixels there, really can start to break
    designs.
  • 31:28 - 31:29
    So you gotta determine your break points.
    You gotta,
  • 31:29 - 31:31
    you have to make this part of your process.
  • 31:31 - 31:34
    You have to say, OK, we're gonna handle responses,
  • 31:34 - 31:35
    and we built this feature, and now we're gonna
  • 31:35 - 31:37
    take two weeks and make sure it works on
  • 31:37 - 31:38
    this, these devices.
  • 31:38 - 31:39
    And you can emulate a lot of this in
  • 31:39 - 31:42
    Chrome now, which is great, but, you still
    gotta
  • 31:42 - 31:44
    plan for it. It just doesn't happen.
  • 31:44 - 31:47
    So, what should we do? How do we take
  • 31:47 - 31:50
    all these projects and these issues? And this
    is
  • 31:50 - 31:54
    kind of my, my charge to you here. First,
  • 31:54 - 31:57
    you need to gear up, and it's pretty simple.
  • 31:57 - 31:59
    Raid the office supply stash, and that's about
    it.
  • 31:59 - 32:02
    Get a whiteboard, get a table. You got your
  • 32:02 - 32:05
    phone in your pocket. This is all you really
  • 32:05 - 32:07
    need.
  • 32:07 - 32:10
    Stop using agile. Start thinking about agility.
    Dave Thomas
  • 32:10 - 32:12
    has a great, great article here that he just
  • 32:12 - 32:15
    posted about a couple weeks ago. Agile is
    so
  • 32:15 - 32:19
    abused and so buzz word-y now, that you say
  • 32:19 - 32:22
    it, and managers who don't understand better
    are like,
  • 32:22 - 32:23
    oh, that means we don't have to worry about
  • 32:23 - 32:24
    documentation. Great.
  • 32:24 - 32:26
    No, no, no. That's not. We, we're gonna work
  • 32:26 - 32:30
    in an agile fashion. Oh, no, no, no, no.
  • 32:30 - 32:32
    You gotta just say agility. Stop using agile.
    Just
  • 32:32 - 32:35
    drop it from your vocabulary.
  • 32:35 - 32:37
    Measure everything. If you don't even know
    what you're
  • 32:37 - 32:39
    gonna measure, just put Google Analytics on
    it and
  • 32:39 - 32:41
    turn all the switches on. Just get data in
  • 32:41 - 32:43
    there. Because you're gonna go back and say,
    what
  • 32:43 - 32:45
    were people clicking on? What were the paths
    they
  • 32:45 - 32:48
    were taking through the system? And, especially
    if you're
  • 32:48 - 32:51
    doing e-commerce, you can start seeing, checking,
    like, figure
  • 32:51 - 32:52
    out your checkout flow and then you can document
  • 32:52 - 32:54
    that. Cause then you can go through and say,
  • 32:54 - 32:56
    hey, we get thirty percent abandonment on
    this step.
  • 32:56 - 32:58
    Let's go back and look at that. What's going
  • 32:58 - 32:59
    on?
  • 32:59 - 33:02
    Love your users. Often, I know we get frustrated.
  • 33:02 - 33:04
    Cause we're like, they just don't get it,
    blah,
  • 33:04 - 33:06
    blah, blah. Oh my god. You know, my parents
  • 33:06 - 33:09
    can't even do this. What's wrong with them?
    And
  • 33:09 - 33:10
    it's really about you're, you know, we're
    trying to
  • 33:10 - 33:12
    serve them. We're trying to make their lives
    better
  • 33:12 - 33:14
    with the tools we build.
  • 33:14 - 33:16
    So, in doing that, we want to secure quick
  • 33:16 - 33:18
    wins. Whenever you can secure a quick win,
    you
  • 33:18 - 33:20
    can build something fast, you can do it at
  • 33:20 - 33:21
    night when you go home and you've got ten
  • 33:21 - 33:23
    minutes and it's something you know you can
    ship,
  • 33:23 - 33:25
    do it. Ship it. Get it out the door.
  • 33:25 - 33:28
    No more silos. Get rid of design as a
  • 33:28 - 33:30
    team. Get rid of engineering as a team. Everybody's
  • 33:30 - 33:34
    on build. Project managers. Everybody is on
    one team.
  • 33:34 - 33:36
    And if you have a product, get that, get
  • 33:36 - 33:38
    a micro team. And it's made up of all
  • 33:38 - 33:41
    these people. Sometimes these roles are not
    clearly defined.
  • 33:41 - 33:42
    Sometimes an engineer is also your product
    and your
  • 33:42 - 33:44
    project manager.
  • 33:44 - 33:47
    I argue often that everybody should be QA,
    but
  • 33:47 - 33:49
    sometimes you need a formal QA person who's
    really
  • 33:49 - 33:52
    an expert at doing Selenium or something like
    that
  • 33:52 - 33:54
    and can drive those automated tests.
  • 33:54 - 33:58
    But design, frontend, engineers. Everybody
    sitting together, working together,
  • 33:58 - 34:02
    even if you're remote. Collaborating every
    single day. Developers
  • 34:02 - 34:05
    are not excluded from design meetings. Designers
    are part
  • 34:05 - 34:07
    of retrospectives.
  • 34:07 - 34:10
    Pull request workflow. Bruce and I do this
    at
  • 34:10 - 34:13
    Cargo, since we start off empty pull requests,
    to
  • 34:13 - 34:16
    discuss big ideas. And you start pushing against
    the
  • 34:16 - 34:19
    pull request with that branch. And then if
    it's
  • 34:19 - 34:21
    good, we pull it in. If it'd bad, we
  • 34:21 - 34:23
    leave it out.
  • 34:23 - 34:26
    Reusable design solutions. If you've got something
    that you're,
  • 34:26 - 34:30
    you're generating, if you can reuse it, do
    so.
  • 34:30 - 34:34
    Developers, learn UX. It's not scary. It's
    not this,
  • 34:34 - 34:36
    like, I have to use photoshop. Go read some
  • 34:36 - 34:38
    books on usability. Defensive Design for the
    Web by
  • 34:38 - 34:40
    37Signals is over ten years old, and every
    single
  • 34:40 - 34:43
    word of it is still very applicable. Most
    of
  • 34:43 - 34:47
    Jakon Neilsen's stuff. Rock, It's Not Rocket
    Surgery, I
  • 34:47 - 34:49
    think. Steve Krug is a great author. Just
    go
  • 34:49 - 34:50
    read some of these books.
  • 34:50 - 34:53
    You build things that work. You should know
    why
  • 34:53 - 34:55
    they work, how they work, and how they work
  • 34:55 - 34:59
    efficiently. Likewise, go get your designers
    to learn how
  • 34:59 - 35:02
    to code. If your designer doesn't understand
    html and
  • 35:02 - 35:04
    css, at least, how can they possibly design
    for
  • 35:04 - 35:06
    that medium? It's like a print designer not
    understand
  • 35:06 - 35:09
    what happens when the ink hits the paper.
    You
  • 35:09 - 35:11
    would not, it would not happen. Designers
    need to.
  • 35:11 - 35:13
    They don't have to do the code, they need
  • 35:13 - 35:17
    to understand the code, though.
  • 35:17 - 35:18
    And forgive. Ann Patchett has a book called
    the
  • 35:18 - 35:21
    Get Away Car. It's a practical memoir about
    writing,
  • 35:21 - 35:22
    which is funny. I didn't realize David was
    gonna
  • 35:22 - 35:24
    do this whole thing on writing when I, I
  • 35:24 - 35:27
    pulled this. My wife sent me this quote that
  • 35:27 - 35:30
    Andrew Sullivan pulled out, but the real short
    of
  • 35:30 - 35:33
    it is, I'm just gonna read this real quick.
  • 35:33 - 35:35
    "Stop here for a few breaths and think about
  • 35:35 - 35:36
    this, because it's the key to making art and
  • 35:36 - 35:39
    very possibly the key to finding any semblance
    of
  • 35:39 - 35:41
    happiness in life. Every time I have to set
  • 35:41 - 35:43
    out to translate the book, or story, or hopelessly
  • 35:43 - 35:46
    long essay that exists in such brilliant detail
    on
  • 35:46 - 35:48
    the big screen of my limbic system onto a
  • 35:48 - 35:50
    piece of paper, I grieve for my own lack
  • 35:50 - 35:53
    of talent and intelligence. Every single time.
    Were I
  • 35:53 - 35:56
    smarter, more gifted, I could pin down a closer
  • 35:56 - 35:58
    facsimile of the wonders that I see. I believe
  • 35:58 - 36:00
    that, more than anything else, the grief of
    constantly
  • 36:00 - 36:02
    having to face down our own inadequacies is
    what
  • 36:02 - 36:06
    keeps people from being writers. Forgiveness,
    therefore, is key.
  • 36:06 - 36:08
    I can't write the book I want to write,
  • 36:08 - 36:09
    but I can and will write the book I
  • 36:09 - 36:11
    am capable of writing. Again and again, throughout
    the
  • 36:11 - 36:13
    course of my life, I will forgive myself."
  • 36:13 - 36:15
    This doesn't just apply to you. This applies
    to
  • 36:15 - 36:18
    your coworkers. This applies to your interactions
    with everybody.
  • 36:18 - 36:22
    So build the app you can build today. Because
  • 36:22 - 36:23
    you can sit there and say, this process is
  • 36:23 - 36:25
    too hard. This is too complex. We'll never
    get
  • 36:25 - 36:28
    this done. It's gotta start from somewhere.
  • 36:28 - 36:30
    And so, please try and climb the mountain.
    I
  • 36:30 - 36:32
    know it's not easy, but you'll eventually
    get there,
  • 36:32 - 36:34
    and it will be a better world for it.
  • 36:34 - 36:38
    Thank you very much, and. Appreciate it.
Title:
RailsConf 2014 - How They Work Better Together: Lean UX, Agile Development and User-Centered Design
Description:

more » « less
Duration:
37:05

English subtitles

Revisions