The dot-com heyday of excess may be over, but dreams of bootstrapping a Web-based business are not. I was part of a small team hoping to launch a demographically targeted job- and consultant-matching site in 2007. The principals, myself included, were not technical pros, so we hired a firm to do the database and Web development for the service. The firm was recommended by people we know, and I had worked with on The dot-com heyday of excess may be over, but dreams of bootstrapping a Web-based business are not. I was part of a small team hoping to launch a demographically targeted job- and consultant-matching site in 2007. The principals, myself included, were not technical pros, so we hired a firm to do the database and Web development for the service. The firm was recommended by people we know, and I had worked with one of the firm’s principals a decade earlier.We did the project spec in what we thought was the right way: a detailed specification, mockups of the UI to show the flow of information and options for the users, so there’d be a context for what was being architected and then coded. The firm took the specs and got to work, answering questions along the way on various details and noting implications we hadn’t seen — what we expected from a professional firm.Six months later, some components were available for testing, and they mostly worked. Except the lead developer forgot a key fact: the matches were many to many, not one to one, and his database architecture didn’t anticipate that. Whoops. Time for an architectural redo. But it never happened. The firm went silent for weeks and sometimes months, then promising they were almost done, only to disappear again. What was going on? We never did find out exactly. For me, the one who had worked closely with one of the firm’s principals a decade earlier, the frustration was more than professional. “How could a colleague and friend screw us like that?” The most we could get from the firm’s other principal — mostly through innuendo — is that the project was bigger than they had thought, that the contracted price was too low, and that they had expanded their business in a different direction and this project had shifted from being one they thought they would resell to other customers as a matching engine to an albatross around their neck. When I finally got a copy of the financial contract, I could see they had indeed been underpaid — our CEO negotiated an on-the-cheap deal.Now the picture became clearer. During the development process, the CEO kept asking for new features and enhanced features — and as project manager, I kept trying to squelch those not core to the product, since it was clear the CEO could think of (then forget) new ideas faster than anyone could actually develop them. The development firm, however, followed the CEO’s lead as the guy who ultimately wrote the checks, not mine. That made one of the problems crystal-clear: too-cheap contract, endless changes, and a development firm that was seething about it but was unwilling to work with me, the project manager, to contain the CEO.After a year of this, and having finally pierced through most of the unspoken issues, we canceled the contract and bought the code base as is. The CEO thought he could get someone else to finish it. Of course, every developer wanted to start over rather than use any of the existing code, not even the modules that worked — and charge twice the lowball price we had originally paid. So the CEO started talking to overseas developers in India and the Philippines. Those were scary conversations. They wanted to be paid by the hour and showed no understanding of the specs. Talk about a financial black hole from which we might never emerge. And if we couldn’t manage people in our own time zone, imagine how managing such unsophisticated people would have fared from half a world away?At that point, we were stuck. We didn’t have the money to start over again, and frankly I wasn’t willing to invest any more (unpaid) time under this kind of management. So the project faded away.In hindsight, we all screwed up. The CEO didn’t know what he was doing but kept getting involved at a detail level, which skewed everyone else’s behavior. I tried to manage the situation rather than call it like it was much earlier, which perhaps might have identified the problem soon enough either to fix it or at least not waste more money and time on it. And the development firm was simply unprofessional, no matter how nice its principals are as people. Oh, and the overseas firms? Their interactions with us reminded me of the many stories I’ve read about why you should be cautious about going overseas for “cheap” IT labor. The good ones — overseas or here at home — don’t do cheap. Data Management