Re: Simples Rules make creating Big Balls of Mud impossible.
- From: "Dmitry A. Kazakov" <mailbox@xxxxxxxxxxxxxxxxx>
- Date: Mon, 22 Jan 2007 11:58:47 +0100
On Sun, 21 Jan 2007 18:31:25 -0800, Nick Malik [Microsoft] wrote:
"Dmitry A. Kazakov" <mailbox@xxxxxxxxxxxxxxxxx> wrote in message
news:15s294vb2rfog.1jelfb3ql0mbh.dlg@xxxxxxxxxxxxx
There are shining examples of companies built on bad code. We all know
examples of how technically and quality superior software products were
given away. There is no statistical correlation between code quality and
commercial success. Bad code is cheaper, so it is a clear winner.
It is true that good code does not equal commercial success. There is no
coorelation.
On the other hand, it is false to suggest that bad code is cheaper. There
is a definite coorelation: bad code costs more to own, to maintain, and to
release.
Ah, but neither me nor I think Sasa, argued against this. It is not about
all costs. Clearly the costs of bad code are intolerably high in all
respects including social ones. The problem is in the *distribution* of the
costs. It is not the code vendor who pays the full price. The market is
aware of only a part of all software costs. That is not an exception, it
could the case for many other goods and services. The essential difference
is though, that this fragment of costs is uncorrelated with either quality
or the total amount of costs. This is why the market does not work for
software. Our good intentions change here nothing.
Usual solutions are two:
1. Exposure of all costs (libertarians)
2. Regulations introducing an artificial correlation between market-exposed
costs and the rest (socialists).
We don't have to sell clean code. We simply have to write it. We
don't have to ask permission to write it. We don't have to sacrifice
schedule to write it. We don't have to take ANYTHING away from the
business in order to write it. Indeed, if we write clean code the
business will get MORE from us.
If it were so, then market would long have selected out poor software.
That is just not the case.
Let's agree on the following, shall we?
--- Software that is not flexible for the user can be very well written.
--- Software that does not meet the marketplace's needs can be very well
written.
--- Poorly written code can meet the business need better than clean code.
--- Commercial success in software is more closely tied to meeting the needs
of users than it is the quality of the code.
This is why there is no coorelation between commercial success and initial
code cleanliness. Therefore, clean code is not 'selected out' by the market
in its first iteration.
Yes
However, dirty code doesn't stay in the market for long. In order to remain
viable, a commercially successful package must iteratively release new
features. This costs more for dirty software than for clean software.
Ah, but bug fix is an excellent market product. Countless firms sell them
as "new versions", "add-on", "support", "consulting" etc. Whole branches
exist only and solely because of poor software quality. It sells and it
sells good.
Compare it with illness. If we all were in good health, what health
insurance and industry would do? (:-))
It is often the case that the most successful early versions of a product
must be completely rewritten in order to release version 2 or 3. Clearly,
dirty code made it to market, but it did not stay there. The market
eventually selected out the dirty code.
This is another problem. The code life-time is too short for market to
handle it efficiently. We (the society) just don't need that much of code.
We need far less code of much higher quality.
This is the fundamenatl truth that nearly all software developers
refuse to believe.
If murderers believed in the Ten Commandments..., but they do! (:-))
Odd choice of words. Are you stating that you are a murderer? :-)
This is a quite common logical fallacy:
x is M AND x believes in 10C
does not imply
y believes in 10C => x is M
Robert is right. You refuse to believe it.
Well, yes I do. Because it is not a matter of belief. It is an economical
fact, that poor quality sells good.
We cannot change facts on the ground by mere means of belief. An attempt to
do it is called religious movement, which normally would make things only
worse, much worse, as we also know on many examples.
Your resistence to the truth is interesting, but not uncommon. I suppose
that a person could go into any seaport in Europe in 1500 AD and announce
that the world was round and get a lot of resistence to that notion too.
This is a perfect example. In 1500 AD you could not make much money on
selling terrestrial globes. Malleus Maleficarum was the market leader at
that time...
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
.
- Follow-Ups:
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Robert Martin
- Re: Simples Rules make creating Big Balls of Mud impossible.
- References:
- Simples Rules make creating Big Balls of Mud impossible.
- From: John Carter
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: H. S. Lahman
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: John Carter
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Robert Martin
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Sasa
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Robert Martin
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Dmitry A. Kazakov
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Robert Martin
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Dmitry A. Kazakov
- Re: Simples Rules make creating Big Balls of Mud impossible.
- From: Nick Malik [Microsoft]
- Simples Rules make creating Big Balls of Mud impossible.
- Prev by Date: Re: Simples Rules make creating Big Balls of Mud impossible.
- Next by Date: Re: Booch's book feels too philosophical rather than practical?
- Previous by thread: Re: Simples Rules make creating Big Balls of Mud impossible.
- Next by thread: Re: Simples Rules make creating Big Balls of Mud impossible.
- Index(es):
Relevant Pages
|