Naur's "programming as theory building" essay [1]. E.g.
> programming properly should be regarded as an activity by
> which the programmers form or achieve a certain kind of
> insight, a theory, of the matters at hand. This
> suggestion is in contrast to what appears to be a more
> common notion, that programming should be regarded as a
> production of a program and certain other texts
This suggests that it might not be a great idea to outsource
understanding. The entire essay is worth a read.Yosefk also gave a fairly amusing characterisation of what it is to work for a software company [2]:
> Basically the "knowledge worker's" contract is
> something like this:
>
> > We'll give you a precisely defined salary
> > and a benefits package. In return, we
> > request that you handle some problems that
> > we're told we're having. We hope that you'll
> > solve them well enough to prevent us from
> > having to know what they were in the first
> > place. Please help us maintain the feeling
> > that we own an asset similar to land or gold
> > or something. Please keep the realization
> > that we're more like the operator of a
> > flying circus than a landowner from
> > disturbing us. And certainly, never, ever
> > ask us what to do with any of the moving
> > pieces of this flying circus, because we
> > seriously have no idea.
[1] there's a copy here http://alistair.cockburn.us/ASD+book+extract%3A+%22Naur,+Ehn...[2] http://yosefk.com/blog/information-asymmetry-cuts-both-ways....
Thanks for sharing.
Usually to be successful, the non-technical team must have complementary strengths, such as great domain knowledge and industry contacts, good sales ability etc. Purely technical startups are rarely successes outside of Silicon Valley, usually the tech needs to be married to a strong non-technical team that sets up sales, distribution networks, operations, etc
However, they are both working apart from the startup (I believe) so it's tough for them to pick up one more thing.
If they had the ability to QA the outsourced team's work at a semi-granular level, I'd imagine there would be a lot less disconnect between the work done and expectations.