08 Jan, 2021
CMMI-19
Hỏi: Thầy định nghĩa “Thể lệ hoá” là thế nào?
Đáp: Để một qui trình được thể lệ hoá đầy đủ, nó phải được “Xác định, Làm tài liệu, Huấn luyện, Sử dụng, Đo, Trắc nghiệm, và liên tục được cải tiến (được dùng ít nhất từ 8 đến 12 tháng).
Hỏi: Làm sao thầy cải tiến khi công ti tôi có ba người quản lí và bẩy thay đổi về chiều hướng trong ba năm qua?
Đáp: Thay đổi ảnh hưởng tới mọi người, và xem như kết quả, chúng ảnh hưởng tới công ti và chung cuộc ảnh hưởng tới kinh doanh. Tất nhiên, có những lí do cho thay đổi và phần lớn những thay đổi bao giờ cũng bắt đầu bằng nhiệt tình rằng có thể lần này sẽ tốt hơn. Nhưng phải đương đầu với vấn đề, hoài nghi có thể trồi lên bề mặt. Người quản lí cấp cao nhất có thể trở nên bị áp đảo và ra đi. Thay đổi sẽ trở thành khẩu hiệu thông thường nhưng chẳng cái gì xảy ra như mong muốn rồi nhiều thay đổi được cần tới. Cái vòng thay đổi này sẽ tiếp tục lặp đi lặp lại cho tới khi kết quả thực được đạt tới.
Có cách tốt hơn để thực hiện thay đổi và tránh kịch bản trên bằng việc tuân theo cách tiếp cận như mô hình trưởng thành năng lực (khuôn khổ CMMI)
Nó bắt đầu với lí do kinh doanh cần thay đổi từ quản lí cấp cao và nó yêu cầu cam kết, hiểu biết, và hỗ trợ. Sau đây là lời khuyên của tôi cho các tổ chức có thể trải qua thay đổi:
1) Quản lí cấp cao phải trao đổi về lí do thay đổi và kết quả mong muốn cho mọi người trong tổ chức. (Chiều hướng thay đổi phải bắt đầu từ cấp chóp bu)
2) Quản lí cấp cao phải nói sự thật cho mọi người phát triển, và làm việc xuyên qua mọi chống cự thay đổi, không đi vòng tránh nó. Điều này mất thời gian nhưng nó bao giờ cũng có tác dụng. (Thay đổi phải được trao đổi và tuân theo suốt)
3) Cấp quản lí phải sẵn lòng buông bỏ bất kì cái gì không có tác dụng và đối xử với mọi người một cách kính trọng (Sửa qui trình, không sửa người)
4) Tiến hành thẩm định tổ chức để nhận diện cơ hội cho thay đổi (Biết nơi bạn tới trước khi bắt đầu cuộc hành trình)
5) Thiết lập kế hoạch dựa trên kết quả thẩm định (Lập kế hoạch cuộc hành trình dựa trên những điểm mạnh và yếu của bạn)
6) Áp dụng khái niệm trưởng thành vào bản kế hoạch để ưu tiên hoá các nhiệm vụ (Lập ưu tiên – điều bạn có thể làm hôm nay và điều bạn có thể làm tháng sau)
7) Triển khai các nhiệm vụ bằng việc tuân theo vòng cải tiến (Xác định, thử nghiệm, làm mịn và thể lệ hoá)
8) Thu thập dữ liệu cải tiến và trắc nghiệm theo các tuyến cơ sở và kết quả mong muốn (Thay đổi phải được đo)
9) Cấp quản lí phải hỗ trợ và cam kết với qui trình thay đổi và giữ cho đà thay đổi tiếp diễn (Phải khắt khe về điều phải xảy ra, nhưng linh hoạt về cách thức)
10) Quản lí cấp cao phải điều phối qui trình thay đổi, nói cho những người có ảnh hưởng nhiều nhất có thể được, thường xuyên nhất có thể được, và theo nhiều cách nhất có thể được. (Trao đổi sẽ giữ cho thay đổi xảy ra liên tục).
Hỏi: Trong mười năm qua, tôi đã thấy nhiều thất bại trong chương trình đo. Việc đo chưa bao giờ có tác dụng. Sao thầy cứ đòi hỏi cái gì đó chẳng bao giờ có tác dụng?
Đáp: Nhiều chương trình đo thất bại bởi vì hoặc họ muốn đo mọi thứ (phần lớn là những thứ sai) hoặc họ không biết dữ liệu nào là cần để giúp họ ra quyết định đúng. Đôi khi nó thất bại bởi vì dữ liệu đo được dùng bởi người không thích hợp, dùng với mục đích khác làm nảy sinh nỗi sợ bị đo trong những người của tổ chức.
Khi phần mềm trở nên phức tạp ngày càng tăng, người quản lí dự án cần kiểm điểm lại kế hoạch dự án của mình và điều phối tiến độ của nỗ lực phát triển phần mềm để điều chỉnh kế hoạch của mình theo tương ứng. Việc dùng sự kiện và dữ liệu, như một phần của việc điều phối quản lí tổng thế, cung cấp cho người quản lí cách thức thẩm định tốt hơn hiệu quả của tài nguyên của họ trong việc chuyển giao sản phẩm chất lượng trong giới hạn lịch biểu và ngân sách. Tôi tin tưởng mạnh mẽ rằng mọi dự án đều phải có mục đích đo được rõ ràng có liên quan tới kinh doanh. Những mục đích này nên được theo dõi và phân tích và các dữ liệu này nên được người quản lí dự án dùng để có hành động sửa chữa nếu cần. Nếu dùng trong hoàn cảnh đó, chương trình đo bao giờ cũng có tác dụng.
Hỏi: SEPG của chúng tôi được quản lí cấp cao bảo phải đạt tới CMMI mức trưởng thành 5 hay đi kiếm việc khác ở đâu đó.
Đáp: Tôi hiểu rằng có sức ép lên công ti để đạt tới mức trưởng thành cao đặc biệt. Một số sự nghiệp của mọi người có thể phụ thuộc vào việc có được “CMMI mức 5” hay cái khác. Một số công ti đã tiến hành thẩm định CMMI chỉ để kiểm nghiệm rằng họ đã đạt tới một mức thay vì nhận diện những nhược điểm để cải tiến. Mặc dầu điều này là thực, tôi tin một công ti chỉ muốn mức độ trưởng thành CMMI đang chơi trò chơi con số. Nếu công ti bạn không tập trung vào việc cải tiến thì mức CMMI sẽ làm tốt gì cho công ti bạn? Rất dễ “mua” xác nhận mức CMMI từ những nhà tư vấn làm tiền. Nhiều người đã bán các khuôn mẫu, ví dụ, tài liệu để công ti có thể qua được kì đánh giá CMMI và đạt tới mức CMMI mà họ muốn với cái giá đó.
Là một thành viên SEP, bạn phải yêu cầu làm rõ ràng mức độ trưởng thành CMMI nghĩa là gì đối với người quản lí của bạn? Nếu đấy chỉ là con số vô nghĩa mà không có kết quả mong muốn nào (giảm chi phí, thời gian, cải tiến chất lượng v.v.) thì có thể bạn đã không làm việc tốt trong khi giải thích về ích lợi của cải tiến qui trình và mức trưởng thành CMMI tất cả là gì cho quản lí cấp cao của bạn. Nhân tiện, nếu bạn rất giỏi thì bạn có thể tìm ra một việc tốt hơn trong một công ti đánh giá đúng kĩ năng của bạn.
Hỏi: Thầy có cho rằng chúng tôi phải tạo ra thuật ngữ khác cho “Cải tiến qui trình” vì nhiều người nói rằng nó “không có tác dụng?”
Đáp: Đừng phí thời gian phát minh ra thuật ngữ tốt hơn mà hãy tập trung vào những mục đích bạn muốn đạt tới. Thay vì làm ầm ĩ về “Cải tiến qui trình” bạn nên xem xét nó như một phần của việc thường ngày. Chìa khoá là làm cho việc cải tiến xảy ra với sự kiện và dữ liệu về cải tiến chất lượng, giảm thời gian và chi phí. Sau khi thành công với dữ liệu, bạn bao giờ cũng có thể nói rằng “Nó có tác dụng kì diệu và đây là dữ liệu của tôi”.
Hỏi: Tại sao chúng tôi phải “thể lệ hoá” điều chúng tôi làm trong phần mềm để thoả mãn việc đánh giá trưởng thành CMMI?
Đáp: Có một câu thơ cổ: “Kịch hay có thể tuyệt vời, nhưng kịch dở bao giờ cũng kinh khủng”. Cùng điều đó là đúng cho phát triển phần mềm. Không may là chúng ta không có năng lực tự nhiên để làm việc rất tốt phát triển phần mềm, đó là lí do tại sao chúng ta cần tuân theo qui trình được thể lệ hoá. Đây là qui trình được dùng theo thói quen. Nó được hỗ trợ bởi một tập các qui tắc nhưng nó đảm bảo rằng qui trình được dùng và được áp dụng nhất quán. Tập các qui tắc nhấn mạnh rằng qui trình được xác định, được làm tài liệu, được huấn luyện, được sử dụng, được đo, được trắc nghiệm và được cải tiến liên tục.
Hỏi: Là một khách hàng, tôi hiểu các yêu cầu sẽ thay đổi khi tôi biết hơn về hệ thống đang được xây dựng. Thay đổi có thể dễ dàng được thực hiện bởi phần mềm hơn là phần cứng. Vậy sao người làm phần mềm cứ phàn nàn về khách hàng thay đổi yêu cầu? Nhớ xem ai là người trả tiền cho ông?
Đáp: Đúng là yêu cầu phần mềm quả có thay đổi nhưng tác động của thay đổi lại biến thiên cùng thời gian mà nó được đưa vào. Nếu qui trình phân tích yêu cầu được xác định tốt được áp dụng ở đầu trước của vòng đời phần mềm, yêu cầu sớm về thay đổi có thể được thực hiện dễ dàng. Khi thay đổi được yêu cầu muộn hơn trong pha thiết kế hay pha xây dựng, nó tạo ra nhiều khó khăn hơn bởi vì vào lúc đó, thiết kế đã có tại chỗ rồi, tài nguyên đã được phân bổ dựa trên thiết kế đó. Bất kì thay đổi nào tác động tới thiết kế cũng yêu cầu phải thiết kế lại và làm thay đổi nhiều mã, điều sẽ tác động tới cam kết lịch biểu. Điều không may là rất ít khách hàng sẵn lòng điều chỉnh lịch biểu hay bổ sung thêm tài nguyên, do đó việc làm lại bao giờ cũng tác động tới tinh thần mọi người, lịch biểu, chi phí và chất lượng. Nhân tiện, chính khách hàng chung cuộc trả tiền cho tất cả công việc làm lại này.
Hỏi: Thầy đã nhắc tới việc tạo ra “nhận biết chung” trong các thành viên tổ. Điều đó có thực tế không?
Đáp: Nhận biết là bước đầu tiên trong bất kì chu kì học tập nào. Trong thời của thay đổi, tổ chức không học tập, thích nghi và cải tiến sẽ không sống sót được.
Tôi tin rằng tổ chức phải có qui trình cho phép đồng hoá liên tục thông tin (cả nội bộ và ngoại bộ). Đây phải là việc dự ứng và nó là trách nhiệm của mọi người. Nó chẳng bao giờ có tác dụng nếu vài người nào đó được chỉ định chịu trách nhiệm về xử lí thông tin. Đây là hai ví dụ về nhận biết chung của tổ chức:
1) AT&T, công ti điện thoại có một diễn đàn “Nhận biết chung” nơi ông chủ tịch đem nhiều người quản lí từ khắp thế giới lại, vài lần trong năm cùng chia sẻ kinh nghiệm và thảo luận cái gì có tác dụng và cái gì không có tác dụng để cho mọi người học từ sai lầm của người khác và không lặp lại cùng sai lầm nữa.
2) NUMMI, một công ti chế tạo linh kiện ô tô có chính sách quay vòng mọi người qua các việc khác nhau hàng năm. Điều này có tác động tiêu cực lên năng suất một chốc lát, nhưng nó được bù lại bởi ích lợi của việc làm cho mọi người quen thuộc với trách nhiệm của nhau. Công nhân của họ học lẫn nhau và bao giờ cũng tìm cơ hội tốt để cải tiến.
Hỏi: Làm sao tinh thần nhân viên lại ảnh hưởng tới mức độ trưởng thành của tổ chức? Liệu có khả năng một tổ chức mức 3 rơi xuống khi tinh thần nhân viên thấp không?
Đáp: Mức độ trưởng thành năng lực của tổ chức tuỳ thuộc vào ba nhân tố: Con người, Qui trình và Công nghệ. Nếu động cơ của mọi người thấp, điều đó dứt khoát ảnh hưởng tới hiệu năng của tổ chức và chung cuộc năng lực của tổ chức sẽ bị tác động. Có nhiều khả năng cho tổ chức mức cao hơn rơi xuống mức thấp hơn khi tinh thần thấp.
Hỏi: Thầy làm gì khi thầy được yêu cầu thay đổi, nhưng người quản lí, người đã yêu cầu thầy thay đổi lại không tự thay đổi mình?
Đáp: Người quản lí cần cởi mở và sẵn lòng chấp nhận thay đổi nữa. Bạn cần giải thích cho họ rằng bản thân bạn không thể thay đổi được toàn bộ tổ chức. Nói với họ bạn muốn có sự hỗ trợ từ họ để thành công.
—-English version—–
Question: How do you define “Institutionalization”?
Answer: For a process to be fully institutionalized, it must be “Defined, Documented, Trained, Used, Measured, Verified, and continuously improved (Been used for at least 8 to 12 months).
Question: How do you improve when my company had three managers and seven changes of directions in the past three years?
Answer: Changes affect people, and as a result, they affect company and ultimately affect the business. Of course, there are reasons for change and most changes always start with enthusiasm that maybe this time will be better. But as problems are encountered, doubts may surfaces. Top manager may become overwhelmed and quit. Change will become a normal slogan but nothing happen as desired then more changes are needed. This cycle of changes will continue over and over until real results are achieved.
There are better way to implement changes and avoid the above scenario by following an approach such as the capability maturity model (CMMI framework)
It starts with a business reason to change by senior management and it requires commitments, understanding, and support. Following is my advice to organizations that may undergo changes:
1) Senior management must communicate the reason for change and desired outcomes to everybody in the organizations. (Change direction must start from the top)
2) Senior management must tell the truth to all developers, and work through any resistance to change, not around it. This takes time but it always work. (Changes must be communicated and follow through)
3) Management must willing to let go of whatever is not working and treat everyone with respect (Fix the process, not the people)
4) Conduct an organization assessment to identify opportunity to change (Know where you are before start the journey)
5) Establish a plan based on assessment results (Plan the journey based on your strengths and weaknesses)
6) Apply the maturity concept into the plan to prioritize tasks (Set priority – what you can do today and what you can do next month)
7) Deploy tasks by following the improvement cycle (Define, pilot, refine, and institutionalize)
8) Collect improvement data and verify against baselines and desired outcomes (Change must be measured)
9) Management must support and commit to the change process and keep the momentum going (Be rigorous about what must happen, but flexible about how)
10) Senior management must monitor the change process, tell stakeholders as much as possible, as often as possible, and in many ways as possible. (Communicate will keep change happens continuously).
Question: In the past ten years, I have seen lot of failure in metrics program. Measurements never work. Why do you keep asking something that never works?
Answer: Many measurement programs failed because either they want to measure everything (Mostly the wrong things) or they do not know what data is needed to help them make the right decision. Sometime it failed because measurement data is used by inappropriate person for different purpose resulting in the fear of being measured by people in the organization.
As softwares become increasingly complex, project managers need to review their project plans and monitor progress of their software development effort in order to adjust their plans accordingly. The use of facts and data, as part of an overall management monitoring, provides managers with ways to better assess the efficiency of their resources in delivering quality products within schedule and budget limits. I strongly believe that every project must have clear measurable goals that relate to the business. These goals should be tracked and analyzed and these data should be used by project manager to take corrective actions if necessary. If using within that context, measurement program always work.
Question: Our SEPG is told by senior management to achieve a CMMI maturity level 5 or go find another job elsewhere.
Answer: I understand that there is a pressure placed upon companies to achieve a particular high maturity level. Some people careers may depend on getting a “CMMI Level 5” or else. Some companies conducted a CMMI assessment just to validate that they have achieved a level rather than identify weaknesses to improve. Although this is real, I believe a company who only want a CMMI maturity level is playing a number game. If your company does not focus on improvement then what good will a CMMI level does for your company? It is very easy to “buy” a CMMI level certificate from money maker consultants. Many already sell templates, examples, documents so company can pass a CMMI appraisal and achieve a CMMI level that they want for a price.
As a SEPG member, you must ask for clarification what a CMMI maturity level means to your manager? If it is only a meaningless number without any desired results (reduce costs, times, improve quality etc.) then maybe you did not do a good job in explaining the benefit of process improvement and what the CMMI maturity levels are all about to your senior manager. By the way, if you are very good then you could find a better job in company where they value your skill.
Question: Do you think that we should create another term for “Process improvement” since so many people said that it “does not work?”
Answer: Do not waste time inventing a better term but focus on the goals that you want to achieve. Instead of making a lot of noise about “Process improvement” you should consider it as being part of the daily job. The key is make improvement happens with facts and data on improving quality, reduce time and cost. After succeed with data, you can always say that “It works wonderfully and here is my data”.
Question: Why do we have to “institutionalize” what we do in software to satisfy a CMMI maturity rating?
Answer: There is an old verse: “Good comedy can be wonderful, but bad comedy is always terrible”. The same is true for software development. Unfortunately, we do not have the natural capability to do a very good job of develop software, that is why we need to follow an institutionalized process. This is a process that is used habitually. It is supported by a set of rules but it ensures that the process is used and consistently applied. The set of rules insist that the process is defined, documented, trained, used, measured, verified, and continuously improved.
Question: As a customer, I understand requirements will change as I know more about the systems being built. Change can easily be done by software than hardware. So why software people complain about customer changes requirements? Remember who is paying you?
Answer: It is true that software requirements do change but the impact of change varies with time at which it is introduced. If a well defined requirement analysis process is applied in the front end of software life cycle, early request for change can be done easily. When changes are requested later during design phase or construction phase, it creates more difficult because by that time, the design is well in place, resources are allocated based on that design. Any changes that impact on design requires redesign and more code changes, which will impact schedule commitment. Unfortunately, very few customers are willing to adjust the schedule or add more resources, therefore rework always impact people morale, schedule, cost and quality. By the way, it is the customer ultimately paying for all of this rework.
Question: You have mentioned about create a “shared awareness” among team members. Is it practical?
Answer: Awareness is the first step in any learning cycle. In time of change, an organization that does not learn, adapt and improve will not survive.
I believe that organization must have a process that allows for continuous assimilation of information (Both internal and external). This must be pro-active and it is everyone’s responsibility. It never works if only certain people are designated as being responsible for processing information. Here are two example of organization’s shared awareness:
1) AT&T, a telephone company has a “Share awareness” forum where the chairman brings many managers from around the world together, several times a year to share experiences and discuss what works and what does not work so people learn from others’ mistakes and do not repeat the same mistake again
2) NUMMI, an auto parts manufacturing has a policy of rotating people through different jobs every years. This has negative impact on productivity for a while, but it is offset by the benefit of having people being familiar with each other’s responsibilities. Their workers learn from each others and always find good opportunity to improve.
Question: How does employee morale affect an organization’s capability maturity levels? Is it possible for a level 3 organization to fall back when employee morale is low?
Answer: Organization’s capability maturity level depends on three factors: People, Process and Technology. If people motivation is low, it definitely affects the performance of an organization and ultimately the organization capability will be impacted. It is highly possible for a higher levels organization to fall back to lower levels when morale is low.
Question: What do you do when you are asked to change, but the manager who asked you to change do not change himself?
Answer: Manager needs to be open and willing to accept changes too. You need to explain to them that you can not change an entire organization by yourself. Tell them you want support from them in order to succeed.