|
William posted this to the XP-List.
Here’s a very interesting set of comments from Linus Torvalds and
Theodore Tso on the problem with writing specs:
kerneltrap.org/node/5725
Here’s a great quote from Linus:
The classic example of this is the OSI network model protocols.
Classic spec-design, which had absolutely _zero_ relevance for the
real world.We still talk about the seven layers model, because it's
a convenient model for _discussion_, but that has absolutely zero to
do with any real-life software engineering. In other words, it's a
way to _talk_ about things, not to implement them.
And that's important. Specs are a basis for _talking_about_ things.
But they are _not_ a basis for implementing software.
And a good one from Ted Tso:
In those cases, if you implement something which is religiously
adherent to the specification, and it doesn't interoperate with the
real world (i.e., everybody else, or some large part of the
industry) --- do you claim that you are right because you are
following the specification, and everyone else in the world is
wrong? Or do you adapt to reality?
And another one from Linus:
So don't talk about specs. Talk about working code that is
_readable_ and _works_. There's an absolutely mindbogglingly huge
difference between the two.
All heresy to the BDUF school of thought, of course. But relatively
uncontroversial in the XP world. Interesting to see the parallel evolution.
|