Tôi đã nhận được nhiều emails liên quan tới bài báo tôi viết về cải tiến qui trình dùng CMMI. Dường như vẫn có các ý kiến khác nhau về việc thực hiện nó.

Các nhà tư vấn biện hộ rằng điều đầu tiên cần làm là có đánh giá để xác định mức độ trưởng thành của công ti. Bằng việc biết mức độ của công ti, nhà tư vấn có thể giúp phát triển kế hoạch cải tiến cho nên công ti có thể chuyển sang mức tiếp. Các công ti đào tạo không đồng ý và nói rằng điều đầu tiên phải được thực hiện là có đào tạo về CMMI cho người phát triển để cho họ có thể hiểu và thực hiện hoạt động cải tiến. Mặc dầu cả hai là những hoạt động cần thiết nhưng chúng phải không được thực hiện trước. Tôi tin rằng thu được cam kết từ người chủ công ti phải là điều đầu tiên và là quan trọng nhất. Bất kì cải tiến nào mà không có cam kết từ người quản lí cấp cao sẽ không bao giờ có tác dụng.

Lí do các nhà tư vấn nhấn mạnh vào việc có đánh giá trước hết là vì đó là cách họ làm tiền. Đánh giá điển hình tốn nhiều tiền ($20,000 USD tới $ 40,000 USD) để cho công ti biết nó đang ở đâu trên các mức CMMI nhưng đó chỉ là hoạt động đầu tiên. Lập kế hoạch cải tiến thêm yêu cầu phí phụ thêm. Có nhiều hoạt động tư vấn hơn cần phải đi theo nơi công ti phải tiếp tục trả tiền trước khi nó có thể cải tiến. Một số công ti đào tạo chủ trương đào tạo CMMI trước bởi vì họ làm tiền theo cách đó nữa. Một lớp CMMI căn bản có thể tốn $10,000 USD hay hơn nhưng nó chỉ là chi phí đầu tiên. Có nhiều đào tạo hơn được cần tới về sau. Bằng việc đi theo những lời khuyên đó, công ti phải chi nhiều tiền trước khi họ có thể cải tiến được cái gì. Do đó, điều quan trọng là người chủ công ti hiểu mọi bước cần thiết về cải tiến qui trình.

Trước khi bắt đầu cải tiến qui trình người chủ công ti cần trả lời những câu hỏi sau: “Tại sao bạn quan tâm tới việc dùng CMMI? Tại sao bạn muốn cải tiến qui trình? Lí do gì bạn muốn thay đổi cách công ti của bạn phát triển phần mềm? Bạn có sẵn lòng đầu tư vào con người riêng của bạn không? Bạn có cam kết làm cho mọi sự xảy ra trong công ti củ bạn không? Bạn có biết rằng cải tiến qui trình là cuộc hành trình dài không? Bạn có sẵn lòng quyết tâm theo đuổi trong nhiều năm các hoạt động cải tiến để đạt tới kết quả mong muốn không? Chừng nào bạn chưa thể trả lời được những câu hỏi này một cách trung thực, bạn KHÔNG nên bắt đầu cải tiến qui trình. Tất nhiên, nếu mọi điều bạn muốn là mảnh gấy “chứng nhận CMMI” thì tôi không có bình luận thêm gì nữa. Không cần thảo luận thêm nữa.

Người chủ công ti phải hiểu rằng “cải tiến thực” là cuộc hành trình dài. Nó có nhiều chướng ngại, nhiều vấn đề, và không có quyết tâm mạnh để đi theo mọi cách, nó sẽ không thành công. Nếu dự án của bạn có nhiều lỗi, nếu dự án của bạn không đáp ứng lịch biểu, nếu công ti của bạn có nhiều việc thay người phát triển, nếu công ti của bạn mất tiền và mất khách hàng thì cải tiến qui trình là lí do tốt. Nếu bạn muốn mở rộng doanh nghiệp của bạn từ địa phương ra toàn cầu, muốn xây dựng danh tiếng tốt là công ti có chất lượng, thiết lập “tên hiệu” cho công ti của bạn thì cải tiến qui trình cũng là lí do tốt. Nếu bạn muốn công ti của bạn có những người phát triển giỏi với kết quả dự án tốt thì cải tiến qui trình là lí do tốt. Nếu bạn muốn có lợi nhuận, làm nhiều tiền hơn trước đây thì cải tiến qui trình cũng là lí do tốt. Tuy nhiên, bạn phải kiên nhẫn và quyết tâm làm cho nó xảy ra, không phải trong một năm, không phải trong hai năm, mà liên tục bởi vì cải tiến không bao giờ dừng lại.

Nền tảng của cải tiến dùng CMMI là mối tương hỗ giữa qui trình, sản phẩm và kết quả doanh nghiệp. Qui trình tốt phải mang tới sản phẩm tốt và sản phẩm tốt phải mang tới kết quả doanh nghiệp tốt. Tuy nhiên, nhiều người chỉ hội tụ vào việc có “qui trình” mà không tính tới sản phẩm và kết quả doanh nghiệp. Điều làm tôi ngạc nhiên là người chủ công ti để cho điều đó xảy ra theo cách đó. Tại sao mọi người chỉ muốn có chứng chỉ mà không có kết quả thực nào? Tại sao mọi người muốn “quảng cáo” cái gì đó mà họ thậm chí không biết? Họ có biết rằng “quảng cáo giả” có thể đem tới kết quả thảm hoạ không? Khi một công ti đạt tới chứng nhận CMMI Mức 5, người chủ có thấy thay đổi gì so với năm trước không? Bao nhiêu dự án đã đạt tới chất lượng cao, đáp ứng mục tiêu chi phí và thời gian? Lỗi trung bình trong công ti là gì? Phần trăm dự án đáp ứng lịch biểu là gì? Doanh nghiệp có tăng lên không? Công ti có nhiều khách hàng hôm nay hơn vài năm trước không? Thu nhập có tăng lên đáng kể không so với vài năm trước?

Tôi tin rằng đánh giá CMMI chính thức là tiêu chí cho tính hợp thức, chính xác, cộng tác, nhất quán, và đủ là cách rất tốt để hiểu những điểm mạnh và điểm yếu của công ti của bạn. Tôi cũng tin đào tạo CMMI là có giá trị để giúp người phát triển biết nhiều hơn về qui trình phần mềm. Tuy nhiên, không có quyết tâm mạnh của người chủ công ti tôi tự hỏi điều gì sẽ xảy ra? Cái gì sẽ xảy ra cho người phát triển, người tin rằng công ti sẽ cải tiến rồi chẳng thấy gì xảy ra? Cái gì sẽ xảy ra khi mọi người thấy nhiều lần cải tiến bị thất bại? Họ mất niềm tin của họ vào cấp quản lí thì cái giảy ra cũng chẳng thành vấn đề, công ti sẽ không bao giờ có khả năng cải tiến cái gì.

Trước khi tham gia vào cái gì đó tốn kém và yêu cầu nhiều nỗ lực, bạn có thể cần trả lời những câu hỏi này một cách trung thực trước khi nhảy vào cái gì đó bạn có thể hối tiếc về sau.

—-English version—-

Process Improvemen​t: Questions to ask

I have received several emails regarding articles that I wrote about process improvement using the CMMI. It seems there are still different opinions about implementing it. Consultants advocate that the first thing to do is having an appraisal to determine the maturity level of the company. By knowing the level of the company, consultants can help develop improvement plan so the company can move to the next levels. Training companies disagree and claim that the first thing should be done is having CMMI training for developers so they can understand and implement improvement activities. Although both are necessary activities but they should not be done first. I believe that obtaining commitment from company owner should be the first and the most important. Any improvement without commitment from senior managers will never work.

The reason consultants emphasize on having an appraisal first because it is how they make money. Typical appraisal costs a lot of money ($20,000 USD to $ 40,000 USD) in order for the company to know where it is on the CMMI levels but that is only the first activity. Additional improvement planning requires additional fees. There are more consulting activities to follow where company must continue to pay before it can improve. Some training companies advocate CMMI training first because they make money that way too. A basic CMMI training class could cost $10,000 USD or more but it is only the first. There are more training needed afterward. By following those advices, company has to spend a lot of money before they can improve anything. Therefore, it is important that for company owner to understand all necessary steps about process improvement.

Before starting process improvement company owners need to answers following questions: “Why are you interested in using the CMMI? Why do you want to improve the process? What are reasons that you want to change the way your company develop software? Are you willing to invest in your own people? Are you committed to make things happen in your company? Do you know that process improvement is a long journey? Are you willing to commit many years in improvement activities to achieve the desire results? Unless you can answer these questions honestly, you should NOT start the process improvement. Of course, if all you want is a “CMMI certificate” paper then I have no more comment. There is no need to discuss any further.

Company owner must understand that “Real improvement” is a long journey. It has many obstacles, many problems, and without strong commitment to go all the way, it will not succeed. If your projects have many defects, if your projects do not meet schedule, if your company have high turnover of developers, if your company is losing money and losing customers then having process improvement is a good reason. If you want to expand your business from local to global, want to build a good reputation as a quality company, establish a “Brand name” for your company then process improvement is also a good reason. If you want your company to have the best developers with good project results then process improvement is a good reason. If you want to be profitable, make more money than before then process improvement is also a good reason. However, you must have patient and commit to make it happens, not in one year, not in two years, but continuously because improvement never stop.

The fundamental of improvement using the CMMI is the correlation between process, product, and business result. Good process must bring good products and good product must bring good business results. However, many people only focus on having “process” without the product and business results. This has surprised me that company owners let it happens that way. Why people only want to have a certificate without any real results? Why people want to “advertise” something that they do not even know? Do they know that “False advertising” could bring disaster results? When a company achieves a CMMI Level 5 certificate, does the owner see any changes from last year? How many projects have achieved high quality, meet costs and time objectives? What are the average defects in the company? What is the percentage of project that meet schedule? Does the business increase? Does company have more customers today than few years ago? Is revenue increase significantly in the past few years?

I do believe that a formal CMMI appraisal with its criteria for validity, accuracy, corroboration, consistency, and sufficiency is very good way to understand your company strengths and weaknesses. I also believe CMMI trainings are valuable to help developers know more about software process. However, without a strong commitment of company owner I wonder what would happen? What would happen to developers who believe that the company will improve then see nothing happen? What will happen when people see so many times improvement failed? They lose their faith in management then no matter what happen, the company will never be able to improve anything.

Before engage into something expensive and require a lot of efforts, you may need to answer these questions honestly before jumping into something that you may regret later.