On Jun 1, 2007, at 12:48 PM, J. Andrew Rogers wrote:
On Jun 1, 2007, at 11:40 AM, Russell Wallace wrote:
A week of effort will get you a piece of test code that runs in a
harness to prove the algorithm works. In other words, it will get
you nothing whatsoever that is of any use by itself. Creating
software that does something useful typically takes much more than
six months of effort, and I assure you, it is not work that a
monkey could do.
The prototype functions as a template that can be utilized in
building the final product, and I would hardly call demonstrating
something previously not possible in computer science "nothing
whatsoever". It is what separates yet another boring business app
from novel new app spaces. It requires nothing more than an
experienced software engineer to get a production implementation.
There are experienced engineers and then there are experienced
engineers A few are 10x to 100x more productive than the average
experienced engineer. Since in the real world time to implementation
is the difference between success and failure it is not exactly true
that experienced software engineers are mere commodities of no great
importance. I suspect you know that.
The point is that this part is pure commodity, actually solving
algorithm problems is not. You cannot pay X dollars to Y computer
scientists and get a result in Z months. For this reason virtually
all of the economic value is in the algorithms and not the
implementation.
No. It is not pure commodity. Brains that can hold and organize the
necessary levels of complexity in a moderately sophisticated system
are not as common as people who can merely program. I have been on
teams that were top heavy with computer scientists and had too few
good implementers and particularly had no architect. If it was pure
commodity our industry would not be beset with its well known high
failure and defect rate.
Most algorithm design work these days is done with the abstract
system design context in mind out of necessity. It is often that
context which breaks conventional algorithms, so there is less
"systems engineering" to it when finished than you might expect.
Yes and no. Some of those abstract system models are quite difficult
to implement in reality with sufficient scalability, dependability and
other desirable motherhoods.
If we are allowed to dismiss those parts of reality that we wish to
ignore by calling them "window dressing" and "irrelevant", then
algorithm research is irrelevant window dressing, so let's forget
about it.
Nonsense. One is fungible, the other is not. That is distinction
with a very important economic difference. Algorithm research has
an unbounded and unpredictable cost, systems engineering costs are
generally quite predictable.
So all those software project cost overruns come from what exactly?
I can go to any competent software engineer and get a production
implementation of an algorithm with well-bounded costs. If I need a
new algorithm, many computer scientists will never deliver anything
useful and it could take anywhere from a month to a decade to an
eternity to actually deliver that new algorithm even if they are
capable in theory. The comparative risk between algorithm R&D and
implementation of an algorithm that already exists is separated by
an astronomical gap, and "risk" plays a major role in economics.
Can you get well-bounded costs on entire systems? Not really. How
come?
- samantha
-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?member_id=231415&user_secret=e9e40a7e