Three Laws of Software Development?

Leon Bambrick posted up a good overview of the way that the MVC pattern works on a simple login dialog. I’ve currently inherited some responsibility for an ASP.NET application that uses a derivative of MVC extensively – the idea was that the controllers could be re-used across various different delivery platforms including things like Windows Forms and the Compact Framework.

Of course, it never happened – but that architectural decision that was made way back in the beginning of time is probably costing the company signficantly now. I’m not against MVC, but I am starting to wonder if there is a set of laws about software development – kind of like the Three Laws of Software Development that could help keep people from making these mistakes.

  1. A developer may not write more code than is absolutely necessary, or, through inaction, allow more code to be written than is absolutely necessary.
  2. A developer must reuse software and ideas, except where doing so conflicts with the first law.
  3. What would the third law be?

9 thoughts on “Three Laws of Software Development?

  1. Mitch Denny Post author

    William – good one. But what about embedded software development? And writing device drivers?🙂

  2. Pingback: Three laws of software developement at visualreactor

  3. Ashok

    Never work in an organization which is not using agile software development methods ( which is not agile)

    (:-)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s