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

Vòng đời kiểm thử

Nhiều người trong các bạn đã hỏi tôi về kiểm thử và mối quan hệ của nó với vòng đời phát triển phần mềm. Về căn bản kiểm thử tuân theo vòng đời tương ứng với mọi pha của vòng đời phát triển.
2

Một dòng mã

Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).
3

Cách đo và độ đo

Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”
4

Thành công ở đại học

Thành công nghĩa là đạt tới mục đích của bạn, dù chúng là bất kì cái gì.
5

Cách đo

Tôi nhận được một email từ một sinh viên: “Tại sao chúng ta phải đo công việc của mình? Đo là khó và phí thời gian vì nó không cung cấp cho tôi giá trị. Nếu chúng ta có lỗi, chúng ta có thể sửa chúng về sau bất kể chúng có bao nhiêu. Tôi không biết tại sao chúng ta cần đo?”

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.

Kỹ năng của nhà doanh nghiệp

Blog GS John VU - GS John Vu - 14/07/2026 11:00
Tuần trước trong lớp, một sinh viên đã hỏi tôi: “Em muốn là một nhà doanh nghiệp như Steve Jobs hay Bill Gates và bắt đầu công ti riêng của em. Em cần làm gì để biết trước khi em tốt nghiệp?” Đột nhiên, vài sinh viên cũng muốn biết cách bắt đầu công ti riêng của họ. Dường như là mọi người đều muốn là ông chủ riêng của họ thay vì làm việc cho ai đó khác.

Những cải tiến quan trọng về AI và đồng bộ dữ liệu

Kỹ năng - 14/07/2026 10:00
Theo Zalo, các tính năng Dịch AI, AI Agent, đồng bộ dữ liệu hiện đang mở thử nghiệm cho người dùng từ tháng 7 và sẽ sớm được phổ biến đến toàn bộ người dùng.

AI tranh việc, đất sống nào cho người làm nghề thiết kế?

Phong cách sống - Đoàn Thủy - Việt Anh - 14/07/2026 09:00
Mất dự án vì khách chọn AI, bị khách dùng AI nhận xét sản phẩm, đó là những gì người làm thiết kế đang đối mặt. Trước làn sóng công nghệ, người làm nghề phải tìm lời giải cho giá trị của chính mình.

Không khóc giữa nhân gian - Khổ đau chỉ là ảo tưởng do chính mình tạo

Từ sách - Phim - PV - 14/07/2026 08:00
Tất cả chúng ta, không ngoại trừ bất kỳ ai trong đời này, đều đang bước vào một kỳ thi tâm linh.

Ưu tiên cho người quản lý dự án phần mềm

Blog GS John VU - GS John Vu - 13/07/2026 11:00
Phần lớn những người quản lí dự án được đào tạo để hội tụ vào lịch biểu nhưng theo kinh nghiệm của tôi, có lẽ điều quan trọng nhất là về đặt ưu tiên dự án.

10 câu trích dẫn ý nghĩa dành cho những ai đang cảm thấy lạc lối

Suy ngẫm - Trinh Quang - 13/07/2026 10:00
Khi bạn không thích những người xung quanh, cách tốt nhất để thể hiện sự không thích đó không phải là tranh cãi với họ, mà là chủ động rời bỏ họ.

Bức ảnh bữa cơm gia đình của tỷ phú Jensen Huang khiến nhiều người suy ngẫm

Truyền cảm hứng - Mi Vân - 13/07/2026 09:00
Một bữa cơm gia đình giản dị của Jensen Huang - CEO Nvidia và là một trong những tỷ phú giàu nhất thế giới - đang khiến nhiều người suy ngẫm về giá trị của gia đình giữa cuộc sống hiện đại.

Không khóc giữa nhân gian: Gặp lại chính mình trong vô lượng khổ đau

Từ sách - Phim - TĐ - 13/07/2026 08:00
"Không khóc giữa Nhân gian" không phải là một quyển sách chữa lành, mà là lời nhắn nhủ chánh niệm rằng chúng ta đừng sợ nỗi buồn. Nỗi buồn không đáng sợ, cái đáng sợ là hiểu sai và có thái độ chưa đúng với nỗi buồn mình đang trải qua.

Một dòng mã

Blog GS John VU - GS John Vu - 12/07/2026 10:00
Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).

10 câu trích dẫn giúp bạn khi lạc lối

Suy ngẫm - Trinh Quang - 12/07/2026 09:00
Một khi đã đánh mất điều gì đó, bạn sẽ không bao giờ có thể lấy lại được. Có những việc, nếu bạn không làm ngay bây giờ, bạn sẽ không bao giờ làm lại được nữa.

Không khóc giữa nhân gian - Làm sao để hết khổ?

Từ sách - Phim - FN - 12/07/2026 08:00
Đau khổ vốn không trừ một ai, và nó có trăm hình vạn trạng: một sự mất mát, cảm giác cô độc giữa đám đông, hay đơn giản là nỗi thất vọng khi không đạt được thứ mà mình mong chờ. Vậy phải làm sao để ta hết khổ? Đau khổ có thực sự đáng sợ như người ta vẫn nghĩ? Hay chúng ta vẫn có thể nhìn đau khổ dưới một góc độ bao dung hơn?

Cách đo và độ đo

Blog GS John VU - GS John Vu - 11/07/2026 11:00
Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”

Không thích ai đó, cách khéo léo để xử lý việc này là thông qua "Phương pháp Sedona"

Suy ngẫm - PV - 11/07/2026 10:00
Trong cuộc sống, chúng ta sẽ luôn gặp những người mình không thích: đó có thể là một đồng nghiệp luôn nhắm vào bạn ở nơi làm việc, một người quen giả tạo và hay buôn chuyện, hoặc một người lạ có giá trị sống trái ngược với bạn và bạn không thể hòa hợp.

Mẹ tỷ phú Elon Musk chỉ cách nuôi dạy con thành tài: điều tuyệt đối không nên làm

Phong cách sống - Hân Ly - 11/07/2026 09:00
Mẹ của người giàu nhất thế giới cho rằng việc nuôi dạy con không nằm ở sự áp đặt, mà ở điều này cực kỳ quan trọng và cần thiết.

Sắp phát hành: Hồi ký của hy vọng

Tủ sách - PV - 11/07/2026 08:00
Hồi ký của hy vọng (Saving Five: A Memoir of Hope) thu hút sự chú ý của truyền thông quốc tế không chỉ bởi câu chuyện có thật của Amanda Ngọc Nguyễn, mà còn bởi cách cô kể lại cuộc đời mình vượt ra ngoài khuôn mẫu của một hồi ký về sang chấn.
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