Do It Yourself: In-house Brewery

The DYI approach to software development fuels the consulting market since most of DYI jobs are so bad that decision makers eventually get frustrated and bring in the big guns — highly paid consultants to fix a botched job.

The temptation to create an in-house team is great because:

* exposed to your current business processes and thus you expect a tighter fit for your upcoming software
* you can control it from all 360 degrees
* fixed cost - no hour overrun
* get status by simply walking into the right cubicle

I agree with all of the above. Yes, having an in-house team is probably the best way to develop your own software. However, the biggest challenge you will face in building your own in-house team is: your ability to attract great talent to your company.

For example, can a small town bank attract the best software engineers to work for them? Especially when the software engineers within few mile radius are working for Google, HP, IBM, Microsoft, etc. What is the chance that a small business will hire the cream of the crop from the local university graduate pool? I have never met a young graduate that told me that she is interesting in joining a small local company to start her career in software development. The glamor of working for Google, Yahoo!, Facebook, Apple and other major computer shops is so great that the talent pool dries up faster than a blink of an eye.

If you cannot hire the right people to work in-house, you will simply bring on to yourself a constant discomfort of working with the second-rate or even third-rate talent.