“We totally forgot to budget for that.”
“We spent 80% of our budget in 80% of the allotted time. I thought we were doing OK, but now I hear we’re only half done?”
“Oh yeah, I saw that was a problem a few months ago and forgot about it. I guess I should have told someone before we got those PCBs fabricated.”
“Oops, there’s the problem. You were using an old copy of the interface specification when you designed this. The correct specification’s pretty different.”
It should be pretty obvious that these types of problems can wreak havoc in product development efforts, unnecessarily inflating budgets and schedules. They tend to be larger problems for larger efforts (ones with more people involved), in part because they primarily stem from missed communications: the amount of communications (and opportunities to mess it up) tends to rise exponentially with the number of people in an effort.
In this short chapter, we’ll take a quick look at a few different “infrastructure” topics that can greatly influence the success of our development efforts:
Project planning (determining the who, what, where, when, and cost of what needs to get done)
Project management (ensuring that project and project plan remain similar to one another)
Issue tracking (ensuring that new information is appropriately acted upon)
Document control (ensuring that all team members have correct information)
Change management (ensuring orderly changes ...