You are previewing Ship it!.
O'Reilly logo
Ship it!

Book Description

Ship It! helps teams get software out the door. Here you'll find a wealth of solid, practical advice in an easy, approachable format. You can fix many of the common problems facing software projects today with this concise introduction: you'll see the tools a successful team has to use, and learn how to use them well. You'll get quick, easy-to-follow advice on modern techniques and when they should be applied. Your team will be able to Ship It!

Table of Contents

  1. Ship It!
    1. Copyright
    2. For the Best Reading Experience...
    3. Table of Contents
    4. What readers are saying about Ship It!
    5. Foreword
    6. Preface
      1. Acknowledgments
    7. Chapter 1: Introduction
      1. Habitual Excellence
      2. A Pragmatic Point of View
      3. Road Map
      4. Moving On
      5. How Should I Read This Book?
    8. Chapter 2: Tools and Infrastructure
      1. Nobody Knows The Trouble Fred Has Seen
      2. How Is Your Day Different?
      3. Avoid the Fred Trap
      4. 1 Develop in a Sandbox
      5. 2 Manage Assets
      6. 3 Script Your Build
      7. 4 Build Automatically
      8. 5 Track Issues
      9. 6 Track Features
      10. 7 Use a Testing Harness
      11. 8 On Choosing Tools
      12. 9 When Not to Experiment
    9. Chapter 3: Pragmatic Project Techniques
      1. 10 Work from The List
      2. 11 A Tech Leads
      3. 12 Coordinate and Communicate Every Day
      4. 13 Review All Code
      5. 14 Send Code Change Notifications
      6. 15 Putting It All Together
    10. Chapter 4: Tracer Bullet Development
      1. Tracer Bullet Development
      2. Popular Process Problems
      3. Defining Your Process
      4. How Does It Work?
      5. Define Your System Objects
      6. Collaborate to Define Interfaces
      7. Write the Interface Stubs
      8. Make Your Layers Talk
      9. Fill In the Stubs with Functional Code
      10. Refactor and Refine
      11. A Brief Example
      12. Selling Tracer Bullets
    11. Chapter 5: Common Problems and How to Fix Them
      1. 16 Help! I’ve Inherited Legacy Code
      2. 17 Testing Untestable Code
      3. 18 Features Keep Breaking
      4. 19 Tests? We Stopped Using Them
      5. 20 But It Works for Me!
      6. 21 It Hurts When I Integrate Code
      7. 22 Can’t Build the Product Reliably
      8. 23 Customers Are Unhappy
      9. 24 You’ve Got a Rogue Developer
      10. 25 Your Manager Is Unhappy
      11. 26 Team Doesn’t Work Well Together
      12. 27 Can’t Get “Buy-in” on Essential Points
      13. 28 The New Practice Didn’t Help
      14. 29 There’s No Automated Testing
      15. 30 We’re Junior Developers, With No Mentor
      16. 31 We’re on a “Death March” Project
      17. 32 Features Keep Creeping In
      18. 33 We’re Never Done
    12. Appendix 1: Tip Summary
    13. Appendix 2: Source Code Management
      1. What’s Available:
      2. Key Concepts:
      3. How to Choose:
      4. For More Information:
    14. Appendix 3: Build Scripting Tools
      1. What’s Available:
      2. Key Concepts:
      3. How to Choose:
      4. For More Information:
    15. Appendix 4: Continuous Integration Systems
      1. What’s Available:
      2. Key Concepts:
      3. How to Choose:
      4. For More Information:
    16. Appendix 5: Issue Tracking Software
      1. What’s Available:
      2. Key Concepts:
      3. How to Choose:
      4. For More Information:
    17. Appendix 6: Development Methodologies
      1. What’s Available:
      2. Key Concepts:
      3. How to Choose:
      4. For More Information:
    18. Appendix 7: Testing Frameworks
      1. What’s Available (Test Harnesses):
      2. What’s Available (Testing Tools):
      3. Key Concepts:
      4. How to Choose:
      5. For More Information:
    19. Appendix 8: Suggested Reading List
      1. General
      2. Ruby
      3. Java
      4. Methodologies
      5. Source Code Management
      6. Miscellaneous
      7. Leadership and People
    20. Bibiography