raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Sunday, November 21, 2004
  Build, Buy, or Something In-Between?


On November 30th, 2004 the Toronto Product Management Association will have a panel session entitled "Product Managers working with Developers."I'll be participating on the panel representing development. There will also be panellists representing the buy and outsource/contract options.

I've posted a draft copy of my presentation [here]. My intent is to discuss when you ought to consider developing a product in-house and then present several anti-patterns that would prevent success. One caveat about my presentations: I don't develop presentations as stand-alone documents. Although the presentation communicates the basic outline of my argument, I save lots of points for the spoken word.

I've tried to break the argument for and against in-house product development into two separate buckets. First there're the strategic reasons you ought to develop a product in-house.

Second, there are the tactical reasons for and against. Actually, I couldn't think of any tactical reasons for in-house development. Lots of people have told me to develop in-house when it's faster, cheaper, and/or better.

Quite honestly, I don't buy the "faster or cheaper" arguments, which are essentially tactical or operational concerns. If developing in-house isn't better, I think you ought to get rid of it. It's too risky and too management-intensive if you aren't getting a big win out of the exercise. So I only have tactical reasons to avoid in-house development.

I'd appreciate as much feedback as I can get, so please download a copy and let me know what you think. And if you're in Toronto the evening of the 30th, please come out to the meeting. I'd love to see you there.
 

Comments on “Build, Buy, or Something In-Between?:
I doubt I'll get much debate when I say that product development is risky. Analysis of in-house capability might make the decision a little more comfortable, but it doesn't eliminate the risk. You might also want to touch on what to do when things go bad. Specifically, does the product development plan include an exit strategy? Are there well defined criteria for when it is appropriate to halt a project and cut the losses? Is the product developer capable politically and socially of pulling the plug, or has it tied peoples' careers, reputations, and bonuses too tightly with success? My experience is that people will ride these things into the ground, even when the evidence of failure should be obvious. If you can't be objective, if you don't want to consider the possibility of failure, or you simply can't afford to gamble, in-house capability becomes far less significant.
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /