You are previewing Shipping Greatness.

Shipping Greatness

Cover of Shipping Greatness by Chris Vander Mey Published by O'Reilly Media, Inc.
  1. Shipping Greatness
  2. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  3. Preface
    1. Shipping Is Greatness
    2. Acknowledgments
  4. One. The Shipping Greatness Process
    1. 1. How to Build a Great Mission and Strategy
      1. How to Find the Right Need to Meet
      2. How to Construct a Great Mission Statement
      3. How to Build the Right Strategy
    2. 2. How to Define a Great Product
      1. Step 1. Write a Press Release
      2. Step 2. Create a Living Frequently Asked Questions Document
      3. Step 3. Draw Wireframes and Flowcharts
      4. Step 4. Write the One-Pager and/or Build a 10-Minute Pitch
      5. Step 5. Add API s to Your FAQ
      6. Step 6. Write the Functional Specifications Document
      7. Step 7. Uncover Edge Cases and Get Buy-in from Your Team
      8. Step 8. Test on Customers
      9. Step 9. Figure Out the Basic Business Stuff: Name, Price, and Revenue
      10. Step 10. Sell Your Completed Product Idea Upstairs
      11. Your Product Is Ready to Build—Go Build It!
    3. 3. How to Build a Great User Experience
      1. Understand Design Roles: UX, UI, IA , VisD, UXR … and Personas
      2. Understand How to Evaluate Designs
      3. Understand How to Communicate with Designers
      4. Learn How to Communicate with Pictures
    4. 4. How to Achieve Project Management Greatness on a Budget
      1. Build and Maintain a Simple Schedule
      2. Track Your Bugs and Build a Bug Burndown
      3. Managing Dependencies
    5. 5. How to Do a Great Job Testing
      1. Insist on Test-Driven Development
      2. Build a Test Team Around a Test Lead
      3. Review Your Test Plan and Test Cases
      4. Automate Testing
      5. Dogfood
      6. How to Run a Bug Bash
      7. Triage Bugs Properly
      8. Use Trusted Testers
      9. Parting Thought: Use the Entire Product as a New User
    6. 6. How to Measure Greatness
      1. How to Collect the Right Metrics and Only the Right Metrics
      2. The Three Classes of Metrics You Should Collect
      3. Focus on the Goal, Not the Minutiae
    7. 7. How to Have a Great Launch
      1. Just Say No
      2. Run a War Room
      3. Instill a Sense of Urgency
      4. Complete the Launch Checklist
      5. Write the Blog Post
      6. Roll the Software Out
      7. Verify the Software Yourself
      8. Respond to the Positive and Negative Effects of Your Launch
      9. In the Case of Problems, Roll the Software Back
      10. Handle Any Production Crises
  5. Two. The Shipping Greatness Skills
    1. 8. How to Build a Shipping-Ready Team
      1. How to Start a Team
      2. How to Acquire a Company
      3. How to Work with Offshore or Remote Teams
    2. 9. How to Build Great, Shippable Technology
      1. The First S: Servers
      2. The Second S: Services
      3. The Third S: Speed
      4. The Fourth S: Scaling
      5. How to Ask the Right Technical Questions
    3. 10. How to Be a Great Shipping Communicator
      1. How to Write Great Email
      2. How to Handle the Five Types of Meetings
      3. How to Run a Good Meeting
      4. How to Build and Give a Great Presentation
    4. 11. How to Make Great Decisions
      1. Postponing: “We’ll Finish It Tomorrow”
      2. Negotiation: “OK, 10 More Minutes”
      3. Dealing with Conflict
    5. 12. How to Stay a Great Person While Shipping
      1. How to Balance Shipping, Quality and Impact, and Your Team
      2. How to Handle Randomization
      3. How to Manage Your Energy While Shipping
      4. How to Use Escalation as a Tool, Not an Excuse
      5. How to Eat the S#!@ Sandwich and Survive
    6. 13. That Was Great; Let’s Do It Again
  6. A. 10 Principles of Shipping
  7. B. Essential Artifacts Your Team Needs
  8. C. References and Further Reading
    1. Product Definition
    2. Managing Management
    3. Engineering Management
    4. UX
    5. Metrics
    6. Communications
  9. D. How to Contact Us
    1. We’d Like to Hear from You
    2. Safari® Books Online
  10. About the Author
  11. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  12. Copyright

Chapter 1. How to Build a Great Mission and Strategy

SHIPPING IS ABOUT MEETING customer needs well and quickly, in addition to becoming rich and famous. Your mission, therefore, is to solve a customer problem. Your strategy is your unique approach to meeting a need that a group of people—a market segment—shares. It sounds pretty simple, and it is, in theory. Driving a racecar is pretty simple in theory, too—just brake at the right point, turn in at the right point, accelerate at the right point. In practice, figuring out how to drive a racetrack at a car’s peak performance is very hard, just like discovering exactly what customers need and aligning your mission and strategy with that need. To accomplish these tasks, you’ll need some special skills and a very careful focus on a few important things. So let’s break them down a bit and give you the tools you’ll need for this special task.

Start by finding a big need that a lot of people share.

How to Find the Right Need to Meet

The “wow, this is really cool; let’s make it!” road to product definition does not even come close to the wealth, fame, and success road signs. Your business likely caters to a segment of customers who have many different problems; how do you identify the critical problem you are going to solve first? Let’s try driving the road backward, starting with those who are actually successful, famous, and yes, ridiculously wealthy.

Jeff Bezos, CEO of Amazon, has made a small fortune for his company and shareholders by constantly emphasizing that teams “focus on customers, not competition.” The great clarity that this distinction provides is that your team remains problem focused, rather than reactive. Similarly, Larry Page, CEO of Google, frequently says, “Start with the customer and work outward.” His notion is similar, albeit less focused on strategy. From Larry and Jeff, we can learn that you have to focus on a real customer problem.

Sergey Brin, Google founder and president, brings another critical bit of wisdom to this picture. He has said repeatedly: “Don’t try to solve the easy problem. Solve the harder problem.” As the problem definition gets bigger, you’ll find that more users have a similar problem. As you increase the number of users you can help, you will increase your product revenue potential, and wealth, fame, and success will follow. If Larry and Jeff believe you need to solve a real customer problem, Sergey adds to that: you need to solve a real customer problem that many people share.

One example of how Google solved a real, harder problem is Google Pack. Google Pack was a free collection of utility software for your PC. When I worked on Google Pack in 2007 and 2008, we knew that users rarely applied software updates, because the experience of applying updates was complicated. And because the users’ computers weren’t updated, users had slow systems and security vulnerabilities, and were generally hassling their kids during holiday breaks.

Rather than trying to optimize each complicated user experience around updates, we built a system, subsequently used by Google Toolbar and Google Chrome, that enabled us to update all software, including third-party applications, without bothering users. This was a much harder problem to solve, especially in light of the myriad installation processes that third-party software requires. But because we built this software, we were able to reach and help hundreds of millions of users. The software was eventually open-sourced as Google Update. Based on its broad usage and utility as a platform, I think this was a highly successful product. It was successful because it solved a harder problem than the problem we first identified.

If you’ve uncovered a big problem that many users share, you’ve completed the most important step of your product definition process. More important, you’re on the road to helping a lot of people in a meaningful way! These criteria—real, big, and shared—probably seem obvious, but more often than not, teams ignore them. They also form the cornerstone of your mission. Framing your mission statement around that cornerstone, so you have something that can be used to build your strategy, is your next step.

How to Construct a Great Mission Statement

Every team has to have a mission. If you haven’t articulated it, the team, your organization, and your investors are probably operating under wildly different conceptions of the mission, and that will lead to failure. Your team will fail because each person will likely pull in a different direction, causing tension, chaos, and pain. I’ve seen this happen many times. Sometimes teams don’t articulate the mission because they are afraid of engaging in the argument about what it is, but such a fear just delays the inevitable confrontation that will arise when you all realize you’ve been going in different directions. You can prevent this problem, and reduce conflict on the whole, by writing a great mission statement.

A great mission statement accomplishes three things—and only three things—beautifully.


You want a mission statement that grabs people and brings them into the fold. Making your mission inspiring is important because it helps hold your stakeholders’ attention for long enough that you can dig into the details.

Provides an organizing, directional principle

Your mission should direct you. If your mission statement is simply “be great!” you have a freshman mission statement, and you need to send it back to school. By adding direction to your mission statement, you make it clear what you’re trying to accomplish.

Fits on a t-shirt

You probably won’t print t-shirts with your mission statement on them, but if you can, then people will remember it. And if you want your team to make decisions that are aligned with your mission, they have to be able to remember it. You probably have a team full of hyperintelligent, uniquely talented gurus, but that doesn’t guarantee that their expertise extends to remembering their mission. So make it easy on yourself, and your team, by having a mission statement that fits on a t-shirt.

An example of a team with a great mission statement is the personalization team at Amazon. These are the folks who built the product suggestion features that work scarily well. Their mission was to “increase customer delight.” This wonderful mission statement fits the requirements exactly:

  • It’s inspirational. Who doesn’t want to go to work trying to delight customers?

  • It’s organizing and directional. We need more delight. And it’s organizing—it speaks to serendipity, discovery, and happiness.

  • It fits on a t-shirt. Even all these years later, I remember it.

A final note on mission statements: they need not cover everything. They should be sufficiently broad that many incarnations of your product or service can fit the description.

How to Build the Right Strategy

Strategy is a topic that has been overcomplicated by consultants in an attempt to make money. Engineering leaders have also overcomplicated it because they frequently have no idea how to approach the problem, and instead start waving their hands. Most of all, this topic simply feels over-complicated because strategy is nebulous, and it is hard to tell when you have a good one. Luckily, because we work in software, we can create a series of dramatic simplifications that will make your strategy much easier to develop.

Your strategy is a rough plan to win over your target customers given the unique assets of your company and the pressure from your competitors. That’s it. It’s not a detailed product description, and it’s not a page of nuanced plans. It’s a paragraph that states how you’re going to make your product more attractive than the competition’s product to a group of customers over the long term. In short, the three things you need to address are your customers, company, and competition.

For example, when I worked on Google Talk, I had a mission: “Allow anyone to communicate with anyone else, anywhere, on any device.” I looked at the competitive landscape for unified communications, video conferencing, and VoIP. I looked at Google’s unique assets. One unique and durable differentiator was that unlike Skype or other video conferencing providers, we could use Google’s massive cloud infrastructure to provide video conferencing through a switching technology, rather than through the older and much more expensive encode-decode-mix-encode-decode process. Typically, multiway video systems like that cost tens of thousands of dollars and worked poorly because the hardware added so much latency. Google’s technology was unique, and it was durable because you needed a big datacenter presence to replicate it. Nobody builds more datacenters than Google.

So from both a company and competition standpoint, it was a great fit. We could lead with our unique, low-cost offering. When I looked at our millions of Google Apps customers and industry trends, I saw an emerging market segment composed of workers who were increasingly distributed and working from home. On top of that, the conference-calling space was huge, and we had powerful assets in Google Voice that we could offer to users.

Given this data, I argued that we should try to lead the market in low-cost unified communications for businesses. This strategy would enable us to leapfrog Skype’s older technology and undercut Microsoft’s more expensive systems in the SMB and Midmarket segments. Ultimately, you can see that Google didn’t follow this strategy, choosing instead to emphasize its social efforts and Google+ Hangouts. But you get the point.

As you think about your company, customers, and competition, pay special attention to how your product will serve your customers better than the competition’s product in the long term. This is the one time in the shipping process in which it’s OK to think about competition, so revel in it! You need to think hard about the long term, because if you want your product to be a commercial success you need the differences between your product and the competition’s products to be durable. If they are not, your competitors will follow along quickly and offer a rebranded version of your product at a lower price point, and you won’t have achieved greatness.

Now that you know who is going to love your product and why you can do it better than anyone else over the long term, write it down in fewer than three paragraphs, and aim to fit the essence of your thoughts into one paragraph. The shorter you make your strategy, the easier it will be to achieve and defend.

Here’s another example. Let’s say we’re the Internet Movie Database (IMDb), a division of Amazon, and we’ve brainstormed the following mission:

Mission: Enlighten video viewers.

Is the mission inspirational? I think so. Enlightenment seems inspirational to me. Perhaps excessively so for an engineering audience, but look at how we’ve applied it. We can say enlightening is about providing contextual data, driving discovery, even helping you know what your friends think. So that seems to fit.

Is it organizational and directional? Yes. It speaks to who you’re going to focus on—viewers. I didn’t restrict “viewers” to “movie viewers” because I think YouTube applies, as do Hulu and other portals. I don’t think photographs or other artworks apply, so I used “video viewers” as a way of restricting our focus. And enlightening speaks to providing intelligence and data, so the mission tells our team what kind of things we’re going to do for our users.

Does the mission fit on a t-shirt? Yes, unless you translate it into German and use a big font.

Now that we have a mission that we think is good, let’s build it into a strategy:

Strategy: Users are consuming more content every day as more content is created, but it is very hard for 20- to 40-year-old professionals to find the content they want to watch. We want to enlighten these users, to help them discover better things to watch and understand what they’re watching more deeply.

We chose to focus initially on professionals because while teens and tweens have time to spend on Facebook and YouTube, professionals have less time but also have rich networks and strong opinions—not to mention disposable capital to spend on content.

Using IMDb’s unique collection of movie data and Amazon’s ability to distribute digital content and proven personalization tools, we will uniquely solve the content discovery problem by integrating these technologies and building unique suggestion algorithms. Unlike competitors such as Netflix, who already have a recommendations engine, we’ll integrate across all video sources and use our richer data to provide more interesting in-viewing experiences and more accurate recommendations.

We will deliver these in-viewing experiences through platforms that can expose contextually relevant data (e.g., the cast of a YouTube video), such as a browser plug-in for YouTube and mobile applications for phones. We can also enlighten viewers by providing rich information about the content they are consuming, and prompt for feedback—creating a virtuous cycle in which all users benefit.

This strategy accomplishes what I need it to accomplish. It speaks to the type of product IMDb is going to offer and why the company is uniquely positioned to provide this service. It speaks to competition and how IMDb will be different, and justifies why IMDb should target a specific segment. It’s brief and to the point. It’s not excessively specific, but it is directional, speaking to specific goals of integrating across all video sources and exposing fun facts about movies.

Note that when I wrote about targeting professionals, I said “initially.” “Initially” is a bit of a cop-out, but it’s a great way of saying “tweens will go in Version 2,” which allows us to have a narrower initial focus without fundamentally rejecting the point of view that tweens are important. See How to Handle Randomization in Chapter 12 for more on the “it will go in V2” technique.

When you’ve written a basic mission statement and strategy (yours may be somewhat more fully fleshed out), you should sit down and discuss both artifacts with your leads. This is the first step of getting everyone aligned and bought into the direction you’re heading. If you can’t agree at this level of granularity, you shouldn’t move forward, because the next steps are more specific versions of your mission statement and strategy.

When you’ve reached a reasonable level of consensus with your team leads, you can move on to defining the product in detail.

The best content for your career. Discover unlimited learning on demand for around $1/day.