Practical Development Environments


This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project.

Practical Development Environments is a guide, a collection of advice about real development environments for small to ...

See more details below
Other sellers (Paperback)
  • All (15) from $1.99   
  • New (5) from $9.19   
  • Used (10) from $1.99   
Practical Development Environments

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$19.99 price
(Save 44%)$35.99 List Price


This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project.

Practical Development Environments is a guide, a collection of advice about real development environments for small to medium-sized projects and groups. Each of the chapters considers a different kind of tool - tools for tracking versions of files, build tools, testing tools, bug-tracking tools, tools for creating documentation, and tools for creating packaged releases. Each chapter discusses what you should look for in that kind of tool and what to avoid, and also describes some good ideas, bad ideas, and annoying experiences for each area. Specific instances of each type of tool are described in enough detail so that you can decide which ones you want to investigate further.

Developers want to write code, not maintain makefiles. Writers want to write content instead of manage templates. IT provides machines, but doesn't have time to maintain all the different tools. Managers want the product to move smoothly from development to release, and are interested in tools to help this happen more often. Whether as a full-time position or just because they are helpful, all projects have toolsmiths: making choices about tools, installing them, and then maintaining the tools that everyone else depends upon. This book is especially for everyone who ends up being a toolsmith for his or her group.

Read More Show Less

Product Details

  • ISBN-13: 9780596007966
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 9/30/2005
  • Edition number: 1
  • Pages: 330
  • Product dimensions: 7.02 (w) x 9.16 (h) x 0.81 (d)

Meet the Author

Matthew Doar has been a professional toolsmith and software developer for over ten years at a number of different companies. He wrote this book because he was frustrated with the lack of books about how to create good software development environments. He also wrote JDiff, an open source tool for comparing the APIs of different versions of large Java projects. He has a Ph.D. in computer networking from the University of Cambridge.

Read More Show Less

Table of Contents

What This Book Is About;
What This Book Is Not About;
Who Should Read This Book;
What's Inside;
Style Conventions;
Using Code Examples;
Safari Enabled;
Comments and Questions;
Chapter 1: Introduction;
1.1 Developing Software Products;
1.2 Open and Closed Software Development;
1.3 Dirty Secrets of Software Projects;
1.4 What Does "Practical" Mean?;
1.5 A Personal Tools Quiz;
Chapter 2: Project Basics;
2.1 The Parts of a Project;
2.2 Software Configuration Management;
2.3 Building Software;
2.4 Testing Software;
2.5 Tracking Bugs;
2.6 Writing Documentation;
2.7 Releasing Products;
2.8 Maintenance;
2.9 Recommended Tools;
Chapter 3: Project Concepts;
3.1 Preconstructed Development Environments;
3.2 Why Integration Is Helpful;
3.3 Why Automation Is Vital;
3.4 Automation Environments;
3.5 Labeling Builds;
3.6 Naming Projects and Machines;
3.7 Choosing New Tools;
3.8 Internationalization and Localization;
3.9 Authentication, Authorization, and Accounting;
Chapter 4: Software Configuration Management;
4.1 Why Do I Need SCM?;
4.2 What SCM Is and Is Not;
4.3 Drawbacks of SCM;
4.4 A Typical Day's Work with SCM;
4.5 SCM Annoyances;
4.6 SCM Tools;
4.7 Comparison of SCM Tools;
4.8 Wider Uses of SCM;
4.9 Checklist;
Chapter 5: Building Software;
5.1 How Software Gets Built;
5.2 Build States: Virgin, Up-to-date, Changed, Interrupted, Clean;
5.3 Build Dependencies;
5.4 Common Build Problems;
5.5 Build Tools;
5.6 Comparison of Build Tools;
5.7 Changing Your Build Tool;
5.8 Checklist;
Chapter 6: Testing Software;
6.1 Different Kinds of Tests;
6.2 Why Automate Your Tests?;
6.3 Evaluating Test Environments;
6.4 Test Environments;
6.5 Types of Test Tools;
6.6 The Difficult Parts of Testing;
6.7 Checklist;
Chapter 7: Tracking Bugs;
7.1 Tool Requirements;
7.2 Bug Tracking Tools;
7.3 Bug Tracking Annoyances;
7.4 Integrating with SCM Tools;
7.5 Checklist;
Chapter 8: Documentation Environments;
8.1 Technical Documentation;
8.2 Documents and SCM;
8.3 File Formats for Documentation;
8.4 Documentation Environments;
8.5 More File Formats;
8.6 Automated Production of Documentation;
8.7 Bad Ideas for Documentation;
8.8 Internal Project Documentation;
8.9 Checklist;
Chapter 9: Releasing Products;
9.1 Overview;
9.2 Before the Release;
9.3 Creating the Release;
9.4 Packaging Formats;
9.5 Installation Tools;
9.6 Installation Irritations—Ship Happens!;
9.7 After the Release;
9.8 Checklist;
Chapter 10: Maintenance;
10.1 Maintaining an Environment;
10.2 What Is Product Maintenance?;
10.3 Product Maintenance Tasks;
10.4 Product Maintenance and Development Environments;
10.5 Cleaning Up Your Environment;
10.6 Checklist;
Chapter 11: Project Communication;
11.1 Tools for Communication;
11.2 A Project Web Site;
11.3 Different Areas for the Project Web Site;
11.4 Creating the Web Site;
11.5 Avoiding Content Rot;
Chapter 12: Politics and People;
12.1 The Role of the Toolsmith;
12.2 When Good Projects Go Bad;
12.3 Awkward People;
12.4 Twisted Communications;
12.5 Commit Rights;
12.6 Automation Discipline;
12.7 What Do Developers Really Want?;
12.8 An Upbeat Ending;
Appendix A: How Tools Scale;
A.1 Scaling of Compilers;
A.2 Scaling of Build Tools;
Appendix B: Resources;
B.1 Online;
B.2 Magazines;
B.3 Books;
B.4 Conferences;
B.5 University and College Courses;

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted June 14, 2006


    Are you having a problem in choosing and using different tools to provide a satisfying software development environment? If you are, then this book is for you! Author Matthew B Doar, has done an outstanding job of writing a practical guide that is a collection of advice about real development environments. Doar, begins by describing the different activities involved in producing a piece of software open and closed software development and some classic situations that arise when developing software products. Then, the author describes the different areas of software development. He continues by discussing the concepts such as integration and automation that are used throughout a development environment. Then, the author discusses how to use SCM tools to keep track of different versions of files. Then, he discusses tools for building software from source files. Next, the author discusses testing software. He also describes different bug tracking tools, what to look for in them, and what to avoid. Then, the author continues by describing some of the more common documentation tools and how they are used. Next, he discusses the process of releasing software. The author also discusses the problems of maintaining your environment, and how development environments can help with the maintenance of older software products. Then, he discusses ways to improve communication within your project. Finally, the author offers a standalone collection of observations about what a toolsmith does for a development environment, and some other decidedly nontechnical aspects of software developments environments. The tools described in this most excellent book are mostly intended for small to medium-sized projects of up to around 200 developers. More importantly, this book recognizes that some progress in your software development environment is better than none.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)