A stakeholder is anyone who is impacted by the outcome of the project. This can be either in a positive or negative way. These are the people who have some sort of stake in the outcome of the project. It normally includes people like clients, internal sponsors, employees, management, suppliers etc.
As a small business goes on to implement CMMI, it sees clearly that customer is identified as one of stakeholder but not the only one though, there are other stakeholders in the projects as well that are equally important. It may seem that CMMI does not explicitly mentions things like “Customer Satisfaction†and “Voice of Customer†which are prevalent in other frameworks like ISO and Six Sigma. This people feel that implementing CMMI will increase overheads while not doing anything for the customer directly. For a small business, this is a dreadful scenario!
I think the whole thing is being misrepresented or misunderstood. Here is why:
Although CMMI does not tells that you should keep your customer happy, but it asks you to define the flow of activities that is used to create the service or product that you are offering to the customer.
So it may be a case that a customer value great looking design but look at the value chain – The requirements of web design must be captured by the project manager first. While capturing the requirement, the primary stakeholder for the project manager will be the designer and not the customer himself.
Another example, think about quality and timeliness of delivery. This is something that is important to most of the customers. Now if the project lifecycle consists of analysis, design, coding, testing and delivery then the each subsequent phase relies on timeliness and quality of the deliverables of its previous phase. If one phase has poor quality or is delayed then it will affect all previous phases as well. Thus, the primary stakeholder for the analyst is the architect who will do the architecture, for the architecture it may be the developer will do the coding and for the developer it might be the tester.
Now, if the developer thinks that in order to please the customer, he should work fast and in the process he introduces several bugs. Now, if the tester also thinks the same and does not do thorough testing then customer will get a buggy delivery or otherwise, the developer will have to do a lot of rework and bug-fixing which will delay the delivery. In both scenarios, I don’t see a happy customer!
I think CMMI talks about this “value chain†which leads to customer satisfaction rather than talking about “customer satisfaction†first then not defining means to achieve it.
If this “value chain†is not defined properly then it may be possible for the organization to satisfy some customers in some situations but it will not be possible to satisfy all customers. CMMI makes sure that everyone knows how their job connects to other jobs in making the deliverables.
To conclude, CMMI does not say that customer is not important, it however talks about that chain of practices, deliverables and mutual dependencies which allow an organization to deliver customer satisfaction project after project.