Wed 22 Oct 2008 On every project, there is a phase where you
have to pick the essential technologies that you will use to
build the system. You need to decide what programming language
to use. Is there an available framework? Does the system need a
database? If so, which DBMS should you use? Ideally, this is
done logically and methodically, making sure to choose the
technologies that best meet the stated needs and provide for a
future growth path. Like most human activities though, this
process is often subverted by the foibles of those involved.
Here are a number of Design Fail Patterns, ways that bad designs
get chosen. “To A Man with a Hammer, Everything Looks Like a
Nail.” – Mark Twain Sometimes a team makes an ill choice because
of their background. There are more technologies available than
ever before (see Software’s Cambrian Explosion). It is
impossible to stay on top of every language, framework, and
system. You do have to make a choice from the set of
technologies you are familiar with or ones you k