Cải tiến qui trình phần mềm

GS John Vu13/04/2024 13:00
Cải tiến qui trình phần mềm

Hỏi: Thầy có thể cho lời khuyên về làm sao để thành công trong cải tiến qui trình phần mềm?

Đáp: Bước đầu tiên trong cải tiến qui trình hiệu quả là thay đổi hành vi của người quản lí và người phát triển. Là người kĩ sư phần mềm, bạn có thể hỗ trợ cho thay đổi nhưng thay đổi thực sự chỉ xảy ra khi người quản lí chấp nhận thái độ mới đối với cải tiến.

Vấn đề là làm sao để người phát triển phần mềm làm những điều không liên quan trực tiếp tới việc chuyển giao sản phẩm phần mềm? Đây là vấn đề khó bởi nhiều lí do. Thứ nhất, người phát triển bao giờ cũng bận rộn. Thứ hai, họ có thể không hiểu điều bạn muốn họ làm hay tại sao phải làm. Và thứ ba, họ có thể không tin rằng điều bạn gợi ý sẽ giúp họ trong việc của họ.

Do đó, điều quan trọng nhất là làm cho cấp lãnh đạo hành xử khác đi. Đây là lí do tại sao chúng ta cần giải thích cho cấp lãnh đạo về rủi ro của việc không cải tiến để cho họ có thể nhận ra sự khẩn thiết. Nếu họ sẵn lòng sống với các hậu quả của quá trình hỗn độn và rủi ro, chẳng cái gì sẽ xảy ra.

Đây là vài gợi ý mà bạn có thể thấy có ích:

  1. Phải chắc rằng cấp quản lí thừa nhận việc cải tiến qui trình là trách nhiệm của họ. Nếu người phát triển không tham gia vào hay hỗ trợ tích cực cho việc cải tiến qui trình, nó sẽ không xảy ra.

  2. Có được thoả thuận từ cấp quản lí về vài hành động mấu chốt cần thực hiện trước nhất. Tôi gợi ý mỗi lúc làm một thay đổi nhỏ thôi. Đừng cố làm cái gì đó mơ hồ và vô nghĩa như “Lấy CMMI mức 5”. Để tạo ra tiến bộ, bạn cần tập trung vào cái gì đó có ích, thực tế, như giám định phần mềm để loại bỏ lỗi. Hành động này là đo được nếu đầu tiên bạn đặt ra tuyến sở sở. Bạn phải thu thập một số lỗi của việc đưa ra trước đó và số lỗi được tìm thấy trong giám định sản phẩm.

  3. Bạn cần chắc rằng mọi người đều biết trách nhiệm của mình. Một ý hay là viết tất cả những điều đó ra.

  4. Thiết lập kế hoạch vận hành, giữ nó đơn giản và có các điểm kiểm (trạng thái tuần) và nhận diện tài nguyên rõ ràng.

  5. Biểu thị những điều tham gia vào việc làm cho một thay đổi được hoàn thành. Bạn có thể làm điều này qua báo cáo tiến độ cho cấp quản lí và phải chắc đưa vào lịch biểu và cam kết tài nguyên. Những điều này sẽ giúp mọi người nhận ra cái gì được tham dự vào và nó chiếm bao lâu.

  6. Làm vì thành công. Đều đặn nhận diện những thành tựu thực, tuyên dương những người có trách nhiệm và công bố thành tựu của họ. Tuy nhiên bạn phải khiêm tốn và vẫn ở ngoài quá trình thừa nhận này, việc của bạn là điều phối cải tiến và làm cho nó xảy ra. Điều này sẽ tạo ra nhiệt tình trong những người phát triển và biểu lộ tiến bộ. Một khi đà này diễn ra, khó mà dừng được nó và bạn sẽ đi vững chắc trên con đường của mình.

  7. Chìa khoá cho cải tiến qui trình là làm nhiều thay đổi qui trình nhỏ và đơn giản. Ích lợi chính từ phần lớn những thay đổi tới từ vài hành động. Đừng làm thay đổi lớn, bạn sẽ không thành công đâu. Nhớ câu hỏi “Làm sao ăn được voi?” Đáp: “Bằng nhiều miếng nhỏ”.

  8. Nhớ cung cấp đủ thông tin để cho mọi người biết điều cần làm và khi nào làm. Thử điều đó trong dự án nhỏ, lấy phản hồi từ người trong dự án, người dùng qui trình cải tiến rồi tinh lọc nó dựa trên các kết quả. Bạn có thể phải huấn luyện mọi người và chắc chắn phải giúp họ được bắt đầu bởi vì cải tiến là quá trình học hỏi. Bạn sẽ học nhiều từ việc thực hiện hơn là từ lập kế hoạch hay nói về nó. Học từ thực tế chứ đừng từ ý kiến, cho nên trước khi làm cho người khác thay đổi, bạn phải tự thay đổi mình trước.

  9. Nếu cấp quản lí không phân việc cho người phát triển để làm việc với những nhiệm vụ cải tiến, hãy đi tới quản lí cấp cao và nêu rõ ràng rằng nếu thiếu sự tham dự của người phát triển, việc cải tiến qui trình là phí thời gian và tiền bạc. Với những điều kiện này, hoặc quản lí cấp cao phải tiến bước và giúp đỡ, hoặc bạn sẽ phải tìm việc ở đâu đó khác.

  10. Nếu quản lí cấp cao từ chối giải quyết vấn đề, họ không thực sự được thuyết phục về nhu cầu cải tiến. Bất kể điều họ nói, bạn cần dừng lại hay ngắt nỗ lực cho tới khi bạn thu được sự chú ý của họ. Đừng phí thời gian của bạn. Ý tưởng là để làm cho người ta thành công nhanh chóng, với dữ liệu cải tiến vững chắc thì phần còn lại sẽ vào cuộc. Hãy nhớ, thay đổi cần thời gian và bạn phải kiên nhẫn.

English version

Question:

Can you advise on how to succeed in software process improvement?

Answer:

The first step in effective process improvement is changing the behavior of the managers and developers. As software engineer, you can support the change but real change only happens when manager adopt a new attitude toward improvement.

The question is how to get software developers to do things that do not directly relate to the delivery of software products? This is a difficult problem for many reasons. First, developers are always busy. Second, they may not understand what you want them to do or why. And third, they may not believe that what you suggest will help them do their jobs.

Therefore, the most important thing is to get management to behave differently. This is why we need to explain to the management the risks of not improving so they can realize the urgency. If they are willing to live with the consequences of a chaotic process and the risks, then nothing will change.

Here are some suggestions that you may find useful:

  1. Make sure that management recognizes that process improvement is their responsibility. If the developers do not participate in or actively support process improvement, it will not happen.
  2. Get an agreement from management on a few critical actions to accomplish first. I suggest one small change at a time. Do not try to do something as vague and meaningless as “Getting to CMMI level 5”. To make progress, you need to focus on something useful, practical, such as software inspections to remove defects. This action is measurable if you set a baseline first. You must collect number of post-released defects and number of defects found during product inspection.
  3. You need to make sure that everybody knows their responsibilities. It would be a good idea to get these in writing.
  4. Establish an operational plan, keep it simple and with checkpoints (Weekly status) and resources identify clearly.
  5. Demonstrate what is involved in getting just one change accomplished. You can do this with progress report to management and make sure to include a schedule and resources commitments. These will help everybody realizes what is involved and how long does it take
  6. Make a big deal out of success. Periodically identify real achievements, credit the people responsible by name, and publicize their accomplishment. However, you must be humble and stay out of the recognition process, your job is to coordinate improvement and make it happens. This will build enthusiasm among developers and demonstrate progress. Once the momentum is going, it is hard to stop and you will be well on your way.
  7. The key to process improvement is making a lot of small and simple process changes. The major benefits from most changes come from a few actions. Do not make big change, you will not be successful. Remember the question “How does one eat an elephant?” Answer: “By several small pieces”.
  8. Remember to provide just enough information so people know what to do and when. Try it in small project, get some feedback from project people who use the improve process then refine it based on results. You probably have to train people and will certainly have to help them get started because improvement is a learning process. You will learn a great deal more from implementing changes than from planning or talking about it. Learn from practice not opinion, so before having others to change, you must change yourself first.
  9. If management does not assign developer to work on improvement tasks, go to the senior management and make it clear that without the participating of developers, process improvement is a waste of time and money. Under these conditions, either senior management must step in and helps, or you will have to look for a job elsewhere.
  10. If senior management refuses to handle the problem, they are not truly convinced of the need for improvement. Regardless of what they say, you need to stop or discontinue the effort until you have their attention. Do not waste your time. The idea is to get one quick success, with solid improvement data then the rest will fall into places. Remember, change takes time  and you must have patience.

 


Gửi bình luận
(0) Bình luận
1

Làm việc hay không làm việc

Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”
2

Phần mềm mã nguồn mở

Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.
3

Điều nước Mỹ cần

Theo báo cáo của chính phủ Mĩ, trong năm thứ hai liên tiếp, kĩ sư phần mềm là việc làm số một ở Mĩ.
4

Kỹ nghệ phần mềm và khoa học máy tính

Một sinh viên hỏi tôi: “Tại sao tôi cần học Kĩ nghệ phần mềm thay vì Khoa học máy tính? Sau rốt, chúng là như nhau và sau khi tốt nghiệp đằng nào chúng tôi cũng sẽ làm việc trong công nghiệp phần mềm?”
5

Tri thức và kỹ năng

Tuần trước, tôi đã thảo luận với sinh viên về kĩ năng mà công nghiệp phần mềm cần. Khi tôi bảo họ rằng có nhiều việc làm cho xây dựng ứng dụng di động và làm việc với các ứng dụng bán sẵn trên thị trường Commercial Off The Shelf (COTS) như SAP và PeopleSoft, một sinh viên lập tức lên tiếng lo ngại rằng những điều đó không được dạy trong trường.

Kiểm thử phần mềm

Là một nhà chuyên môn về phần mềm trong hơn 30 năm, tôi biết rằng kiểm thử phần mềm không phải là việc nhàm chám mà là nghề mang tính sáng tạo cao bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân.

Nhu cầu kỹ sư phần mềm

Hiện nay có nhu cầu rất lớn về người làm phần mềm trên toàn cầu. Ở Mĩ rất khó thuê được kĩ sư phần mềm tại các thành phố chính như San Jose, Boston, Seattle hay New York.

Kỹ năng cần có để thành công

Tốt nghiệp Khoa học máy tính và làm việc như một người phát triển phần mềm, nhưng phần lớn thời gian em chỉ viết mã. Tuy nhiên, sau khi một người bạn giới thiệu cho em về blog của thầy, em bắt đầu tự hỏi em cần cái gì để thành công?

Học Khoa học máy tính

Mọi người bảo rằng Khoa học máy tính (CS) là khó, học sinh học nó thường bỏ. Họ khuyên em đừng chọn CS ở đại học.

Tính toán đám mây

Bạn tôi gợi ý rằng tôi dùng dịch vụ tính toán mây cho công ty của tôi nhưng tôi không biết nó là gì.

Thất nghiệp khắp thế giới

Năm nay (2013) là năm mà thất nghiệp trong những người tốt nghiệp đại học đã đạt tới mức trầm trọng với trên 75 triệu người tốt nghiệp đại học không có việc làm.

Cung cấp nhân lực cho công ty, giải pháp đơn giản cho vấn đề phức tạp?

Trong khi các công ti quá bận rộn không làm việc được với đại học. Đại học cũng cho rằng họ KHÔNG biết công ti cần gì cho nên họ không thể cung cấp nhân sự phù hợp được. Làm sao chúng ta giải quyết vấn đề này?”

Người kiểm thử và người phát triển phần mềm

Người phát triển phần mềm đã thay đổi thiết kế và mã mà không nói cho người kiểm thử biết, nên kịch đoạn kiểm thử của người kiểm thử không làm việc.

Làm việc hay không làm việc

Blog GS John VU - GS John Vu - 20/06/2026 12:00
Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”

‘Thuật nhìn người’ của Gia Cát Lượng: Quan sát 7 điều, người tài - người tệ không thể che giấu!

Kỹ năng - Diệu Đan - 20/06/2026 11:00
7 tiêu chí nhìn người của Gia Cát Lượng không chỉ đúng trong việc chọn tướng thời loạn, mà còn là kim chỉ nam hữu ích trong thời hiện đại khi quản trị nhân sự, kinh doanh ngày nay.

Bộ não của bạn đạt đỉnh cao ở độ tuổi nào?

Suy ngẫm - Phạm Hường - 20/06/2026 10:00
Khi tuổi trẻ dần trôi vào dĩ vãng, bạn có thể bắt đầu lo sợ về tuổi già, nhưng nghiên cứu cho biết nhiều người trong chúng ta, chức năng tâm lý tổng thể thực sự đạt đỉnh điểm ở độ tuổi từ 55 đến 60.

CEO Nvidia hé lộ bí mật thành công trong sự nghiệp của một con người

Phong cách sống - Mai Trang - 20/06/2026 09:00
Đó là hãy học cách yêu công việc mình đang làm thay bằng tìm kiếm công việc mình yêu thích.

Trạm dừng sinh tử: Quan sát trung thực về những cuộc gặp gỡ trong giây phút cuối cùng

Từ sách - Phim - TĐ - 20/06/2026 08:00
Có một câu hỏi mà hầu hết chúng ta đều né tránh suốt cả cuộc đời: điều gì xảy ra sau khi chúng ta chết?

Lập mục đích

Blog GS John VU - GS John Vu - 19/06/2026 12:00
Bạn có biết thuyền trưởng dẫn hướng con thuyền của mình trên đại dương thế nào không?

Tâm lý CEO: Nghệ thuật giữ bình tĩnh, ra quyết định và dẫn dắt trong áp lực

Kỹ năng - Vũ Anh - 19/06/2026 11:00
Giữ được sự minh mẫn, kiểm soát cảm xúc và ra quyết định tỉnh táo trong khủng hoảng — đó là “môn võ thượng thừa” mà không trường lớp nào có thể dạy.

"Thần đồng" Đại học Thanh Hoa, 49 tuổi vẫn thất nghiệp: Khi ra tới biển lớn, mới biết bản thân chỉ là hạt cát nhỏ

Suy ngẫm - Nguyễn Phượng - 19/06/2026 10:00
Khi vào đại học Thanh Hoa, nam sinh được mệnh danh là "thần đồng" mới biết còn nhiều người giỏi hơn mình.

Con trai duy nhất của Gia Cát Lượng vì sao không thể nối nghiệp cha?

Phong cách sống - Linh Lan - 19/06/2026 09:00
Gia Cát Lượng chỉ có một con trai ruột, rất thông tuệ và sớm được trọng dụng, nhưng "bên ngoài chẳng giúp được quốc gia, bên trong chẳng thể thay đổi triều chính".

Minh triết từ nỗi bất an - Khi hiểu biết làm con người mệt mỏi hơn

Từ sách - Phim - Bảo Lam - 19/06/2026 08:00
Trong “Minh triết từ nỗi bất an”, Alan Watts viết về một nghịch lý rất gần với con người hiện đại: càng cố hiểu, cố dự đoán và kiểm soát đời sống để thấy an toàn, ta lại càng dễ mắc kẹt trong lo âu.

Công nghệ và cơ hội

Blog GS John VU - GS John Vu - 18/06/2026 12:00
Nếu chúng ta nhìn lại thành tựu của công nghệ, chúng ta sẽ ngạc nhiên về tiến bộ đã được thực hiện.

Warren Buffett tiết lộ nguyên tắc vàng, đảm bảo sự thành công bền vững

Phong cách sống - Thiên Di - 18/06/2026 11:41
Bên cạnh những phân tích sắc sảo về báo cáo tài chính hay các thương vụ đầu tư trị giá hàng tỷ USD, huyền thoại Warren Buffett mới đây đã chia sẻ về một triết lý sống cốt lõi mà ông cho rằng là chìa khóa để duy trì sự thành công và bền vững cho mọi tổ chức.

Sắp phát hành: Sức mạnh của nghỉ ngơi

Tủ sách - FN - 18/06/2026 08:00
Chúng ta thường nghĩ rằng nghỉ ngơi là ngủ một giấc, nằm yên một lúc, tạm rời công việc rồi cơ thể sẽ tự hồi phục lại. Nhưng có lúc ta ngủ đủ mà vẫn thức dậy trong trạng thái nặng nề. Cơ thể có thể không quá mỏi, nhưng đầu óc vẫn quay cuồng; ta vẫn thấy mình phải trả lời tin nhắn, phải tỏ ra ổn, phải chiều lòng người khác, phải tiếp tục.

Phần mềm mã nguồn mở

Blog GS John VU - GS John Vu - 17/06/2026 12:00
Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.

Người già khôn ngoan thường giả bộ 3 điều này với con cái

Kỹ năng - Thanh Hương - 17/06/2026 11:00
Có những thứ nên giả bộ cho qua
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS