Menu

Tech4Africa slides: Breaking down silos

I was privileged to speak at Tech4Africa 2011 about a topic that I care about a great deal: how our environments and the way we work impact the quality of the software we produce. The talk came out of a question I keep asking myself over and over: why, despite our best efforts, do we still too often produce low quality software? Here’s the talk summary:

Why do we see so many web applications with inferior user experiences? Why do UX designers often get stuck being asked to “make the design pop a little more,” with no room or incentive to innovate? Why do some web developers feel demotivated and unable to break out of doing things the way they’ve always been done?

In this talk I explore some of the main causes of ineffective software development, and discuss practical recommendations on how to improve team structures and development processes to build high quality software that users care about, want to use, and that therefore makes more money for the business.

I discuss how designers and developers can work better together, how to ensure everyone gets input into the roadmap without it becoming chaos, and how to make sure that the business benefits are clearly articulated and communicated.

So here are the slides from my talk – I hope you find it useful. If you’d like to read more about this topic, you can check out a two-part series of articles that I wrote for Smashing Magazine.

 

Siri and the digital economy underneath everything

W. Brian Arthur wrote a very interesting article for McKinsey Quarterly called The second economy (h/t to @justinspratt for the link). Registration is required to view the article but it’s worth it.

Much has been written about digitization and technology’s impact on society, but Arthur takes a fresh approach by looking at the digital economy as an unseen layer underneath the physical economy. He starts by defining communication for this (second) economy:

[Processes] are “speaking to” other processes in the digital economy, in a constant conversation among multiple servers and multiple semi-intelligent nodes that are updating things, querying things, checking things off, readjusting things, and eventually connecting back with processes and humans in the physical economy.

You know, like Siri does. In fact, notice how perfectly Siri fits into Arthur’s central thesis about the second economy:

If I were to look for adjectives to describe this second economy, I’d say it is vast, silent, connected, unseen, and autonomous (meaning that human beings may design it but are not directly involved in running it). It is remotely executing and global, always on, and endlessly configurable. It is concurrent””a great computer expression””which means that everything happens in parallel. It is self-configuring, meaning it constantly reconfigures itself on the fly, and increasingly it is also self-organizing, self-architecting, and self-healing.

These last descriptors sound biological””and they are. In fact, I’m beginning to think of this second economy, which is under the surface of the physical economy, as a huge interconnected root system, very much like the root system for aspen trees. For every acre of aspen trees above the ground, ther’s about ten miles of roots underneath, all interconnected with one another, “communicating” with each other.

Arthur makes it clear that he’s not interested in the realm of Sci-Fi and AI. He’s not sharing a completely improbable vision of the future (well, with the exception of driverless cars, depending on how much of a Google believer you are). And even though nothing he describes is brand new, this idea of a silent, interconnected layer underneath the physical one gives us a new lens through which to view the digitization of our lives.

I don’t want to get all “The End Is Near!” on you, but I’m currently reading Sherry Turkle’s Alone Together – Why We Expect More from Technology and Less from Each Other, and Arthur’s article reminded me of her words of caution:

Now demarcations blur as technology accompanies us everywhere, all the time. We are too quick to celebrate the continual presence of a technology that knows no respect for traditional and helpful lines in the sand.

[A] stream of messages makes it impossible to find moments of solitude, time when other people are showing us neither dependency nor affection. In solitude we don’t reject the world but have the space to think our own thoughts. But if your phone is always with you, seeking solitude can look suspiciously like hiding.

Hopefully there will still be places to hide once the second economy has fully established itself.

The welcome shift to context-based e-commerce

Des Traynor wrote an excellent article for .net Magazine called The death and rebirth of customer experience:

Customer service online has been relegated to “handling complaints”. Sites like to boast about how quick they can respond, but it’s rare you’ll hear any boast about what a great shopping experience they had online.

Online businesses are obsessed with user experience, optimisations, page rankings and much more. Yet a thousand of their customers could walk past their offices every morning, and they wouldn’t even recognise them.

In our quest towards total commerce automation, we’ve failed to bring the most important part of commerce with us. The customer experience.

The personal contact and connection that is needed to bring customer experience back to online retail reminds me of Dan Frommer’s thoughts on the intersection of commerce and editorial content. In Commerce as content, shopping through art he writes:

[T]he best wave of new e-commerce companies may also be the ones that are great content producers. That means: Clear writing, attractive photography, and good design. I haven’t done the math, but it seems to me that great content with devoted readers could be a heck of a lot more effective at generating sales than just buying banner ads on random websites.

He goes on to give some great examples of quality editorial content. Both these articles are indicative of a welcome shift away from product-based to context-based e-commerce.

Product-based e-commerce sees the product as the unit of measure, and the user experience is built around presenting products in the best possible light to convince a customer to buy them.

Context-based e-commerce sees the a customer’s unique situation as the unit of measure, and the user experience is built around delighting them based on who they are and how technology can help improve their lives. Quality, personal, context-based content serves as the bridge between product and customer.

Horace Dediu recently wrote about iCloud and, among other things, discussed what happens when “value moves from selling things to ‘getting to know you'”. That phrase is a perfect way to summarize this shift. In getting to know us, e-commerce sites can move away from just selling us stuff, and instead sell us ways to become better people.

Apple’s quarterly results and its focus on long-term strategy

Dan Frommer has a nice graphical overview of Apple’s September quarter results. As he points out in a follow-up post:

Weaker than anticipated iPhone sales last quarter forced Apple to miss earnings expectations tonight “” a rare showing for the company. As a result, Apple shares are getting whacked right now, down about 7% in after-hours trading.

Here’s the thing about those “weaker” iPhone sales. If Apple released the iPhone 4S in September like most people expected, the 4 million units they sold last weekend would have happened in time to beat analyst expectations (note that Apple still beat its own guidance).

Instead of releasing something sub-standard to keep the analysts happy, Apple decided to wait until the hardware and software were both ready and up their own quality standards. That’s what long-term strategy looks like.

Want to build great software? Get your culture right first.

I love the Automattic Creed that all their employees have to sign before they join the company:

I will never stop learning. I won’t just work on things that are assigned to me. I know ther’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before I knew everything.

I am more motivated by impact than money, and I know that Open Source is one of the most powerful ideas of our generation. I will communicate as much as possible, because it’s the oxygen of a distributed company.

I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. Given time, there is no problem that’s insurmountable.

(h/t to @SwimGeek for the link)

This is going to sound like such a lame “management guru” thing to say, but it’s true: the cultural fit of the people you hire is more important than their past experience or absolute skill level. I’ve seen this time and time again. If I have a choice between hiring someone who is highly skilled in their work but doesn’t display humility and a genuine drive to learn more, and someone who knows enough to know that there is much to learn and they’re hungry to get there, I’ll choose the latter every time.

We recently went through an exercise to define our team values, and in many ways it’s similar to Automattic’s creed. I won’t bore you with the whole thing, but here are the main points. This is how we want other people to describe our team:

  • We are zealots about quality
  • We have autonomy to do what’s best for the product, its users, and our business
  • We have a high fix:complain ratio
  • We have a healthy work/life perspective
  • We are empathetic to the core

The relationship between a healthy culture and doing great work is causal, not simply correlation. Good culture is the prerequisite for great work to happen, and actually causes it. Alan Cooper recently address this issue in a great article called The pipeline to your corporate soul:

If you want to improve the quality of your website, app, or software, you need to also improve the quality of your organization. You need to ferret out the people who play politics but don’t get things done. You need to squash bureaucracy that stops innovation with doubt and red tape. You need to eliminate the energy drains, systemic distortions, and toxic people that force others to act like corporate drones instead of like entrepreneurs with a vested interest in success.

If you put a bunch of talented, energetic, ambitious people together and make it easy for them to collaborate and do great things, they will. I haven’t seen a single example of great work preceding a clearly defined and healthy culture – even if it’s just an unspoken understanding between two startup founders. Spending time on getting your culture right is worth the effort.

In order to stay updated, please download this update to your updater

Hey Microsoft, I’m sensing that you’re trying to tell me something about updates?

 

microsoft-autoupdate.jpg

Small UX details: Error prevention for iCloud photo stream sync

One of the principles of UI design that I always look out for is error prevention. Good design anticipates any errors that a user might make, and then makes it impossible to make those errors.

Apple’s new iCloud settings screen, shown below, is a case in point. It doesn’t allow you to check the box to sync your photo stream until you update iPhoto to the version that supports it. It would have been easy to forget about this detail. They could have allowed users to check the box anyway, and let photo stream syncing just not work until iPhoto is updated somewhere down the line.

iCloud-photo-stream.jpg

 

This might sound obvious when you see it done right, but it’s not always easy to anticipate errors. Sticking with the Apple/iOS theme, let’s look at the Omnifocus iPhone app. The app now supports location reminders on iOS 5, which means that you can set it to remind you to do something when you arrive at or leave a specific location. I wanted to try it out, so I set up a reminder to go off when I leave work:

 

omnifocus-location-reminders.jpg

 

The problem is that the iPhone’s GPS location tracking system needs to be turned on for Omnifocus in order for this to work. I didn’t realize that I didn’t have it turned on for this particular app, so nothing happened. The reminder just didn’t go off. I only discovered my mistake later that evening when I played around with the settings some more.

Designing for error prevention would have prompted me to turn GPS location tracking on for the app before allowing me to add a location-based reminder.

Small details matter.

UI engineering is hard

Dhanji Prasanna wrote a great article about his experiences on the Google Wave team, and the difficulties of working in large development teams. He brings a particularly interesting perspective to UI engineering:

To say we should have been better prepared or organized is to miss the point – large teams starting on a new project are inherently dysfunctional. One common consequence of all this chaos is that experienced engineers seclude themselves to their area of expertise. At a company like Google, this generally means infrastructure or backend architecture. A major externality of this is that fresh grads, and junior engineers are shunted to the UI layer. I have seen this happen time and again in a number of organizations, and it is a critical, unrecognized problem.

UI is hard.

You need the same mix of experienced talent working in the UI as you do with traditional “serious” stuff. This is where Apple is simply ahead of everyone else – taking design seriously is not about having a dictator fuss over seams and pixels. It’s about giving it the same consideration that you give any other critical part of the system.

I’ve experienced this first-hand, and I’ve also seen what happens when backend developers are forced to do UI work (which can happen for a variety of reasons). I’ve heard developers say that they don’t like to do UI work because “it’s not real programming”. They prefer to focus on the real stuff, not this fluffy CSS/JavaScript thing.

Whether or not their perception is accurate is only one part of the discussion. What I want to point out is this: If you make backend developers do front-end work that they’re not passionate about (or worse, work they find embarrassing to do), they’re not going to be motivated to expand their knowledge and do a good job. That’s unfair to everyone and disastrous for the product.

It’s essential to have dedicated UI engineers in an organization so that everyone can focus on the technologies that they’re obsessed with.

More

  1. 1
  2. ...
  3. 190
  4. 191
  5. 192
  6. 193
  7. 194
  8. ...
  9. 204