Why specs matter (On The Two Types Of Developers)

27 views
Skip to first unread message

tbp1...@gmail.com

unread,
May 13, 2022, 3:09:44 PM5/13/22
to leo-editor

Edward K. Ream

unread,
May 13, 2022, 3:44:17 PM5/13/22
to leo-editor
On Fri, May 13, 2022 at 2:09 PM tbp1...@gmail.com <tbp1...@gmail.com> wrote:
Why specs matter  

Hmm. Crude, but interesting.

I've never used specs myself. Imo, what matters is the quality of the conversations surrounding a project. Leo has always been informal and experimental. My next project, which I'll discuss here in a day or so, will have informal goals, but the final product will likely be more formal.

Edward

tbp1...@gmail.com

unread,
May 13, 2022, 8:03:30 PM5/13/22
to leo-editor
People often mix up requirements and specifications.  Requirements are for setting out what will be required of the system, preferably in terms of the user or builder - for example, "transport a family of four with luggage at least 450 miles in a day without refuelling".  Note that this may or may not be measurable per se. 

Requirements can apply to GUI interfaces too.  For example, in my GF4 project i have a strong (though as yet unwritten) requirement that error messages must not need user action to be dispatched (so, for example, no modal error boxes that have to be clicked on).  I implement this requirement by having error messages display in a message strip, flash gently to get one's attention, and then fade away over a period of some seconds.

Specifications detail measurable (or observable) things about the system that act to fulfil the requirements.  For the requirement above, some assumptions or ground rules need to be spelled out somewhere:

The volume needed for the luggage;
the total weight of the passengers;
the volume of the passenger required for the trip;
etc....

Now there can be (part of) a specification:

"The vehicle shall be able to drive on an interstate highway for at least 475 miles at a minimum speed of 55 mph in no more than 8 hours on a full tank (containing 21 gallons) of 86-octane gasoline while carrying the the reference number of passengers and amount of luggage".

Note that this specification can be tested, unlike the requirement.

Requirements and specifications are communication devices, needed more and more as more and more people become involved in designing a system.  Though not needed for a personal project - the person, after all, knows more or less what they have in mind - it can be helpful to have at least a rudimentary set of requirements even in that case - in effect, one communicates with one's past or future self.


David Szent-Györgyi

unread,
May 16, 2022, 11:28:04 PM5/16/22
to leo-editor
Rereading that "Dive into Mark" posting again after many years, with my US State's primary election coming tomorrow, my thoughts go in another direction: I think of parallels with respect to the law. 

For "a**holes" read "lawyers". For "morons" read "legislators". 

Reading Tom's distinction between "requirements" and "specifications", I think that those who believe the US Constitution to be a living document focus on requirements, while the Originalists focus on specifications. 

*sigh*

tbp1...@gmail.com

unread,
May 16, 2022, 11:40:55 PM5/16/22
to leo-editor
Nifty idea!  Without wanting to get political here, I think the Preamble to the US Constitution contains the essential user requirements:

" We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America."
Reply all
Reply to author
Forward
0 new messages