Budgeting is the dark, skeleton-filled closet of software development. When a group of project managers and account managers talk privately about budgeting, the conversation sounds a lot like a group therapy session, with one person after another admitting a sense of complete helplessness in the face of accurate budgeting.
Remember those software development theory books I referenced in the Introduction? I said there were lots of books available on theories of project management, and so forth. If you look to those books to learn how to actually budget a project, you will be sorely disappointed: The chapters are either very thin or missing entirely. Or sometimes it's the reverse: Some instructions on budgeting practically require a PhD to understand—evaluating programming tasks in detail, assigning “coding complexity factors” and so forth, and formulas for determining how much, exactly, your project is off budget.
Budgeting is another activity that seems hard because it is hard. That said, I do have some practical advice that will help you through the process and give you a chance to reach an accurate (if sobering) budget. Furthermore, I will disclose my team's own private budgeting formulas, which have worked well for us.
Figure 7.1 captures the way budgeting happens in a software development project. Many people don't like what this picture says, ...