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.
   35   36   37   38   39   40   41   42   43   44   45