Wednesday, September 28, 2011

The Robustness Principle

In August number of Communications of the ACM, ther is an interesting article by Eric Allman, sendmail author, in wich he presentes the limits for Robustenss Principle in implementing standards and the future problem it poses oin evolution of those standards.
I don't want to quibble about principle's limits but I'm intersted in the powerful of the principle applyed in other context.
The Robustness Principle ([2]) states that:

"be conservative in what you do, 
be liberal in what you accept from others."

 How powerful is that statement!

Here are one example in developing a new piece of software: developer must be conservative in using other modules and libraries strictly following the rules but can be liberal for example accepting parameters and treating them with default values instead returning errors (and documenting it of course!);

how much better would be our lives if everyone follow the rules but be tollerant (in some limits) with others!


[1]. The Robustness Principle Reconsidered, Eric Allman, http://cacm.acm.org/magazines/2011/8/114933-the-robustness-principle-reconsidered/fulltext
[2]. Transmission Control Protocol, RFC793, Par 2.10, http://www.faqs.org/rfcs/rfc793.html

Sunday, September 25, 2011

Software Estimation Tools: download

In a previous post on software estimation I introduced some methods for software quotation such as Function Points and Use Case Point.

Now I published a practical tool that you can use to estimate software cost. It's an Excel sheet that contains three sections:

1) Use Case Point (UCP) estimation
2) Architecture estimation that guides you throught identifing some common layers of a software architecture
3) A resource estimation developed in time to calculate team mix.

Try to conduct independent estimates (three different people) for each section.


At following link you can download my tool: download software quotation template