You are previewing Shipping Greatness.
O'Reilly logo
Shipping Greatness

Book Description

Need a shortcut to a degree in shipping great software? Successful team leaders must have an extremely broad skill set to find the right product, work through a complex and ever-changing development process, and do it all incredibly quickly. In this guide, Chris Vander Mey provides a simplified, no-BS approach to the entire software lifecycle, distilled from lessons he learned as a manager at Amazon and Google.

Table of Contents

  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
        1. Use Microsoft Outlook with Google Apps for email, contacts, and calendar
          1. Use Microsoft Outlook with Google Apps for email, contacts, and calendar
      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
        1. Introduction
        2. Goals and Nongoals
        3. Use Cases or User Scenarios
        4. Mocks or Wireframes
        5. APIs
        6. Capacity Plan
        7. Dependencies
        8. FAQ and Open Issues
        9. Key Milestones
      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
        1. The Six UX Questions
          1. What’s the most important task the UI asks your primary persona to accomplish?
          2. Is this the simplest solution?
          3. Is the information organized logically?
          4. Is the design usable and discoverable?
          5. Are the standards consistent?
          6. Can you reduce the number of clicks?
      3. Understand How to Communicate with Designers
      4. Learn How to Communicate with Pictures
        1. Create Simple Wireframes in Omnigraffle
        2. Make Production-Quality Mocks Quickly
    4. 4. How to Achieve Project Management Greatness on a Budget
      1. Build and Maintain a Simple Schedule
        1. How to Get Estimates
      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
        1. Option 1: Maintain a Lower Hiring Bar, and Hire Managers
        2. Option 2: Maintain a High Hiring Bar, and Work with Vendor Testers
        3. Option 3: Maintain a High Hiring Bar, and Don’t Use Contractors
      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
        1. Progress Toward Goals
        2. Business Performance
        3. Systems Performance
      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
        1. Crisis playbook: Minutes 0–5
          1. Crisis playbook: Minutes 0–5
          2. Crisis playbook: Minutes 5–30
          3. Crisis playbook: Minutes 31–N
          4. Crisis playbook: Coping with the aftermath and writing a postmortem
        2. Demo Your Product
        3. Handle Press and Customers
        4. Celebrate Your Launch!
  5. Two. The Shipping Greatness Skills
    1. 8. How to Build a Shipping-Ready Team
      1. How to Start a Team
        1. Program Managers
        2. Product Managers
        3. Project Managers
        4. Engineering Managers
        5. How to Hire a Product, Program, or Engineering Manager
          1. Hire people who are smarter than you
          2. Look for Candidates who Understand that they are not the Boss
          3. Look for Clear, Data-Driven, and Specific Communications
          4. Hire Quantitatively Inclined Candidates
          5. Hire People with Gumption
      2. How to Acquire a Company
        1. Intellectual Property Acquisitions
        2. Talent Acquisitions
        3. Customer Base Acquisitions
        4. Defensive Acquisitions
        5. Gotchas and Best Practices with Acquisitions
          1. Plan to Embed Part of Your Team into their Team
          2. Plan to Integrate the Product
          3. Understand all the Prior Deals and Liabilities
      3. How to Work with Offshore or Remote Teams
        1. Don’t Rent an Engineer—Build an Engineering Team
        2. Overcommunicate
        3. Try Very Hard Not to Outsource Design or PM Roles
        4. Appreciate Cultural Differences
        5. Build Clear Requirements
        6. Suck Up the Time Difference
        7. Establish Great Leads
        8. Travel a Lot or Not at All
        9. Drink with the Remote Team
        10. How to Join a New Team
    2. 9. How to Build Great, Shippable Technology
      1. The First S: Servers
      2. The Second S: Services
        1. Drawbacks to Service-Oriented Architectures (SOAs)
      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
        1. Write Email Like a Journalist
        2. Use the Great Delta Convention
        3. Punctuate Your Email with Bullets as Reasons
        4. Stop Writing Now, Because You’re Done
        5. Try Suggestions Instead of Questions
        6. Remember Your Audience
      2. How to Handle the Five Types of Meetings
        1. The Team Meeting
        2. The Standup Meeting
        3. The 1:1 Meeting
        4. The Product, UX, and Engineering Design Reviews
        5. The Brainstorming Meeting
          1. Don’t criticize when you’re brainstorming
          2. Say, “Yes, and…”
          3. Prompt discussion with structure
          4. Be clear when the brainstorming is over
      3. How to Run a Good Meeting
        1. Send Headline Notes Immediately
        2. Allow Your Meeting’s Objective to Change
        3. Stamp Out Negativity in Team Meetings; Embrace it in 1:1s
        4. Use Tools Like Fishbone Diagrams to Solve Problems
      4. How to Build and Give a Great Presentation
        1. Limit Your Presentation to 15 Minutes
        2. Always Have One, and Only One, Message
        3. Tell a Story
        4. Build the “Deck in One Slide”
        5. Lead with the User Experience
        6. Listen Like Crazy
        7. Bonus Presentation Tips
    4. 11. How to Make Great Decisions
      1. Postponing: “We’ll Finish It Tomorrow”
      2. Negotiation: “OK, 10 More Minutes”
        1. Stage 1: It’s Not About You
        2. Stage 2: Being Fair and Using Data
        3. Stage 3: That Data Didn’t Close the Deal…Let’s Make Up New Data!
        4. Stage 4: Searching for Things That Are Free to Give
        5. Stage 5: Walking Away and Thinking
        6. Stage 6: Agreement, Paperwork, and Recriminations
      3. Dealing with Conflict
        1. Don’t Use “You” or “I”
        2. Focus on the Personas, Not the People
        3. Use Objective Measures
    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