Michael E. Porter's Competitive Strategygreenspun.com : LUSENET : Joel on Software : One Thread
Buried in "Competeitive Strategy" is a bit on "value chains" that I've found extremely useful for understanding business processes.
I think it's a great antidote to Business Analysts who think that documentation with use cases is the road to optimisation. (Here I must confess a bias from a shameful past - I used to perform "process re-engineering" before it became discredited. Earlier I also supported the application of Porter's theories to New Zealand's economic policies - another discreditied exercise sadly!)
Basic message from the Porter value chain for any activity, task, etc is that if the consumer of the final product won't pay for that activity's contribution to that final product then, at best that activity is overhead, at worst it's redundant or even counter-productive. I've read the Greenspun discussion on use cases. I've nowhere near the experience of some contributors, but my limited experience suggests the good ol' 80:20 Pareto rule works here - you get 80% of the benefit of use cases with the first 20% of use case analysis. After that, where're you going to spend your time and $$$ - documenting or optimising??
I've also found that Porter's value chain helps show BA's and top management the difference between user needs and business needs. Use cases can be great for clarifying user needs (and you want people to use your application!), but the value chain is great for clarifying and constructing the business case.
-- Anonymous, June 04, 2001
It's interesting that you bring up Michael Porter. He is the Donald Knuth of Business. More programmers should read his books.
I have to disagree with Joel's concept of converting capital to code as a basis for a company, even if you decide you want to have a programming company rather than a software company.
Joel's idea of building the company around the core competency of programming would only be part of a complete Porter-inspired competitive strategy. Being good at programming doesn't negate the importance of analyzing the industry structure and then formulating a strategy that will give you a competitive advantage over competitors.
Joel's many examples of copy-cat technology companies indicate that there were very low "barriers to entry" for these markets, but focusing on better programming doesn't get you out of this problem. If you apply the best programmers to a free-diskpace.come problem, it doesn't change the fact that it's easy for new competitors to come along. You still have to choose the specific problems you want to solve, and you're better off doing a full "five forces" analysis and choosing your projects wisely than taking whatever projects come along and relying on superior programming ability.
Any casual reader of Michael Porter would cringe at Joel's suggestion that "you should basically subordinate all other problems to focusing on keeping the factory humming." Porter offers far too many examples of companies that had very good strengths and yet failed miserably because they did not have a good competitive strategy.
While the case of Microsoft applies to Joel's analysis of their strength in recruiting and retaining good programmers, it also applies to a broader analysis using Porter's ideas. While Microsoft certainly has many talented programmers, the company is far better known for its superior marketing than for it's superior programming. Ironically, many of the most successful Microsoft products are technically inferior to competing technologies. They succeed because of strategy rather than excellent programming. (consider Windows 95 vs. OS/2, Windows NT/2000 vs. Unix)
Microsoft's most profitable software, the Office applications, were not nearly so successful until they were integrated. The common interface and interoperability of the integrated applications created value that couldn't be matched by Microsoft's competitors. By the time the competition offered integrated suites, Microsoft had already won a huge marketshare lead, which they then defended by making the file formats of successive versions of Office incompatible with the competing products, making it difficult for customers to easily switch between competing products. None of this has to do with superior programming.
I agree with the basic skepticism many programmers have of the competence and utility of Venture Capitalists, marketing managers, and all other non-programmers working in the software industry. But the failure of many MBA's to practice what they were taught in business school does not mean that the theories are wrong. Michael Porter is a voice of reason in an industry of soothsayers and snake oil salesmen. He should be on the reading list of programmers.
-- Anonymous, June 05, 2001