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

Reply via email to