Người quản lý dự án phần mềm

GS John Vu30/06/2024 12:00
Người quản lý dự án phần mềm

Hàng nghìn năm trước đây, triết gia Hi Lạp Socrates đã dạy học trò của mình “Tự biết mình”. Ngày nay, tôi muốn dùng cùng cách tiếp cận đó trong kĩ nghệ phần mềm bằng việc gợi ý rằng người quản lí dự án phần mềm.

1) Biết mục đích dự án của mình.

Với mọi dự án phần mềm, bạn phải đặt ưu tiên bởi vì bạn không thể hoàn tất mọi thứ ngay một lúc. Không có ưu tiên bạn sẽ không có khả năng hội tụ và đạt tới cái gì. Bạn nên có khả năng phát biểu mục đích dự án trong một câu kiểu như “Lịch biểu là ưu tiên số một” hay “Chức năng là quan trọng nhất”. Nếu bạn không thể nêu được điều đó, cơ hội đạt tới thành công của bạn sẽ không lớn.

2) Biết thành viên tổ của mình

Thành viên tổ của bạn là điều quan trọng nhất mà bạn có và hiệu năng của họ sẽ làm cho dự án của bạn thành công hay thất bại. Bạn phải chăm nom tới họ và đảm bảo tổ hoạt động như một đơn vị thống nhất chứ không phải như tập hợp các cá nhân. Việc trao đổi tổ là then chốt nên bạn phải đầu tư thời gian vào việc thúc đẩy tin cậy và đảm bảo rằng mọi người đều biết điều họ phải làm để đạt tới mục đích.

3) Biết khách hàng của mình

Bạn phải trao đổi với khách hàng trên cơ sở đều đặn (hàng ngày, hàng tuần). Họ sẽ cho bạn biết cái gì là quan trọng với họ và mặc dầu họ sẽ đổi ý thường xuyên nhưng bạn phải xây dựng mối quan hệ tốt với họ bởi vì sự thoả mãn của họ sẽ là bản chất cho thành công của bạn.

4) Biết qui trình của mình

Nhiều người thích viết mã trước rồi hỏi câu hỏi sau. Đó là lí do tại sao họ cần huấn luyện kĩ nghệ phần mềm bởi vì nếu bạn viết mã mà không hiểu rõ yêu cầu thì sẽ rất khó thay đổi một khi việc đã bắt đầu. Cho nên điều quan trọng là quyết định chính xác cách bạn sẽ định làm bằng việc lập kế hoạch mọi thứ tương ứng với qui trình và hiểu rằng người kĩ sư phần mềm giỏi bao giờ cũng tuân theo qui trình để làm việc hiệu quả. Bằng việc tuân theo qui trình bạn sẽ:

  • Xây dựng niềm tin vào bản thân mình rằng bạn đang tuân theo bản lộ trình có kỉ luật.
  • Có kế hoạch dự phòng trong sự cố điều gì đó đi sai
  • Phát sinh bầu không khí có kỉ luật trong môi trường làm việc.

5) Biết nhiệm vụ của mình.

Ngày nay phần lớn các yêu cầu phần mềm đều phức tạp nên người quản lí dự án phải phân rã chúng thành các nhiệm vụ nhỏ hơn để tổ thực hiện chúng tương ứng. Việc phân rã và tổ chức các nhiệm vụ này là điều kiến trúc phần mềm là gì. Các thành viên tổ phải chú ý tới cách từng nhiệm vụ khớp với sản phẩm toàn thể. Thiếu cách tiếp cận hệ thống này bạn đi tới hàng trăm mảnh khác nhau mà không thể tích hợp lại được.

6) Biết thay đổi của mình

Chúng ta sống trong thế giới đang thay đổi. Khi dự án tiến triển mọi thứ chung cuộc sẽ thay đổi. Khách hàng sẽ đi tới những ý tưởng mới hay tổ của bạn có thể lâm vào những vấn đề nào đó trong thực hiện. Thay đổi phải được kiểm soát nếu bạn muốn thành công. Bạn cần xây dựng kế hoạch linh hoạt hấp thu được các thay đổi khi chúng tới nhưng bạn phải không chịu nhún với bất kì sức ép nào. Nếu bạn quá linh hoạt dự án của bạn sẽ ở ngoài kiểm soát như ngựa không có người cưỡi, nhưng nếu bạn quá cứng nhắc dự án của bạn sẽ vỡ như thuỷ tinh lúc thay đổi xảy ra. Bạn phải ước tính mọi thay đổi để nhận diện các tác động và xác định ưu tiên, thay đổi nào phải được thực hiện trước và thay đổi nào có thể chờ đợi và thảo luận kế hoạch của bạn với khách hàng.

7) Biết kiểm thử của mình

Đừng trông đợi mọi sự làm việc hoàn hảo nên bạn phải kiểm thử mọi thứ sớm nhất có thể được. Mọi người đều phạm sai lầm cho nên kiểm thử là cách tốt nhất để tìm ra và khử bỏ lỗi. Ngay khi bạn nhận được yêu cầu, chuẩn bị trường hợp kiểm thử bằng việc tự hỏi mình “Mình kiểm thử cái này thế nào đây?” Nếu bạn không thể đi tới trường hợp kiểm thử thì hoặc là bạn không hiểu yêu cầu hoặc là yêu cầu không được khách hàng xác định rõ.  Trong trường hợp đó, hãy hỏi khách hàng họ thích kiểm thử nó như thế nào?

8) Biết giới hạn của mình

Thành công là việc chuyển giao sản phẩm đã hoàn thành cho khách hàng, họ được thoả mãn với kết quả. Để làm điều đó bạn phải linh hoạt. Đừng bị khoá chặt vào trong lịch biểu cứng nhắc mà thương lượng với khách hàng về khuôn khổ thời gian khả thi. Đừng bị mù quáng bởi phương pháp hay công cụ bởi vì chúng được thiết kế ra để hỗ trợ cho bạn chứ không giải quyết vấn đề của bạn. Bạn phải dùng tất cả các công cụ và người có sẵn cho bạn nhưng chú ý tới điều khách hàng muốn và điều chỉnh ưu tiên của bạn cùng kế hoạch của bạn cho phù hợp với hoàn cảnh.

English version

Project Manager

Thousand years ago, the Greek philosopher Socrates taught his students “Know yourself”. Today, I like to use the same approach in software engineering by suggest that software project manager:

1)     Know your project goal.

For every software project, you must set priority because you can not complete everything at once. Without priority you will not be able to focus and achieve anything. You should be able to state the goal of your project in a single sentence such as “Schedule is priority number one” or “Functionality is the most important”. If you can’t, your chance of achieving success is not good.

2)     Know your team members

Your team members are the most important thing that you have and their performance will make your project success or failure. You must take care of them and make sure the team operates as a unified unit and not as a collection of individuals. Team communications are essential so you must invest time in promoting trust and ensuring that everyone knows what they have to do to achieve the goal.

3) Know your customers

You must communicate with your customers on a periodic basis (Daily, weekly). They will let you know which is important to them and although they will change their minds often but you must build good relationship with them because their satisfaction will be essential to your success.

4) Know your process

Many people like to code first then ask question later. That is why they need software engineering training because if you code without clearly understand the requirements then it will be very difficult to change once it gets started. So it is important to deciding exactly how you’re going to do by planning everything according to a process and understand that a good software engineer always follow the process to work efficiently. By following the process you will:

  • Build confidence in yourself that you are following a disciplined road map.
  • Have a contingency plan in the event that something goes wrong
  • Generate a disciplined atmosphere in the work environment.

5) Know your tasks.

Today most software requirements are complex so project manager must decompose them into smaller tasks for the team to implement them accordingly. The decomposition and organize these tasks is what software architecture is about. Team members must pay close attention to how each task fits the overall product. Without this systematic approach you end up with a hundred different pieces that can not be integrated.

6) Know your changes

We live in a changing world. As the project progresses things will eventually changes. Customers will come up with new ideas or your team may run into some issues during implementation. Changes must be controlled if you want to succeed. You need to build a flexible plan that absorbs changes as they come but you must not yield to any pressure. If you are too flexible your project will be out of control like a horse without a rider but if you are too rigid your project will break like glass every time change happens. You must evaluate all changes to identify impacts and determine priority, which change must be implemented first and which one can wait and discuss your plan with the customer.

7) Know your test

Do not expect things work perfectly so you must test everything as early as possible. Everybody makes mistakes so testing is the best way to find and eliminate errors. As soon as you get the requirements, prepare a test cases by asking yourself “How do I test this?” If you can not come up with a test case then either you do not understand the requirements or the requirements are not well defined by the customer. In that case, ask the customer how do they like to test it?

8) Know your limits

Success is the delivery of the finished product to a customer who is satisfied with the result. To do that you must be flexible. Don’t get locked into a rigid schedule but negotiate with the customer for a feasible time frame. Don’t get blinded by a method or tool because they are designed to support you but not solve your problems. You must use all the tools and people available to you but pay attention to what customer wants and adjust your priority and your plan to suit the conditions.

 


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

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ó.
2

Đ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ĩ.
3

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?”
4

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?”
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.

Học tập

Khái niệm về học tập đang đối diện với những thay đổi nền tảng do sự thay đổi trong công nghệ và nền kinh tế toàn cầu.

Người kỹ sư phần mềm giỏi nhất

Bạn tôi hỏi tôi: Làm sao anh biết người kĩ sư phần mềm giỏi nhất so với người trung bình? Sau đây là ý kiến cá nhân của tôi:

Kỹ nghệ: Ham muốn đột nhiên xảy tới cho sinh viên tốt nghiệp đại học

Khi cuộc khủng hoảng tài chính sâu sắc thêm, sinh viên tốt nghiệp khoa học và toán học, những người đã có thời lũ lượt kéo vào Kinh doanh, Tài chính và Ngân hàng, bây giờ đang xem xét việc làm trong kĩ nghệ phần mềm.

Cần hỗ trợ cho nền kinh tế dựa trên tri thức

Khi thế giới bước vào thế kỉ 21, nền kinh tế toàn cầu trở thành nền kinh tế dựa trên tri thức.

Nền kinh tế dựa trên tri thức

Có một báo cáo đại học nói rằng 34% thanh niên giữa độ tuổi 18 tới 32 đang hoặc lập kế hoạch để khởi đầu doanh nghiệp hay đã làm việc đó rồi.

Nền kinh tế tri thức-5

Ngày nay, dẫn lái chính cho tăng trưởng kinh tế là trong miền công nghệ cao.

Nền kinh tế tri thức-4

Là một giáo sư lịch sử, bạn tôi rất tò mò về điều đã xảy ra ở Ấn Độ cho nên ông ấy hỏi: “Theo quan điểm của ông thì Ấn Độ rất thành công trong việc xây dựng xã hội tri thức bằng việc bỏ qua pha công nghiệp nhưng tại sao họ đã làm loại quyết định đó?”

Nền kinh tế tri thức-3

Ngày nay xã hội tri thức không còn là tầm nhìn về tương lai mà là thực tại. Phát triển kinh tế được xác định phần lớn bởi tri thức, do đó giáo dục là điều kiện tiên quyết bản chất cho cải tiến kinh tế và giảm nghèo.

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