This is a question I frequently used to ask our new inductees. Invariably the answers gave one of the company's customer.
Whoever uses a team member's output is that team member's customer. If the member has written a class, then any other member who uses that class is a customer. If the customer has problems in using the class it must be treated as a "customer" complaint, attended to promptly, and the root cause found and rectified. The customer is not to be lectured and told as to how he can change his code.
If the code is hard to understand, or not well documented, or with incomplete unit tests, then the customers (those who will review the code) are being treated badly.
Then there are people who will maintain the code long after you are gone; they too are your customers.
Growing and nurturing such an attitude is a defining part of team and company culture.
Kaizen: The Key To Japan's Competitive Success. (I have the international Edition of 1991.) On page 51 it has a sub topic, "The Next Process Is The Customer". Then on page 135, while describing cross functional management at Toyota - "The overriding goal is to never inconvenience downstream customers."
There is a lot that software companies can learn from Toyota.
No comments:
Post a Comment