Re: Question about <The Deadline: A Novel About Project Management >



Responding to Femto...

hey guys, I'm reading <The Deadline: A Novel About Project Management >
from Tom Demarco these days, while at chapter 14,
the morovia's first programmer suggest 'the last minute
implementation',let the team defer coding,using 40% time or more to
elaborate low-level design which should map precisely,perfectly to
final code.And not arrange time for debugging.

I haven't read the book so I can't speak to the specific context. However, I can attest that thinking about what one is going to do before doing it is generally helpful in any sort of intellectual activity.


In addition, as a translationist, I can attest that a properly formed design model can be unambiguously converted directly to optimized 3GL code by a fully automated code generator. However, that doesn't guarantee the code will be correct because the design model may not have been correct (i.e., GIGO). So human frailty being what it is, one should still budget debug & rework time. B-)

I can also attest from personal experience that extending the fraction of project time spent on A&D will reduce the fraction of project time spent on debug & rework. At the same time it will improve overall productivity so that total project time is reduced.

However, I would also point out that such up-front thinking must be supported by a good process for managing requirements changes. That's because the thinking takes significant time and most problem spaces have volatile requirements over time. However, change management carries its own overhead, so one tries to minimize it. That's why most shops today employ some form of IID to shorten the think/implement cycle enough so that requirements don't often change within a cycle. (They then use a simplified change management to just insert changes into subsequent cycles.)

BTW, I suspect Demarco's programmer may be actually motivated by a somewhat different issue. By thinking about what one is doing up front one can usually avoid certain classes of design mistakes quite efficiently so that they are never implemented in code. However, if one spends less time thinking up front the chances increase that they will be implemented in the code. As a fairly general rule, design errors tend to be the most difficult to diagnose and rework once the code is written so it is a very good idea to avoid inserting them in the first place. That is, fixing design errors in code often involves massive shotgun refactoring.


************* There is nothing wrong with me that could not be cured by a capful of Drano.

H. S. Lahman
hsl@xxxxxxxxxxxxxxxxx
Pathfinder Solutions  -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
(888)OOA-PATH



.



Relevant Pages

  • Re: Bizzare behaviour from SG/UC3525
    ... >> The application is a high power pro-audio amplifier. ... It's not a type of design that neatly falls into ... > In particular the shutdown pin is not "slow acting" like you have theorized. ... > next cycle of the oscillator. ...
    (sci.electronics.design)
  • Re: Making the case for repeat
    ... keep a straight face. ... The goal for API design is having simple parts that are easily ... I question the utility of some combining repeatand cycle() ... design of itertools), look at the classic Hughes' paper "Why ...
    (comp.lang.python)
  • Re: [PATCH 1/6] new timeofday core subsystem for -mm (v.B3)
    ... On Mon, 20 Jun 2005, john stultz wrote: ... for a reasonable range of timesource frequencies and interval ... the cycle values needs to be 64 bits wide and the mult/shift ... What's exactly wrong with old design and why wasn't possible to fix it ...
    (Linux-Kernel)
  • Re: Superscalar Out-of-Order Processor on an FPGA
    ... Only when I have some design which I believe would be reasonable I start ... Cycle C tells me right away that the architecture does what its ... I do recall my days at Inmos where the Transputer was all over very ... and much of it before any gate level simulation decades before ...
    (comp.arch.fpga)
  • Re: Six Stroke Engine
    ... The clever new six-stroke design was developed by 75-year-old mechanic ... owner of a company which produces high-performance cams and other engine ... the water immediately ... and then the six-stroke cycle begins again. ...
    (misc.rural)