Like, uh, whatever, I guess


  Thursday, May 20, 2004
    [9:18:41 AM]

Top 10 elements of good software design

Mr Ed of Hacknot comes up trumps again with this succinct list of good design pointers.

For example, how often is this point forgotten or ignored? (not that I'm referring to anyone in particular ;) (emphasis mine):

10. [An element of good design] Considers the Sophistication of the Team that Will Implement It

Does it seem odd to consider the builder when deciding how to build? We would not challenge the notion that a developers' skill and experience has a profound effect on their work products, so why would we fail to consider their experience with the particular technologies and concepts our design exploits? Given fixed implementation resources, a good design doesn’t place unfamiliar or unproven technologies in critical roles, where they become a likely point of failure.

[Update] As Steven has just pointed out, this is not always a hard and fast rule. There are situations where the risk associated with using a new technology is offset by the potential increase in functionality that the technology provides. In other words, each situation should be analysed, thus giving the most desirable outcome.

Full essay: http://www.hacknot.info/hacknot/action/showEntry?eid=54

Discussion: http://www.theserverside.com/news/thread.tss?thread_id=26021

Comments: Post a Comment

November 2003
January 2004
February 2004
March 2004
April 2004
May 2004
June 2004

This page is powered by Blogger. Isn't yours?  Weblog Commenting and Trackback by HaloScan.com