Tôi đã nhận được nhiều email hỏi về việc dùng CMMI cho cải tiến qui trình. Tôi đã viết nhiều bài trên website này, cho nên xin xem lại chúng. Khi mọi người nghĩ về cải tiến qui trình, họ phải cân nhắc ba cấu phần: qui trình, con người và công cụ.

Ba cấu phần này đóng vai trò quan trọng trong xác định các kết quả cải tiến qui trình sẽ thành công thế nào. Công ti cần các qui trình được xác  định rõ để phát triển phần mềm. Công ti cần công cụ để hỗ trợ cho qui trình của họ và làm cho các hoạt động phát triển hiệu quả hơn. Tuy nhiên, công ti phải nhận ra rằng chính người của họ làm việc đó bằng cách tuân theo qui trình, và dùng công cụ. Do đó, nếu bạn muốn cải tiến, cách tốt nhất là hội tụ vào nhân viên của bạn vì họ chịu trách nhiệm cho thành công hay thất bại của nỗ lực cải tiến của bạn.

Nhiều người thường hỏi tôi về các mức CMMI và việc đánh giá. Như tôi đã nhắc tới trong các blog trước đây, mức là vô nghĩa nếu nó không đem tới kết quả thực. Đánh giá chỉ là việc kiểm điểm về năng lực của công ti so theo một chuẩn như CMMI. Điều quan trọng cần hiểu rằng cải tiến thực tới cùng với các nhân viên. Phần lớn vấn đề ở CMMI mức thấp thực sự là vì thiếu tri thức và kĩ năng cho nên bạn có thể làm tốt bằng việc chú ý tới các khu vực này. Vấn đề chính trong CMMI mức thấp KHÔNG phải là vấn đề kĩ thuật mà là vấn đề hành vi, thói quen xấu, do thiếu tri thức. Người phát triển bỏ qua thiết kế và vội vàng viết mã là một ví dụ về thói quen xấu. Người quản lí ra lệnh cho tổ bỏ qua kiểm thử là ví dụ khác về hành vi xấu. Người quản lí dự án ước lượng lịch biểu dự án bằng chọn lựa ngày tháng tuỳ tiện dựa trên trực giác riêng của người đó hay dựa trên yêu cầu của khách hàng là ví dụ về thiếu tri thức. Công việc phần mềm KHÔNG phải là công việc công nghệ mà là công việc xã hội vì không ai làm việc một mình. Làm việc tổ là quan trọng thế trong phát triển phần mềm nhưng xung đột cá nhân, ghen tị nội bộ, không chia sẻ thông tin, cung cấp dữ liệu sai tất cả đều là hành vi xấu cần phải thay đổi.

Trong các mức CMMI cao hơn, người phát triển bao giờ cũng làm việc trong tổ, họ có vui đùa và thực hiện hiện hết khả năng của họ vì làm việc tổ là mọi thứ. Đó là lí do tại sao họ ở mức cao hơn. Đó là lí do tại sao những người phát triển này làm việc cùng nhau để vượt qua chướng ngại. Đó là lí do tại sao không có anh hùng cá nhân mà chỉ có “tổ”. Nếu công ti của bạn đã có đánh giá CMMI, bạn có lẽ biết rằng chừng nào công ti của bạn còn chưa được đánh giá ở CMMI mức 4 hay 5, nhiều vấn đề mà bạn đã đương đầu vẫn là vấn đề con người. Bạn phải giải quyết với những vấn đề này vì chúng là nền tảng cho mọi công việc cải tiến. Chẳng hạn, nếu người phát triển của bạn phải hoàn thành dự án dựa trên “lịch biểu không hiện thực” hay làm việc trong môi trường cho phép nhiều xung đột cá nhân thế, nhiều tranh cãi thế, nhiều vấn đề cá nhân thế, bạn có cho rằng họ có thể cải thiện được qui trình và phát triển sản phẩm chất lượng không?

Nếu bạn không thể giúp được cho nhân viên của mình giải quyết các vấn đề này, nếu bạn không thể thuyết phục được họ rằng bạn có thể giúp cho họ giải quyết các vấn đề này, nỗ lực cải tiến của bạn sẽ thất bại. Nếu bạn không chăm nom về cải tiến thực mà chỉ muốn có chứng chỉ thì bạn đang trả quá nhiều tiều cho một mảnh giấy. Nhiều người chủ mơ ước có một chứng chỉ để cho họ có thể trưng ra trong văn phòng và website của họ, nhiều người tin rằng khách hàng sẽ thấy điều đó rồi lập tức muốn làm kinh doanh với họ. Một số nhà tư vấn có lẽ còn khuyên họ cái gì đó tựa như thế. Một số người tin chứng chỉ là tấm vé để có được nhiều kinh doanh. Xin nhớ cho rằng không khách hàng nào sẽ tin bạn, không người nào sẽ cho bạn hợp đồng vì bạn có “chứng chỉ” giấy rằng công ti của bạn là CMMI mức 5. Các công ti toàn cầu chỉ làm kinh doanh và kí hợp đồng sau khi họ kiểm điểm kĩ càng công ti của bạn. Họ sẽ tiến hành đánh giá riêng của họ để xác định liệu bạn có kĩ năng và tri thức chuyên gia miền sánh được với nhu cầu của họ không. Nếu bạn công bố CMMI mức 5 nhưng kiểm điểm của họ thấy rằng công ti của bạn chẳng là gì ngoài CMMI mức 1 nhưng “giả vờ” là CMMI mức 5 thì điều đó có nghĩa là bạn KHÔNG trung thực và không thể tin cậy được. Trong trường hợp đó, bạn có cho rằng họ sẽ kí hợp đồng với bạn không?

Cải tiến qui trình phải bắt đầu bằng viễn kiến, quyết tâm và tri thức. Nó là cuộc hành tranh lâu dài và khó khăn. Sẽ phải mất nhiều năm để đi tới đích. Tuy nhiên người chủ công ti đầu tư vào nhân viên của riêng họ sẽ không đi một mình. Người đó sẽ có toàn thể tổ chia sẻ viễn kiến của người đó, quyết tâm của người đó và sẵn lòng làm việc cần mẫn để đi tới đích. Cùng nhau họ sẽ đi và qua thời gian, họ sẽ đến đích.

—-English version—-

The CMMI journey

I have received several emails inquiring about the use of CMMI for process improvement. I have written many articles in this website, so please review them. When people think of process improvement, they must consider the three components: process, people, and tools. These three components play an important in determining how successful the process improvement results will be. Company needs a well-defined processes to develop software. Company needs tools to support their process and make the development activities more efficient. However, company must realize that it is their people that do the work by following the process, and use the tools. Therefore, if you want to improve, the best is to focus on your employees because they are responsible for the success or failure of your improvement effort.

Many people keep ask me about the CMMI levels and the appraisal. As I mentioned in previous blogs, a level is meaningless if it does not bring real result. An appraisal is only a review of a company’s capability against a standard such as the CMMI. It is important to understand that real improvement comes with the employees. Most issues in low level CMMI are really about the lack of knowledge and skills so you can do well by paying attention to these areas. The major problems in CMMI lower levels are NOT technical but bad behavior, bad habit, due to lack of knowledge. A developer skips design and hurry to write code is one example of bad habit. A manager orders the team to skip testing is another example of bad behavior. A project manager estimates project schedule by select an arbitrary date based on his own intuition or customer request is an example of lack of knowledge. Software work is NOT technological work but social work because nobody works alone. Teamwork is so important in software development but personal conflicts, internal jealousy, not sharing information, provide wrong data are all bad behavior that must change.

In higher CMMI levels, developers always work in team, they have fun and perform at their best because teamwork is everything. That is why they are at higher levels. That is why these developers work together to overcome obstacles. That is why there is no individual hero but only “the team”. If your company already had a CMMI appraisal, you probably know that unless your company was appraised at CMMI level 4 or 5, many problems that you encountered were people issues. You must deal with these issues as they are foundations for all the improvement work. For example, If your developers must complete projects based on “unrealistic schedules” or work in an environment that allows so many personal conflicts, so many arguments, so many personal issues then  do you think that they could improve the process and develop quality products?

If you cannot help your employees solve these problems. If you cannot convince them that you can help them solve these problems, your improvement effort will fail. If you do not care about real improvement but only want to have a certificate than you are paying too much for a piece of paper. Many owners dream of having a certificate so they can display in their offices and websites, many believe that customers will see that then immediately want to do business with them. Some consultants will probably advise them something like that. Some people believe the certificate is the ticket to get more business. Please remember that no customer would believe you, no one would give you a contract because you have a paper “certify” that your company is a CMMI level 5. Global companies only do business and sign contracts after they thoroughly review your company. They will conduct their own assessment to determine whether you have the skills and the domain expertise that match their needs. If you claim a CMMI level 5 but their review find that your company is nothing but a CMMI level 1 but “pretend ” to be a CMMI level 5 then it means that you are NOT honest and cannot be trusted. In that case, do you think they will sign a contract with you?

Process improvement must start with the vision, the commitment and the knowledge. It is a long and difficult journey. It will take several years to get to the destination. However a company owner that invests in their own employees will not travel alone. He will have an entire team that share his vision, his commitment and willing work hard to get to the destination. Together they will travel and over time, they will get to the destination.