Darren New wrote: > Bob La Quey wrote: >>.. >> Further I see any serious software project is naturally divisible >> into two parts: Definition and Implementation. > > Bwaaa ha ha ha! Sure, all those serious software projects that go 900% > over budget and then get scrapped as completely unusable can be > separated into those two parts. > >> Definition is hard >> to outsource depending as it does on the "customer" who often >> must be worked with face to face. Implementation OTOH is >> realtively easy to outsource if one has a good solid definition, >> which is, of course, a _big_ if. > > Assuming you (a) have a customer who knows what they want, (b) you can > figure out what the customer wants, (c) the requirements don't change in > the time it takes to write it, (d) you can express that to the > programmers who don't speak your language natively and never even met > the customer and quite possibly never had anything to do with your > customer's type of business, (e) that you convince the outsourcees that > they should do what you need rather than what's easiest and most > profitable for them, and (f) you have a way of telling that what you got > back is what you asked for, and (g) you can tell before you start which > outsourcing group will actually be able to accomplish what you're paying > them for, and (h) you can convince them to work on your project to the > exclusion of other projects that might come later but are more profitable. > > None of these are even middling, let alone "relatively easy". By the > time you can clearly write unambiguous specs and have an inexpensive way > of ensuring that the result meets those specs and is flexible enough to > meet your future needs, you have reduced the problem to something you > might as well just finish yourself - you've already done 90% of the work. >
Well put! Darren, those last two paragraphs (especially) strike me as eminently bloggable. Regards, ..jim -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
