My job description is that I help my customers help their customers help their customers.
It appears
cool, but sometimes I forget whose side I am on, or whose interests I must
represent.
Once (1995, Software Development, San Francisco), I argued with Dr. Ivar Jacobson (Bio - books) -- the genius who gave us Use Case, and UML, on the definition of a customer. Jacobson, in his Business Process Reengineering Workshop was advocating a customer centered software development process, and defined a customer as someone who pays you money. Of course, he is right, but my point of contention was that he couldn't generalize that definition, and that he was leaving out the actual users (who may or may not be paying) out of the process.
Take the classic case of breakfast cereals (example courtesy of Gary Coker). The children eat them, but it is the mothers who buy them. As a cereal maker, whom should I target? Make the cereal very sweet, chocolaty and hope the kids will ask their moms to buy it? or make it very fibrous, healthy, and cheap and make them appeal to the moms?
Software is indeed such a business. The people who use the software are not always the ones who buy them or pay for them. Therein lies the complexity, and the opportunity.
But software is much more than a form of business. It is a religion to some (like many in the Open-source paradigm), a hobby to many, and I often encounter moral dilemmas, because defining just who is the customer has become so hard.
Sometimes I reverse the situation to find a way out.
Am I a Yahoo customer? I'd like to think so, but does Yahoo treat me as a customer? Am I a Google customer? I haven't paid them a red penny... If I were a vendor to Yahoo, are Yahoo's customers, my customers? What about AOL, who take my money and still don't treat me as a customer ( I have written to the Better Business Bureau about that)!? Is Walmart a customer of Coke or Coke is a customer of Walmart? Who is the customer for a professional writer? The publisher, the book-store, or the reader? or the library?
Then I get lost hopelessly, and I go back to Jacobson's simple definition.
![]()
