Re: Recommended books on Top Down Design
From: Jyrki Alakuijala (Jyrki.Alakuijala_at_find.me.via.google)
Date: 11/09/04
- Previous message: Michael Mendelsohn: "Re: A case for HTML as a programming language"
- In reply to: Phlip: "Re: Recommended books on Top Down Design"
- Next in thread: Phlip: "Re: Recommended books on Top Down Design"
- Reply: Phlip: "Re: Recommended books on Top Down Design"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 09 Nov 2004 19:10:07 +0200
Phlip wrote:
> "Top down design" still happens, but books these days don't promote it.
Top-down design is ok, if you have a team knowing rather accurately
what to do. The project could be, for example, recustomizing the same
software package for the seventh time for another customer. If the
project is challenging or new to the project team, top down design is
an invitation for a catastrophe.
Top down, bottom up, iterative, incremental, maturity driven,
evolutionary delivery model, etc. are just different possibilities
for managing risk. My favorite approach is to identify the risky
components and build them first. Forcing the less complex components
to adapt into co-operating with the more complex components yields a
more maintainable and agile code base. Also, the development investment
in the complex parts is better protected (they cannot see the and use
the other components, even in an environment of poor architectural
or requirements management). Also, the project becomes more
predictable if the difficult parts are implemented first (to a certain
component maturity level).
> Curiously, the big software vendors keep pushing statically typed languages,
> Java & C#, while high-level code, such as GUI code or business-logic code,
> typically must bend over backwards to provide dynamic typing. Free and
> powerful languages, such as Ruby, supported entirely by their own programmer
> communities, are going to teach these big software vendors a thing or to.
The excuse for using statically typed languages in industry is that it
allows a wider variety in programming capabilities to be deployed. I
am not sure if that helps at all in the final productivity, but it
may allow more people to participate in the coding effort.
I strongly believe that many software projects would benefit from a
multi-language approach, where UI development is implemented using
a modern dynamic language, such as Python, while the I/O and
calculation are implemented in a static language.
Back to on-topic:
Read Maibor (1985) DoD-Std-2167 (obsoleted), if you like to
understanding the origins of the strong foothold of "waterfall"
project management in software engineering. After that, read
Larman & Basili, Iterative and Incremental Development: A Brief
History, IEEE Computer, June 2003 for a more complete overview.
- Previous message: Michael Mendelsohn: "Re: A case for HTML as a programming language"
- In reply to: Phlip: "Re: Recommended books on Top Down Design"
- Next in thread: Phlip: "Re: Recommended books on Top Down Design"
- Reply: Phlip: "Re: Recommended books on Top Down Design"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|