Three Laws of Software Development?
October 29, 2006
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.
- A developer may not write more code than is absolutely necessary, or, through inaction, allow more code to be written than is absolutely necessary.
- A developer must reuse software and ideas, except where doing so conflicts with the first law.
- What would the third law be?
October 29, 2006 at 10:13 am
No VB.NET?
October 29, 2006 at 11:18 am
A developer may use his imagination to arrive at cool new solutions, except where doing so conflicts with the second law.
October 29, 2006 at 12:08 pm
Joseph – you are evil!
October 29, 2006 at 12:09 pm
Hi Dirk,
That looks like a pretty good one – definately a candidate!
October 29, 2006 at 7:22 pm
Never fix any hardware
October 29, 2006 at 7:59 pm
Actually I published the same thing some time ago. A Login MVP architecture for Windows, Web and Unit Test both in my blog (http://manicprogrammer.com/cs/blogs/heynemann/archive/2006/08/11/22.aspx) and CodeProject(http://www.codeproject.com/useritems/mvpBasicDemo.asp).
I´m not saying that Leon copied my article or anything. Just thought of saying it if anyone wanted another source.
October 29, 2006 at 10:08 pm
William – good one. But what about embedded software development? And writing device drivers?
January 5, 2007 at 9:10 am
[...] says he was inspired by Mitch Denny — and that the laws are based upon asimov’s laws of robotics. He also says that [...]
January 6, 2007 at 1:38 pm
Never work in an organization which is not using agile software development methods ( which is not agile)
(:-)