Page 40 - The Art of Designing Embedded Systems
P. 40
Disciplined Development 27
When I use the Peopleware argument with managers, they al-
ways complain that private offices cost too much. Let’s look at the
numbers.
DeMarco and Lister found that the best performers had an aver-
age of 78 square feet of private office space. Let’s be generous and
use 100. In the Washington, DC, area in 1998, nice-very nice-full-
service office space runs around $3O/square foot per year.
Cost: 100 square feet: $3000/yr = 100sqft x
$30/ft/year
One engineer costs: $120,000 = $60,000 x
2 (overhead)
The office represents: 2.5% of cost of the worker =
$3OO0/$120,000
Thus, if the cost of the cubicle is zero, then only a 2.5% in-
crease in productivity pays for the office! Yet DeMarco and Lister
claim a 260% improvement. Disagree with their numbers? Even if
the?, are off by an order of magnitude, a private ofice is 10 times
cheaper than a cubicle.
You don’t have to be a rocket scientist to see the true cost/
benefit of private offices versus cubicles.
Step 5: Mearum Your Bug Rates
Code Inspections are an important step in bug reduction. But bugs-
some bugs-will still be there. We’ll never entirely eliminate them from
firmware engineering.
Understand, though, that bugs are a natural part of software develop-
ment. He who makes no mistakes surely writes no code. Bugs-r defects,
in the parlance of the software engineering community-are to be ex-
pected. It’s OK to make mistakes, as long as we’re prepared to catch and
correct these errors.
Though I’m not big on measuring things, bugs are such a source of
trouble in embedded systems that we simply have to log data about them.
There are three big reasons for bug measurements:
1. We find and fix them too quickly. We need to slow down and
think more before implementing a fix. Logging the bug slows us
down a trifle.
2. A small percentage of the code will be junk. Measuring bugs helps
us identify these functions so we can take appropriate action.

