Menu

Links and articles about technology, design, and sociology. Written by Rian van der Merwe.

Software development belief systems in corporate environments

Executives in corporate environments have one of three belief systems about software development. To build successful products it is essential for product managers to understand what belief system their executive team subscribes to.

  • Belief system #1: We have to build these features and they have to be live by this date.
  • Belief system #2: We have to be live by this date — what features can you get done by then?
  • Belief system #3: We have to release these features next — how long will it take to get that done?

Belief system #1 is the most common, and it is poison. It usually goes along with a distorted Steve Jobs “reality distortion field” complex, and the only thing it produces is crappy software and burnt-out teams who feel distrusted and undervalued. A product manager’s first job is to move the executive team away from belief system #1.

Belief system #3 is the ideal scenario for most large corporations1. Software development and the product manager’s role are usually well understood in such environments. The product team gets to present their market-driven ideas to the executive team, who can focus on what they do best: providing perspective, vision, and assistance with prioritization. This allows product teams to set their own schedules based on what everyone agrees needs to be done as they balance what’s best for users, the business, and the technology.

Belief system #2 is not ideal, but it is certainly better than #1, and I’ve learned that it is impossible to move executive teams from belief system #1 to belief system #3 without the interim step of belief system #2. The logical jump from #1 to #2 is easier to influence since product managers only have to deal with one variable: the constraints of time.

If a release date is fixed2 product managers shouldn’t spend time trying to move out the date to accomplish everything the executive team wants them to. Instead, spend time explaining that the release date is a horizontal line. All features above the line gets done by the date, and all features below the line don’t, and will have to wait for a future release. Explain that the development team can only do a limited number of things in a given time frame, and if some feature suddenly becomes a must-have, one of the other features have to move “below the line”.

This might seem like a trivial concept, but that’s because we’re software people. Most executive teams have a really difficult time with this because software development in agile environments is fairly new to them.

It bears repeating that one of the biggest mistakes a product manager can make is to try to change people’s belief systems from #1 to #3 without first taking them through the logic of #2. That said, once a project has been completed successfully using #2, the shift to #3 is usually fairly easy to make. That’s because the executive team had the opportunity to get a glimpse of how much better the software can be if “required” features aren’t shoved down a funnel that cannot withstand the pressure.

If you work in a large corporation, identify your executive team’s software development belief system, then guide them to #3. Your product, your business, and your team’s morale will be better for it.


  1. I.e., most practical and pragmatic. I’m talking specifically about corporations with >100 employees, not startups. 

  2. And don’t get me wrong, there can be legitimate reasons for fixed release dates. 

Turning ourselves into memes

Rob Horning’s Me Meme is not an easy read, but it’s worth the investment. He doesn’t waste time with a fluffy intro, he just jumps straight in:

With social media, the compelling opportunities for self-expression outstrip the supply of things we have to confidently say about ourselves. The demand for self-expression overwhelms what we might dredge up from “inside.” So the “self” being expressed has to be posited elsewhere: We start to borrow from the network, from imagined future selves, from the media in which we can now constitute ourselves.

There are too many great quotes in here to choose from, so I’ll go with one more and then just encourage you to read the whole thing:

We shift from consumerist pleasures of fantasizing about how owning certain branded goods would make us into a certain kind of person and secure us a certain sort of affirmation to fantasizing about triumphant moments of social quantification, about getting likes and retweets, having lots of Tumblr activity, etc. [...] Without viral content, you are in danger of becoming a blank.

The stress of collaboration software

Jason Green writes about The Promise, Progress, And Pain Of Collaboration Software:

Given the explosion of communication, conversations can take place simultaneously over several competing channels, creating confusion and inefficiency by requiring multiple changes in context. In addition, the ability to access prior content easily and seamlessly across all these communication channels becomes more challenging.

Between email, Trello, Slack, and InVision, we’re definitely feeling this pain as well. App Fatigue, indeed.

The web’s Eternal September

Jason Kottke in The revenge of the nerds:

On the very public stage of the web, the nerds of the world finally had something to offer the world that was cool and useful and even lucrative. The web has since been overrun by marketers, money, and big business, but for a brief time, the nerds of the world had millions of people gathered around them, boggling at their skill with this seemingly infinite medium.

There’s been a lot of talk about the web we lost in recent months. It’s now gone mainstream with TechCrunch calling the phenomenon The Fourth Internet:

If the first Internet was “Getting information online,” the second was “Getting the information organized” and the third was “Getting everyone connected” the fourth is definitely “Get mine.” Which is a trap.

I certainly understand where everyone is coming from with this. I also go on about the importance of self-publishing on your own domain (or as Jeremy Keith calls it, “selfish publishing“). And I also miss the old Twitter, back when it was about discussions and sharing knowledge, and not about big brands taking over our feeds with promoted photos.

But we also have to remember that the web is always going to be an Eternal September. So many new people are coming online every day, and they don’t know our “rules”, so they make up their own. And as much as we might long for earlier days, that’s how progress happens — through the actions of people who don’t know what they’re supposed to do.

So, sure. Let’s continue to publish on our own sites, and shout loudly about the virtues of doing so. But let’s not make people feel like unwanted newbies when they dream up a different web. We need them as much as they need us.

Bold new look, same great taste

You know that thing where you get home after a long day and catch yourself some time later staring off into space, pigging out on a bag of Doritos and…? Oh, uhh, no me either. But I heard that happens to some people.

Anyway. I’ve been thinking about that phrase you always see on consumer goods packaging when they go through a redesign. The almost-apologetic and slightly nervous proclamation that even though the thing now looks different, nothing else has changed:

Bold new look

Clearly marketers have learned that consumers don’t like redesigns, so they started using this message in a defensive attempt to soften the blow for people. Even then, it doesn’t always work. Remember when Tropicana reverted to their old packaging because some people called the redesign “ugly” and “stupid”? We should know this by now: people have opinions, and they are going to make a big noise about those opinions.

Yet whenever we go through a website redesign process we appear to develop some amnesia around this topic. We seem surprised when people spew vitriol all over Twitter, and we try to make ourselves feel better by saying that they’ll “get used to it.” Some part of me really wants us to create “Bold new look, same great functionality!” gifs for those kinds of projects, in the spirit of the “Under construction” gifs of yesteryear. But just like in the case of Tropicana, I don’t think that will work.

What’s the alternative? Well, first, we have to realize the biggest problem with big web/app redesigns. It might be the same functionality underneath (or not), but that functionality is often harder to find, and that frustrates users to no end. The good news is that we work on the web, not in packaging. We can do things incrementally! In the words of Cameron Moll, “Good designers redesign, great designers realign”. I’ve also written about this before in The Data-Pixel Approach To Improving User Experience:

The main problem with big redesigns, therefore, is that, even though objectively the UX might have been improved, users are often left confused about what has happened and are unable to find their way. In most cases, making “steady, relentless, incremental progress” on a website (to borrow a phrase of John Gruber) is much more desirable. With this approach, users are pulled gently into a better experience, as opposed to being thrown into the deep end and forced to sink or swim.

Look, I’m not saying this is a perfect analogy. But I spent a lot of time spacing out about this on Friday, so I thought I’d write it down for posterity. What I’m trying to say is, let’s worry less about bold new looks in web design, and instead work on making things taste better.

How to get hired as a Product Manager

We’re in the process of hiring UX designers and Product Managers, so I’m currently looking through a lot of resumes. I’m finding the breadth and depth of UX resumes really impressive — there are a ton of great people looking to make a shift at the moment. But on the Product Management side, not so much. I don’t want to believe it’s because most Product Managers suck. I just think there is a big supply/demand issue in this area at the moment.

But not just that, I also think that Product Managers need to write better resumes. Designers have, for the most part, figured out that it’s more about showing than telling. It’s easy to go to someone’s sites and portfolio to get a sense of what they’re about. Product Managers still appear to be stuck in the “Let me tell you how awesome I am” rut, though. This is a generalization, of course, but what I’m mostly seeing right now is resumes that excel at vagueness. It’s not uncommon to see a sentence like “Applied world-class methodologies to create a successful customer-centric product”, or some variation of that. What does that mean?

It’s great to see proof of success, yes — stats about conversion improvements, etc. are extremely useful. But hiring managers need more than that to assess Product Managers. We need to know how you think. We need to know how you approach problems, how you work, what methods you like and don’t like, and why. And for some reason most PMs I speak to seem surprised by those questions and have trouble answering them.

I’ve now gone so far as to send a short list of questions to our HR department. I’ve asked them to forward these questions on to potential candidates, and send their answers to the hiring team along with their resumes. So I wanted to share those questions here in case it’s useful to PMs looking for a new opportunity. This isn’t an exhaustive list, but here are some of the questions Product Managers need to be able to answer at any time of day or night:

  • How would you describe your ideal product development process? Please share details including, but not limited to, the following:
    • Roles and responsibilities within the team
    • How to develop a strategy and vision for the product
    • How to decide what to build, and when (include thoughts on different prioritization methods and, in your experience, what works best)
    • Development methodology
  • In your experience, what are the most important characteristics of a good Product Manager?
  • In your experience, what are the conditions for success that have to exist in an organization for a Product Manager to be successful?

This is one of those classic “there is no wrong answer” situations. The absolute answers matter, but what matters more is the thought process. I want to hire PMs who think about these things. PMs who have an opinion on UCD vs. ACD. On Kano vs. KJ prioritization. On user stories vs. job stories. I want to work with people who read and think and build, and have found a way to balance those different activities effectively.

So, if you’re looking for a Product Management role, communicate those things to the recruiter and/or hiring managers. I’m pretty sure it will get you an interview. Oh, and if you want to move to Portland to help us make better healthcare software, and you have good answers to those questions, let me know!

The problem with Facebook “friends”

I found Ellis Hamburger’s view on what’s wrong with Facebook quite interesting. From Facebook’s friend problem:

In the real world, losing touch with people happens naturally and effortlessly, but on Facebook, unfriending is reserved only for breakups and acts of malice. So, the ghosts floating through my News Feed vastly outnumber the friends I’ve kept. My Friends list went from a roster of my current friends to a collection of everyone I’ve met in the last 10 years — a social group too massive to feel urgent, and too broad to share with on a daily basis.

Facebook is broken for its earliest users, and perhaps soon, for many of its new ones as well.

Getting back into the (right) deliverables business

This is a written version of a talk I gave at Industry Web Conference on April 23rd, 2014. It’s a great conference and you should definitely attend next year.

This is a photo of what many believe is the first wireframe ever created. It’s attributed to Paolo di Dono (aka Paolo Uccello), dating somewhere in the mid 1400s (source):

The first wireframe

Back then, wireframes were used to accomplish very specific goals to help with the design of everyday objects (source):

  • To view the model from any desired point
  • To produce standard and auxiliary views
  • To create perspective views more easily
  • To analyze distances within the structure
  • To check tolerances and interference
  • To decrease the number of prototypes required
  • To edit the model

Wireframe models are particularly useful in the world of architecture, so it’s no surprise that software used to create CAD models incorporated wireframes as core to the product:

Rotating wireframe

Image source

To clarify things a bit, wireframes were originally used to accomplish two product design goals: to reduce rework, and to speed up delivery. Those are words that will make any designer or developer’s ears perk up. Who doesn’t want that?

However, somewhere along the line we’ve watered down wireframes to something completely different. At worst they’re reverse-engineered artifacts based on completed PhotoShop files once an agency account manager remembers they’re supposed to “do UX” as part of the project they sold. At best they’re hailed as good communication tools — nothing more, nothing less. We’ve managed to reduce a highly useful design tool to something we fight over on Twitter. And it’s not just the humble wireframe that’s in the crosshairs. Personas. PSDs. Debrief presentations. They’re all looked on with the same disdain:

No

The reality is that there is a lot of truth to the criticism we lavish on “deliverables”. The Lean movement is right about the main reason for getting out of the deliverables business — whatever time we spend documenting stuff is time spent we’re not making stuff, and that’s a problem. It’s much better to create hypotheses, build them quickly, and test them with users to get feedback and iterate. I’m in complete agreement on that approach.

That said, there is a problem with this approach that has started to become more and more bothersome as I went on my own journey to stop making deliverables. The problem is that design is path-dependent. The choices we make early on in a design constrain the choices we can make later on. Ryan Singer sums this up really well in his answer on the Quora thread Should I focus on a good user experience, or push something out quickly?

On the very first iteration the design possibilities are wide open. The designer defines some screens and workflows and then the programmer builds those. On the next iteration, it’s not wide open anymore. The new design has to fit into the existing design, and the new code needs to fit into the existing code. Old code can be changed, but you don’t want to scrap everything. There is a pressure to keep moving with what is already there.

Our early design decisions are like bets whose outcome we will have to live with iteration after iteration. Since that’s the case, there is a strong incentive to be sure about our early bets. In other words, we want to reduce uncertainty on the first iterations.

So the main issue I kept running into as I stripped deliverables out of my design process is: how do I know where to start? How do I make sure I start in a place that isn’t going to limit me so much that I’ll have to start over completely at some point? And not just that, but what about that thing we all want to pretend doesn’t exist but we have to deal with every single day? You know, the S word. Stakeholders. Those people who need to know what’s going on and why, all the time. Without deliverables we’re kind of exposed to the elements on that, with nothing to lean on.

Something’s gotta give, and I think that something is the deliverables we make part of our design and development process. So I started thinking.

Thinking

I started thinking about Jared Spool’s excellent piece from earlier this year, A Bias For Making, in which he wrote the following:

A bias for making doesn’t mean the team never plans. On the contrary, plans happen fluidly throughout the entire design process. The difference is they are evolving as the team learns from the process of making.

And then I started thinking about Giff Constable’s words in You Are Spending 3x-5x More Than You Should:

Agile/lean has helped people debunk the ‘big upfront design’ phase, but far too many replace it with nothing.

And as I kept thinking about all this stuff, I started to realize that there are some things that the right deliverables could actually be good at. For example:

  • Deliverables could provide a better baseline to start a design from, particularly when it comes to device-agnostic design and development.
  • Deliverables could help teams running along smoothly by anchoring everyone on the same vision, and serving as a communication tool to help executive teams understand the execution plan.
  • Deliverables could help with building up organizational memory, so that when the inevitable leadership changes happen, everything doesn’t get scrapped to start over.

Of course, the next obvious question is, what are these right deliverables you speak of? If we’re all agreed that flat wireframes and millions of PSDs are against the spirit of Lean, what’s the alternative? How do we solve the problems that “no deliverables” present, and come up with something that helps us create better products (which is the end goal we all have in common)?

There are two kinds of deliverables that I’ve been working on as possible (work-in-progress) solutions to these issues, and in this post I’d like focus on one that clearly needs a better name: Expanded Customer Journey Maps.

Journey maps are visual representations that help summarize research, highlight and prioritize user needs and opportunities, and give teams a common goal to work towards (see Adaptive Path’s excellent introduction at The Anatomy of an Experience Map). A product’s journey map is important because:

  • It confirms a common understand of the users’ needs and goals, and the strategy you intend to follow to attend to those needs and goals.
  • It is an excellent prioritization tool, since it allows companies to focus on the most important parts of an experience first, without losing sight of the overall picture.
  • It is a guiding light for design. Every time a design idea comes along, a quick glance at the journey map helps us figure out if it’s a good idea that will accomplish the chosen strategy.
  • It is an excellent conduit for content-first design, which fits in perfectly with responsive design approaches.

There are many different ways to create a customer journey map. It has some common elements, such as a visual representation of customer touchpoints, emotions, and key takeaways throughout their experience with a product. But that’s only useful up to a point, so we’ve started to expand on the concept. In addition to the usual elements, this document also becomes a representation of the information architecture and the product’s content plan, with personas (needs, goals, scenarios) serving as the starting point for everything — the glue that ties it all together.

This new document is a summary of everything we need to know to design the best possible product for users. It has the following elements:

  • Unique selling points to keep us focused on what the site needs to communicate at all times. This comes straight from the persona needs and goals.
  • Journey stages and model to remind us how the product fits into people’s lives, and what the primary calls to action need to be throughout the site. This section is a visual representation of a customer’s journey from realizing they might have a need for the product, until long after they’ve used it. This helps product managers keep a holistic view of the entire product and how it fits into users’ daily lives.
  • Questions that our target personas are likely to ask in each phase of the journey, to focus the type of content we serve on each page. In an e-commerce context, these are questions like, “Can I trust this retailer?” or “When will my stuff arrive?”
  • Takeaways and key principles to summarize the unique selling points, journey model, and user questions, and document how they translate into the design decisions and solutions we need to keep in mind throughout the design process.
  • Content plan that maps each phase of the journey with the questions our personas will ask during that phase, and what it means for the specific content that needs to go on each page. We get very specific here — nothing gets on the page unless it’s in the content plan. And if we can’t identify a persona that would find the content useful, it doesn’t go on the list.

Below is an example of an expanded journey map. You can click through to see the large image.

Expanded Journey Map

There are a few things that we found this kind of expanded customer journey map does really well:

  • It is completely device-agnostic. It starts with personas and content, and the entire design remains anchored on that.
  • Once you get going, design cycles happen faster, because everyone is aligned on the vision and direction.
  • During user testing we tend to find fewer usability issues because we already thought through the most common problems that might occur.
  • As a team we tend to have better arguments — meaning we don’t fight about whether the button should be blue or yellow, but whether the design accomplished the goals we agreed on.

It’s not a perfect solution, of course. Everything has drawbacks. In the case of expanded journeys, we’ve found the following challenges that we still need to work through:

  • There’s no denying it, the initial lead time before design starts is longer. That’s just the way it is, because thinking about a problem takes time. Once the design phase starts we actually make up that time in spades, as mentioned above, but it can still be an awkward time with clients and internal stakeholders if they can’t see “pictures” as quickly as they might want.
  • It’s easy to get distracted if you’re a UX nerd. This stuff is so exciting for some people (ok, me) that it’s possible to stand in front of that white board for days if you don’t check yourself. This isn’t about making a nice piece of paper, it’s about making a better product. Give it your best shot, and then move on. Don’t get lost in analysis paralysis.

So where does this leave us? Yes, deliverables can slow us down and result in documentation that no one reads. But the right deliverables anchor teams in a united product vision, they provide early validation for product ideas, and they speed up (the right) making activities. That’s worth the drawbacks for me. Remember, deliverables aren’t bad. Bad deliverables are bad…

Bad deliverables

This is still a work in progress. I’d love to hear others’ thoughts on this methodology, and if they’ve expanded it in other directions. If you have thoughts or ideas please let me know on Twitter, or write a post and send it to me. I’ll link to it here.

Software as collective language

Paul Ford’s The Great Works of Software is definitely going on my “Best of 2014″ list:

The greatest works of software are not just code or programs, but social, expressive, human languages. They give us a shared set of norms and tools for expressing our ideas about words, or images, or software development. Great software gives us tremendous freedom, as long as we work within its boundaries.

Seriously, read the whole thing…

Product lies and false realities

In The Surprisingly Large Cost of Telling Small Lies Rebekah Campbell looks at the problem with lying in the context of entrepreneurship and creating products:

Peter maintains that telling lies is the No. 1 reason entrepreneurs fail. Not because telling lies makes you a bad person but because the act of lying plucks you from the present, preventing you from facing what is really going on in your world. Every time you overreport a metric, underreport a cost, are less than honest with a client or a member of your team, you create a false reality and you start living in it.

And it’s extremely difficult to get out of that reality once you’ve created it.