In comp.os.linux.advocacy, Rick
<none@xxxxxxxxxx>
wrote
on Tue, 03 Jul 2007 16:12:08 -0000
<138ktaocu9qii9b@xxxxxxxxxxxxxxxxxx>:
> On Tue, 03 Jul 2007 16:14:34 +0200, Hadron Quark wrote:
>
>> Rick <none@xxxxxxxxxx> writes:
>>
>>
>>>> And indicative of how and why Linux is getting its message all wrong.
>>>
>>> How can software get a message wrong? Or, did you mean 'Linux camp"?
>>
>> Poor. Very poor Rick.
>
> You can't answer the question?
>
This is getting awfully complicated -- of course, it's
all communication anyway. Herewith an idealized product
development cycle (the details vary from company to
company, depending on exactly what's sold and the company's
organization; many companies give the software away but
require a service subscription, for example):
* * *
[1] the marketing team (if any) tries to elicit ideas from
potential and existing customers.
[2] the marketing team distils the ideas and sends a spec
to general management.
[3] general management critiques and approves the general spec.
[4] marketing team generates more specific instructions,
and forwards them to the development team.
[5] the development team negotiates with the marketing
team, QA team, and customer support team.
[6] everyone signs off on the specs.
[7] somewhere in this, a schedule is produced. The
schedule is basically a "best-guess" estimate as to when
the software will be ready, ideally with internal system
milestones. It's a black art in most companies ($EMPLOYER
included). Ideally the schedule is updated and changed as
needs permit. In practice a lot of companies rush things
to meet the original schedule date, and development team or
testing team starts to cut corners -- and quality suffers.
[8] development team starts to negotiate [*] with the
compiler (software construction), linker (ditto), and
various other packages already loaded on their computer,
or anticipated on the corporation's customers' computers.
[9] development team produces an initial software release;
this can be in a number of forms from a tarball (.tar
or .tgz) to a CD-ROM image to a .msi
"self-installing" [+] kit. The kit is sent to testing,
along with some instructions.
[10] somewhere in this, documentation is written.
Ideally documentation would get in very early and
then require only minor changes later on as the
product evolves in development. Usually, however,
documentation appears to be an afterthought, or at
least nearer the tail end of the process as the product
nears final completion. The fact that many engineers
don't communicate too well on a non-technical level
doesn't help. (Hey, English != C++. :-) )
[11] testing team verifies the software, and will probably
file bugs for rework; development team may patch the bugs
or produce another release. Repeat until everyone's
satisfied.
[12] testing team finally accepts the product and sends the
kit to packaging.
[13] Packaging bundles the kit and sends it to shipping [&].
[14] Shipping warehouses it.
[15] Sales at some point gets involved in selling the
stuff. Presumably this is done by various means, such
as notifying existing customers of the new version or
"cold-calling" a list of potential customers. I'm not
sure who does advertising, but it could be a joint effort
between Sales and Marketing.
[16] Customers contact Orders and buy it.
* * *
Now, with FOSS, many of the steps get simplified or
omitted outright, as there's no real marketing department
to begin with, and no schedules. Of course, there may be
no documentation, either, which makes life interesting.
But remember what the computer's reading; it doesn't
understand English. :-)
And most of us don't understand machine code. (I can't
say I can read Java bytecode or x86 hex code by sight.)
I'm not sure where Linux has a message, though Linux does
have a fair amount of text buried in its source code for
communication with the user and/or the logging system,
including some rather enigmatic ones: "Splunge!" comes
to mind -- though I think that's been removed by now.
And then there's some such as "No such file or directory"
(what, the system can't tell the diff? -- but that's an
old Unix issue, inherited by Linux).
The paradox is that Linux software often has higher quality
than the commercial stuff, despite some rough edges.
This may be because of increased energy put into the
product, or simply because the schedule deadline pressures
aren't there.
* * *
[*] computers being the picky, inflexible beasts they are,
others might quibble with this phrasing, but we software
engineers do have to tell the computer what we want it to
do -- and often we don't quite get it right. :-)
[+] technically speaking, nothing can be self-installing;
the actual kit is read (and usually uncompressed and
unpacked) by someone else (Explorer in Microsoft's case)
and then negotiations ensue between that reader, the OS,
and the unpacked kit. (The OS is responsible for such
things as putting file data in the right place.)
[&] a more modern form might augment shipping with the
warehousing of data on a web, FTP, or BitTorrent server,
and include issues such as release mirroring.
--
#191, ewill3@xxxxxxxxxxxxx
Useless C++ Programming Idea #40490127:
for(;;) ;
--
Posted via a free Usenet account from http://www.teranews.com
|
|