From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.lisp.guile.devel Subject: Re: top-down design + nevermind Date: Sun, 21 Apr 2002 00:29:47 -0700 Sender: guile-devel-admin@gnu.org Message-ID: References: <1018270049.27252.36.camel@flophouse> Reply-To: ttn@glug.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1019374639 6426 127.0.0.1 (21 Apr 2002 07:37:19 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 21 Apr 2002 07:37:19 +0000 (UTC) Cc: guile-devel@gnu.org, guile-user@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 16zBuR-0001fX-00 for ; Sun, 21 Apr 2002 09:37:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16zBtb-0002v0-00; Sun, 21 Apr 2002 03:36:27 -0400 Original-Received: from ca-crlsbd-u4-c4c-174.crlsca.adelphia.net ([68.66.186.174] helo=giblet) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16zBsf-0002oI-00; Sun, 21 Apr 2002 03:35:29 -0400 Original-Received: from ttn by giblet with local (Exim 3.33 #1 (Debian)) id 16zBn9-0005F3-00; Sun, 21 Apr 2002 00:29:47 -0700 Original-To: grib@linuxdevel.com In-Reply-To: <1018270049.27252.36.camel@flophouse> (message from Bill Gribble on 08 Apr 2002 07:47:28 -0500) Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:432 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:432 From: Bill Gribble Date: 08 Apr 2002 07:47:28 -0500 What's wrong with redesign? In my experience, there's no such thing as a software design that's correct from the start. Redesign should be built into the process, because it *will* be required. redesign is fine (and i concur that it should be built into the process), but forced redesign is not so fun. Top-down design takes the closed-loop process of software engineering and tries to make it open-loop. The only way to do this is to assert by fiat that implementation experience does not feed back into design. IMO, that's dumb. Customer needs, developer experience, and strategic (management) goals all are parts of the design process. None of these things can be completely specified in advance. Design and implementation must proceed together and iteratively in order to use resources most efficiently, IMO. well wouldn't you agree that customer-driven development is indeed a form of top-down design? rather than set up an exclusive-or algorithm to choose top-down or bottom-up, i'm hoping to entice discussion to learn other people's heuristics on how they effectively use these two approaches concurrently. Software "architecture" is not like building "architecture"... if it was, there would be no need for programmers to be more educated than construction workers. All the interesting work would be in the design phase, and no code would be written until the "blueprint" was complete. That might be a management jerk-off fantasy, but it's a recipe for a train wreck. most "programmers" are not as well educated as construction workers, actually, in the craft of their choosing. there are certain organizing principles programmers can learn from construction workers: regularity, the the plumb and the square, using orthogonal units, choosing (or creating) the right tool for the job, saving leftover pieces of good material for fun later... generally, how to live comfortably taking advantage of the physical world's simple constraints. any profession can learn to code, evidently. the code is of course specific to that profession. what is the programming profession but the art of translating vague requirements (like "the release must be stable") into code, and knowing where to put the interpretive hooks? programmers who can manage themselves don't need additional professional managers, although many might want one (who can program, too!). thi _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel