Sunday, August 16, 2009

Fred Brooks On COBOL's Success

(~00:53:00) Question: In your slide on the conceptual integrity examples you made a passing reference to the ones on the left were not the ones with the fan clubs, but in many cases were the successful products. Given that, just how much value is there in the conceptual integrity if the successful products don't need it ?

Fred Brooks: Now, well, look, let's take COBOL - there were very strong forces to make COBOL market successful that had nothing to do with it's excellence. COBOL is a language, it was written, it was designed to be read, not written. It was designed so that bosses could see, could understand the code that people were writing. It is a committee design. It does not have conceptual integrity. But it had the department of defense mandating it, and so talk to me about market success when you have a DOD mandate when DOD is big customer. So there are many other factors other than the inherent excellence of the product to determine the whether it's a market success

(via podcast of Fred Brooks' keynote "Collaboration and Telecollaboration in Design" at OOPSLA 2007 )

Also at around 20:35:

Fred Brooks: How many people ever got delight from COBOL ?

Update (18'Aug 2009): The question seems to be motivated by a slide that has a table from the twentieth anniversary edtion of 'The Mythical Man Month'. Quote from the book (page 202):

A little retrospection shows that although many fine, useful software systems have been designed by committees and built by multipart projects, those software systems that have excited passionate fans are those that are the products of one or a few designing minds, great designers.

Fig. 16.1 Exciting Products (page 203)


Tuesday, August 11, 2009

IT Startups And The Immature Indian Market

There's lot of hand wringing over the lack of "real" startups in India. Most of the arguments totally miss the point that the market for technology products is barely incipient in India. Ashish Gupta nails it:

Ashish Gupta, Managing Director, Helion Advisors Pvt Ltd, feels it is difficult to sustain a company that sells technology because there isn’t a good enough market for technology in the country. Also, customers often prefer to buy solutions from established multinational companies rather than from an indigenous start-up.

‘Why should I buy IT from a start-up and add more risk to my business,’ is what many buyers ask, says Gupta. However, companies that sell services based on technology have far better chances of success in the Indian market, he adds.

(via The Hindu Business Line)

Related: Why Developing Software for Indian Companies is Not Easy

Why Google Owns Wave

If you make it so complicated nobody else understands what you're doing, you own it.
- Dave Winer during a discussion of Google Wave during a 'Bad Hair Day' podcast

Compensating Users of Social Networking Sites

It's amazing how little discussion there is about compensating users of social networking sites for user generated content, community activity, the free marketing via blog posts, tweets, etc - the primary response generally is to point out that the people running the site are not the only ones benefiting from it; Why would the user stick around if it was not a gainful or enjoyable experience in some way ?, and so on. I still remember feeling a bit peeved when reddit was taken over by Conde Nast - I was an early user and though my contribution was nothing earth-shaking , I couldn't help feeling that it was unfair. Dave Winer wonders why user's can't be compensated during a 'Bad Hair Day' podcast (~26:35) :
Take a guy like Scoble who pours his heart and soul into these products when when he really gets into it, why didn't a guy like that not get any upside. Why only employees of the company ? Why can't a user gets some stock ? I don't actually see why not.

Thursday, August 06, 2009

Paul Graham On Two Kinds of Programmers and Painters

In the world of painting there are some people who are just fabulously talented at drawing. They can sit down, these are like the kids who could draw in high school age fifteen they can sit down with a pencil ... sit in front of you ... wow, it looks just like me. But then when you say to these guys, "ok, use this amazing skill to just produce anything, just put it on the wall it's going to look great and then they lose". And within programming there is this distinction too. There are some people who are really really good at implementing code like if you give them a spec for a programming language and man, they will just implement it; The hardest stuff as long as you tell them precisely what to do, they will just do it. But you say, "ok, make up a product, make up some kind of new product that people want", and they are just utterly lost. This is actually a big mistake that companies make. There's a lot of companies who think that the programmers are basically implementers, that products are supposed to be designed by product managers. They are supposed to be designing what the products do. And they make mockups or something like that and they hand it to the programmers and the programmers translate their ideas into code. Like this one way process, no loopback - that loses! The best programmers are the ones that combine in one head both the ability to translate ideas into code and having the ideas. Just like the best artists have both the ability ... (have) a great hand. They can make their hand do what they want. But they also know what to tell it to do and actually between the two, I would take the Cézannes. Cézanne could not draw, he makes the same drawing mistakes that every one makes in introductory drawing classes. Occam's razor said he couldn't draw, not that he was trying to transcend three dimension ... But what he was good at was sort of the other half - deciding what to produce. He was terribly frustrated he was like this guy who had all kinds of ideas, but he couldn't articulate them with his hand. When you put the stuff on the wall in a room full of other paintings, it looks like there's a spotlight shining on his paintings and other ones have been sprayed with a light coating of mud. It's just amazing when you look at side by side paintings. So I will take the Cézannes actually and one interesting thing that has been happening is because programming languages have gotten so powerful you don't have to be that good an implementer to get something built.
- Paul Graham in an interview with Russ Roberts (~45:30-48:25)