|
In this chapter, I'll introduce some important infrastructure tools and requirements that will contribute to your debugging success over the lifetime of your application. Some of the tools involve the engineering process, and others are software utilities. What they all have in common is that they allow you to see the progress of your project on a daily basis. I believe this daily monitoring is the key to getting your product out the door on time—with quality. Projects don't slip massively in one day; they slip a little each day along the way.
All the ideas presented here and in Chapter 3 come from my experience shipping real-world software products as well as my work as a consultant with some of the best development shops in the world. I can't imagine developing without these tools and techniques. I've learned some lessons the hard way and watched others learn the same lessons, and I hope to save you time and pain by sharing with you what these lessons have taught me. You might think that some of these ideas don't apply to you because you're on a two-person or three-person team. Don't worry, they do. Even when I'm on a team of one, I still approach a project in the same way. I've worked on projects of every size you can think of, so I know the recommendations I make scale from the tiniest to the largest teams.
|