07 Jan, 2021
CMMI-5
Hỏi: Tại sao một số tổ chức rất thành công trong cải tiến phần mềm và số khác lại không thành công? Chúng ta có thể học cái gì từ những bài học này?
Đáp: Dựa trên dữ liệu nghiên cứu tôi đã thu thập từ thành công và thất bại trong thực hiện cải tiến qui trình, tôi thấy rằng phần lớn thất bại có thể tránh được nếu cấp quản lí tổ chức tuân theo bản lộ trình hay mô hình IDEAL. Gần như tất cả các tổ chức thành công, đạt tới mức trưởng thành cao hơn, đều tuân theo bản lộ trình này một cách nhất quán. Cũng như vậy, phần lớn các tổ chức thất bại đã bỏ qua ít nhất một hay hai pha của bản lộ trình này.
Bản lộ trình cải tiến qui trình phần mềm – Software Process Improvement (SPI) hay mô hình IDEAL bao gồm các pha sau:
(1) Khởi đầu:
Nhận diện nhu cầu cải tiến và gióng thẳng chúng với chiến lược doanh nghiệp
Thu được cam kết cải tiến từ quản lí cấp cap
Thiết lập kết cấu nền để phối hợp và tạo điều kiện thuận lợi cho cải tiến
(2) Chẩn đoán:
Tiến hành thẩm định và thiết lập tuyến cơ sở đo
Nhận diện điểm mạnh và yếu của tổ chức
(3) Thiết lập:
Lập kế hoạch hành động cải tiến
Thiết lập cơ chế điều phối để theo dõi hoạt động cải tiến
(4) Hành động:
Thực hiện hành động cải tiến theo từng bước nhỏ tuân theo các giai đoạn: Xác định, Thử nghiệm, Tinh chỉnh, và Thể lệ hoá
Đo các hoạt động cải tiến để đảm bảo rằng chúng gióng thẳng với chiến lược tổ chức và cung cấp giá trị cho doanh nghiệp.
(5) Thúc bẩy hay học tập:
Thúc bẩy thành công và ổn định môi trường
Học từ thất bại và đánh giá kế hoạch cải tiến hiện thời
Cập nhật kế hoạch cải tiến và chia sẻ thông tin
Đo tiến bộ hướng tới mục đích cải tiến
Đổi mới trách nhiệm quản lí
Quay trở lại pha 1 – Khởi đầu
Với bản lộ trình này (mô hình IDEAL) được xác định rõ và dễ hiểu, nhiều tổ chức vẫn không theo nó. Dựa trên dữ liệu thu thập được từ các tổ chức thất bại trong cải tiến, tôi thấy nhiều lí do:
Lí do #1: “Chúng ta không cần thẩm định chừng nào chúng ta ít nhất vẫn còn ở mức 2.”
Logic:
“Chúng ta bỏ qua thẩm định để tiết kiệm thời gian và tiền bạc.”
“Chúng ta biết chúng ta ở mức 1, vậy sao phải thẩm định?”
Vấn đề:
Những người này đã bỏ sót sự kiện là việc gán mức trưởng thành KHÔNG phải là lí do cho thẩm định. Không có thẩm định chính thức, không dễ đồng ý về vấn đề nào hay bài toán mấu chốt nào cần giải quyết. Vì họ phí thời gian quí giá để cãi nhau về phải làm gì, nên chẳng cái gì được làm và việc cải tiến không xảy ra.
Lí do #2: “Người sai thực hiện cải tiến qui trình”
Logic:
“Những người có kĩ năng cao được cần tới để làm những việc quan trọng. Bất kì người nào cũng có thể làm việc cải tiến qui trình được”
Vấn đề:
Cấp quản lí thiết lập kết cấu nền bao gồm những người có thể không có kĩ năng và động cơ đúng cho việc cải tiến qui trình. Họ thường đọc vài cuốn sách, dự vài hội nghị và nghĩ rằng họ đã hiểu cách thực hiện nó. Vì họ đọc nhiều sách, họ có xu hướng hội tụ vào việc viết kế hoạch, đề án và thủ tục tài liệu nhưng không dành thời gian giải quyết các vấn đề gay cấn với dự án phần mềm hay hỗ trợ cho người hành nghề bằng việc huấn luyện họ theo qui trình. Do đó, cải tiến trở thành gần như bài tập về làm tài liệu chứ không phải là cải tiến doanh nghiệp. Tôi tin tưởng mạnh mẽ rằng nếu SEPG không đưa toàn thể tổ chức vào cải tiến qui trình, họ đang không làm việc của mình. Các thành viên của SEPG cần là những người biết trao đổi và là người động viên; họ phải có kĩ năng làm việc của mình. Các thành viên SEPG phải được lựa chọn từ các dự án và từ SEPG về kinh nghiệm và chia sẻ thực hành. SEPG không nên là việc đầu kết.
Lí do #3: “Thu được mức trưởng thành giống như trải qua kì kiểm tra”
Logic:
“Chỉ đổi “KHÔNG” thành “CÓ” trong bảng hỏi CMMI và làm giả và câu hỏi phỏng vấn thì chúng ta có thể làm thành mức trưởng thành cao hơn. Người quản lí của chúng ta nói: “Chúng ta phải đạt tới mức 3 trước tháng tới”
Vấn đề:
Cách tiếp cận này là chỉ theo điểm của mức trưởng thành nhưng không động viên cải tiến thực. Thái độ này không thể lừa được ai hay đạt được cái gì. Bảng hỏi được thiết kế chỉ như cái vào cho việc thăm dò thêm vào qui trình. Có các nhân tố khác như kiểm điểm tài liệu, phỏng vấn, và thảo luận tổ mà phải được hoàn tất trước khi đưa ra việc xếp mức trưởng thành.
Phần quan trọng nhất của thẩm định là để cho các nhân viên thấy phản ứng thấy được của quản lí cấp cao và để nghe phản hồi từ họ về kết quả. Đó là lí do tại sao có yêu cầu quản lí cấp cao phát biểu cam kết của họ với việc cải tiến qui trình lúc bắt đầu và kết thúc thẩm định. Nếu cấp quản lí không quan tâm tới cải tiến thực mà chỉ là mức độ trưởng thành vô nghĩa, bạn có cho rằng mọi người trong tổ chức sẽ thực sự làm việc cần mẫn để làm việc cải tiến xảy ra không?
Lí do #4: “Cứ làm tài liệu nhiều thủ tục vào – cải tiến sẽ tới.”
Logic:
“CMMI yêu cầu làm tài liệu bởi vì qui trình là tài liệu”
Vấn đề:
Cách tiếp cận này nảy sinh trong nỗ lực rất lớn để viết ra các chuẩn và thủ tục tới các mức chi tiết thấp nhất cho nên bạn nghĩ người hành nghề phần mềm được coi là kiên nhẫn chờ đợi những tài liệu này được hoàn thành trước khi họ có thể cải tiến các qui trình của mình sao? Tuy nhiên, làm tài liệu và thủ tục sẽ không dẫn tới cải tiến qui trình; chúng phải được thực hành, thử nghiệm, triển khai, cải tiến và thể lệ hoá.
Tôi tin viết ra các thủ tục mà không có việc tham gia của mọi người trong tổ chức là cũng giống như lái xe mà bị bịt mắt. Để cải tiến, thủ tục phải được dùng, được thử nghiệm, được đo, được chấp nhận, được hỗ trợ, và được thể lệ hoá.
Tôi mạnh mẽ tin tưởng toàn thể tổ chức phải tham gia vào trong các hoạt động cải tiến qui trình. SEPG phảu để những người hành nghề thiết lập các yêu cầu cho thực hiện thay đổi. Vai trò của SEPG là tạo điều kiện thuận lợi và nuôi dưỡng việc cải tiến, không giữ vấn đề trong tay mình hay chỉ là người viết tài liệu.
Lí do #5: “Lập kế hoạch và lập kế hoạch: vòng lập kế hoạch vô hạn”
Logic:
“Chúng ta phải lập kế hoạch xây dựng bản kế hoạch hành động để cho chúng ta có thể lập kế hoạch cải tiến qui trình.”
“Lập kế hoạch là an toàn bởi vì mọi người không thất bại trong lập kế hoạch.”
“Dễ lập kế hoạch hơn thực hiện; dễ nói hơn hành hành động.”
Vấn đề:
Nhiều người làm việc vất vả để lập kế hoạch cho một kế hoạch hoàn thiện, chi tiết, điều cần nhiều tháng hay năm mới hoàn thành. Trong khi đó, chẳng cái gì xảy ra.
Việc lập kế hoạch là cách thức láu cá để trá hình cho thái độ “chống lại thay đổi” và ẩn đằng sau việc thiếu kĩ năng và năng lực trong cải tiến qui trình. Việc lập kế hoạch không phải là hoạt động để SEPG học CMMI. SEPG phải hội tụ vào hành động và họ càng thực hiện sớm thay đổi thì càng tốt. Tôi tin lập kế hoạch không nên mất hơn một tuần. Mọi người học bằng làm, không bằng lập kế hoạch. Lập kế hoạch quá nhiều là sai lầm thông thường.
Kết luận:
Tôi mạnh mẽ tin tưởng rằng tất cả những vấn đề trên nảy sinh bởi vì
(1) Thiếu hiểu biết về các nguyên lí của cải tiến qui trình phần mềm hay ý định của CMMI. Một số người không có kỉ luật tuân theo bản lộ trình đã được xác định rõ như mô hình IDEAL (Initiating, Diagnosing, Establishing, Acting, and Leveraging).
(2) Cải tiến qui trình không áp dụng được trong ngữ cảnh của nghiệp vụ của tổ chức mà bị cảm nhận như gánh nặng thêm để đạt tới mức độ trưởng thành.
(3) Người quản lí quá bận rộn không đề cập tới các vấn đề gay cấn hay không xét các hoạt động cải tiến một cách nghiêm chỉnh.
(4) Thiếu kết cấu nền và kĩ năng để thực hiện cải tiến qui trình. Không ai chịu trách nhiệm về cải tiến qui trình.
(5) Các thành viên SEPG không được kính trọng, không được coi có giá trị gia tăng, hay không được coi có kĩ năng đúng để làm việc của họ.
Hỏi: “Tôi thích đọc các blog của thầy về CMMI nhưng thấy câu trả lời của thầy quá nghiêm chỉnh. Thầy nên thêm chút khôi hài để làm cho mọi sự thú vị hơn cho độc giả.”
Đáp: OK, đồng ý thêm hài hước. John Vu tin rằng bạn nên ra khỏi kinh doanh cải tiến qui trình khi:
1. Bạn quyết định tái tổ chức lại gia đình năm người của mình thành “Lĩnh vực qui trình then chốt”
2. Bạn dạy cho đứa con 4 tuổi của mình về Dịch chuyển mô thức và toàn cầu hoá.
3. Bạn cố giải thích sự khác biệt giữa “qui trình then chốt” và “thực hành then chốt” cho mẹ vợ hay mẹ chồng.
4. Bạn nhấn mạnh rằng thẩm định CMMI là cần trước khi bạn và vợ bạn quyết định sinh con nữa.
5. Bạn hỏi người phục vụ về mức độ trưởng thành năng lực của khách sạn là gì. Bạn có thể phải trả nhiều hơn cho thức ăn CMMI mức 5.
6. Bạn tuân theo các pha của bản lộ trình “Khởi đầu, Chẩn đoán, Thiết lập, Hành động và thúc bẩy” khi viết thư tình cho cô bạn gái.
7. Bạn tin bạn không bao giờ gặp chuyện gì trong cuộc đời mình, chỉ toàn “vấn đề” và “cơ hội cải tiến.”
—-English version—
CMMI-5
Question: Why some organizations are very successful in improving the software and others are not? What can we learn from these lessons?
Answer: Based on research data that I have collected from success and failure in implementing process improvement, I found that most failures can be avoided if the organization management follows the road map or IDEAL model. Almost all successful organizations, which achieve higher levels of maturity, are following this road map consistently. Likewise, most organizations that fail have skipped at least one or two phases of the road map.
The Software Process Improvement (SPI) road map or IDEAL model consists of the following phases:
(1) Initiating:
Identify needs for improvement and align them with a business strategy
Obtain commitment for improvement from senior management
Establish an infrastructure to coordinate and facilitate improvements
(2) Diagnosing:
Conduct an assessment and establish measurement baseline
Identify organization’s strengths and weaknesses
(3) Establishing:
Plan action for improvement
Establish monitoring mechanism to track improvement activities
(4) Acting:
Implement improvement actions in small incremental steps following the stages: Define, Pilot, Refine, and Institutionalize
Measure the improvement activities to ensure that they are in alignment with the organization strategy and provide values to the business.
(5) Leveraging or Learning:
Leverage success and stabilize the environment
Learn from failure and evaluate current improvement plan
Update improvement plan and share information
Measure progress toward improvement goals
Renew management sponsorship
Go back to phase 1 – Initiating phase
While this road map (IDEAL model) is well defined and easy to understand, many organizations are still not following it. Based on data collected from organizations that failed to improve, I found several reasons:
Reason #1: “We do not need an assessment until we are at least at level 2.”
Logic:
“We skip the assessment to save time and money.”
“We know we are at level 1, so why do assessment?”
Problem:
These people overlook the fact that assigning a maturity level is NOT the reason for an assessment. Without a formal assessment, it is not easy to agree on what issues to address or critical problems to solve. Since they waste precious time argue with each other on what to do, nothing can be done and improvement does not happen.
Reason #2: “Wrong people to implement process improvement”
Logic:
“Highly skilled people are needed to do important work. Any available people can do process improvement”
Problem:
Management set up an infrastructure consists of people who may not have the right skill and motivation for process improvement. They usually read few books, attend few conferences and think that they already understand how to do it. Since they read a lot of books, they have a tendency to focus on writing plans, proposal and document procedures but do not spend time solving critical issues with software projects or support practitioners by training them on following a process. Therefore, improvement became mostly an exercise in documentation rather than improving the business. I strongly believe that if the SEPG does not involve the whole organization in process improvement, they are not doing their job. SEPG members need to be communicators and motivators; they must have the skills to do their job. SEPG members must be selected from projects and rotate in and out of SEPG for experiences and sharing practices. SEPG should not be a dead-end job.
Reason #3: “Obtain maturity level is like passing a test”
Logic:
“Just change the “NO” to “YES” in the CMMI questionnaire and fake a few interview questions then we can make the higher maturity level. Our manager said: “We must achieve level 3 by next month”
Problem:
This approach is only after a maturity level score but does not encourage real improvement. This attitude cannot fool anyone or achieve anything. The questionnaire is designed only as an input for further exploration into the process. There are other factors such as document reviews, interviews, and team discussions that must be completed before a maturity-level rating can be assigned.
The most important part of the assessment is for the employees to see the visible reaction of senior management and to hear their feedback on the results. That is why there is a requirement for senior management to address their commitment for process improvement in the beginning and at the end of the assessment. If management does not care about real improvement but only a meaningless maturity level, do you think people in the organization would really work hard to make improvement happen?
Reason #4: “Just document lot of procedures–improvement will come.”
Logic:
“CMMI requires documentation because the process is the document”
Problem:
This approach resulting in massive efforts to write standards and procedures down to the lowest levels of detail so do you think software practitioners are supposed to wait patiently for these documents to complete before they can improve their processes? However, documentation and procedures will not lead to process improvement; they have to be practiced, piloted, deployed, improved, and institutionalized.
I believe writing procedures without involve people in the organization is like driving a car blindfolded. To improve, the procedures must be used, piloted, measured, accepted, supported, and institutionalized.
I strongly believe the entire organization must participate in process improvement activities. The SEPG must let the practitioners set the requirements for implementing changes. The role of SEPG is to facilitate and nurture the improvement, not take the matter into their own hands or be document writers.
Reason #5: “Planning and planning: Infinite loop of planning”
Logic:
“We have to develop a plan to build an action plan so we can plan on process improvement.”
“Planning is safe because people do not fail in planning.”
“It is easier to plan than to implement; it is easier to talk than to act.”
Problem:
Many people work hard to plan a perfect, detailed plan that will take several months or years to complete. In the mean time, nothing happen.
Planning is a clever way to disguise “resistance to change” attitude and hide the lack of skills and competent in process improvement. Planning is not an activity for the SEPG to learn the CMMI. The SEPG must focus on action and the sooner they can implement change the better. I believe planning should not take more than one week. People learn by doing, not by planning. Too much planning is a common mistake.
Conclusion:
I strongly believe that all of the above problems arise because of
(1) A lack of understanding the principles of software process improvement or the intention of the CMMI. Some people do not have the discipline to follow a well defined road map such as the IDEAL model (Initiating, Diagnosing, Establishing, Acting, and Leveraging).
(2) Process Improvement is not applied in the context of the business of the organization but perceive as an additional burden to achieve a maturity level.
(3) Managers are too busy to address critical issues or take the improvement activities seriously.
(4) Lack of infrastructure and skills to implement process improvement. No one is responsible for process improvement.
(5) SEPG members are not respected, considered value-added, or viewed as having the right skills to do their job.
Question: “I enjoy reading your blog on CMMI but found your answer too serious. You must add some sense of humor to make thing more enjoyable for readers”
Answer: OK, OK for more humor. John Vu believes that you should get out of the process improvement business when:
1. You decide to re-organize your five persons family into a “Key Process Area”
2. You teach your 4-years old child about Paradigm Shift. and globalization.
3. You try to explain the difference between “Key Process” and “Key Practices” to your Mother-in-law.
4. You insist that an CMMI assessment is needed before you and your spouse decide to produce another child.
5. You ask the waiter what the restaurant’s capability maturity level is. You may pay more for a CMMI level 5 foods.
6. You follow the roadmap phases “Initiating, Diagnosing, Establishing, Acting and leveraging” when writing love letters to your girlfriend.
7. You believe you never have any problems in your life, just “Issues” and “Improvement Opportunities.”