>>>> Should I only hire coders I can sit in the same room with? >>> >>> That will probably work best, but it will cost more. >>> >>> Have you ever managed a programming team before? >> >> I haven't. Any pointers? > > Not really. Just be prepared for the programmers to misunderstand the > specification at every turn. And once they've understood the spec, be > prepared for them to just plain screw up the implementation. > > Unless you're hiring programmers who have a very good understanding of > the problem space, they're not going to understand the spec. They are > going to do the wrong thing in the first several iterations before > they finally understand what it is that you want. Some of the "wrong > things" will violate the spec. Many won't. > > It's like hiring to build a house carpenters who've never seen a > house, never heard of a house, and have no idea what a house is for. > > The first version will look like the drawings, but they'll have > misunderstood the dimensions and the whole thing will be 3 feet high > an 5 feet wide. When you ask how people are going to fit in that, > they're going to look at you completely dumbfounded because you never > told them people had to fit inside -- how were they supposed to know > that? > > The second version will be the right size, but the doors and windows > won't open -- they'll be built solidly into the structure on all four > sides. When you ask why, they'll say "it's a lot stronger that way!" > You'll say "but I told you people had to fit inside". They'll reply > that people _do_ fit inside. You'll ask how are they going to _get_ > inside. They'll say "the specification doesn't say that doors and > windows have to open, so we implemented it the strongest way, and now > people fit inside just like you said." > > [Repeat until you're out of time and/or money.] > > The only advice I've got is to do things in increments as small as > possible. Don't do "big bang" integration. Make sure there is a > runnable testable program after the first week of development. Maybe > it doesn't implement any significant features, but you must have > something runnable and testable at all times. Otherwise, you can get > too far down the wrong road before you finally figure out that either > a) what you specified isn't going to work, or b) they didn't > understand the specification at all.
Great advice from everyone, thank you. By hiring coders, the intention is to save myself time and effort but it sounds like I would only be replacing one problem with another. I'm really not sure how to proceed but you guys have saved me from hurling myself into something I didn't understand. Trying to figure it out, Grant