Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. Developing Software Products

    2. Open and Closed Software Development

    3. Dirty Secrets of Software Projects

    4. What Does "Practical" Mean?

    5. A Personal Tools Quiz

  2. Chapter 2 Project Basics

    1. The Parts of a Project

    2. Software Configuration Management

    3. Building Software

    4. Testing Software

    5. Tracking Bugs

    6. Writing Documentation

    7. Releasing Products

    8. Maintenance

    9. Recommended Tools

  3. Chapter 3 Project Concepts

    1. Preconstructed Development Environments

    2. Why Integration Is Helpful

    3. Why Automation Is Vital

    4. Automation Environments

    5. Labeling Builds

    6. Naming Projects and Machines

    7. Choosing New Tools

    8. Internationalization and Localization

    9. Authentication, Authorization, and Accounting

  4. Chapter 4 Software Configuration Management

    1. Why Do I Need SCM?

    2. What SCM Is and Is Not

    3. Drawbacks of SCM

    4. A Typical Day's Work with SCM

    5. SCM Annoyances

    6. SCM Tools

    7. Comparison of SCM Tools

    8. Wider Uses of SCM

    9. Checklist

  5. Chapter 5 Building Software

    1. How Software Gets Built

    2. Build States: Virgin, Up-to-date, Changed, Interrupted, Clean

    3. Build Dependencies

    4. Common Build Problems

    5. Build Tools

    6. Comparison of Build Tools

    7. Changing Your Build Tool

    8. Checklist

  6. Chapter 6 Testing Software

    1. Different Kinds of Tests

    2. Why Automate Your Tests?

    3. Evaluating Test Environments

    4. Test Environments

    5. Types of Test Tools

    6. The Difficult Parts of Testing

    7. Checklist

  7. Chapter 7 Tracking Bugs

    1. Tool Requirements

    2. Bug Tracking Tools

    3. Bug Tracking Annoyances

    4. Integrating with SCM Tools

    5. Checklist

  8. Chapter 8 Documentation Environments

    1. Technical Documentation

    2. Documents and SCM

    3. File Formats for Documentation

    4. Documentation Environments

    5. More File Formats

    6. Automated Production of Documentation

    7. Bad Ideas for Documentation

    8. Internal Project Documentation

    9. Checklist

  9. Chapter 9 Releasing Products

    1. Overview

    2. Before the Release

    3. Creating the Release

    4. Packaging Formats

    5. Installation Tools

    6. Installation Irritations—Ship Happens!

    7. After the Release

    8. Checklist

  10. Chapter 10 Maintenance

    1. Maintaining an Environment

    2. What Is Product Maintenance?

    3. Product Maintenance Tasks

    4. Product Maintenance and Development Environments

    5. Cleaning Up Your Environment

    6. Checklist

  11. Chapter 11 Project Communication

    1. Tools for Communication

    2. A Project Web Site

    3. Different Areas for the Project Web Site

    4. Creating the Web Site

    5. Avoiding Content Rot

  12. Chapter 12 Politics and People

    1. The Role of the Toolsmith

    2. When Good Projects Go Bad

    3. Awkward People

    4. Twisted Communications

    5. Commit Rights

    6. Automation Discipline

    7. What Do Developers Really Want?

    8. An Upbeat Ending

  1. Appendix A How Tools Scale

    1. Scaling of Compilers

    2. Scaling of Build Tools

  2. Appendix B Resources

    1. Online

    2. Magazines

    3. Books

    4. Conferences

    5. University and College Courses

  3. Colophon