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

Trở lại chuyện kiểm thử phần mềm

Một sinh viên mới tốt nghiệp, làm việc cho một công ti phần mềm gặp tôi nói: “Tôi làm việc là người kiểm thử phần mềm, tôi kiểm thử mọi thứ rất cẩn thận nhưng khách hàng của tôi vẫn tìm ra lỗi. Tôi đã làm gì sai và tôi có thể làm gì để là người kiểm thử giỏi hơn?”

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.

Mẹ sử dụng lò vi sóng theo cách rất tiện lợi lại tốt cho sức khỏe

Kỹ năng - Mỹ Diệu - 01/06/2025 12:00
Có thể bạn nghĩ rằng lò vi sóng chỉ có thể dùng để hâm nóng đồ ăn. Nhưng hãy để tôi cho bạn thấy cách mẹ tôi dùng nó, đúng là "gừng càng già càng cay"!.

Vì sao Âu Dương Phong hễ thấy hai cao thủ này là né tránh?

Thư giãn - Nguyệt Phạm - 01/06/2025 11:00
Điều gì ẩn giấu đằng sau thái độ khác biệt này của Âu Dương Phong?

Người đàn ông rong ruổi các tỉnh miền Tây chụp biển địa giới trước sáp nhập

Phong cách sống - Nguyễn Ngoan - 01/06/2025 10:00
Nghe tin các tỉnh miền Tây quê mình dự kiến sáp nhập, anh An dành 3 ngày chạy xe máy đến từng biển địa giới chụp ảnh lưu giữ kỷ niệm.

5 bài học dạy con của ''Vua dầu mỏ'' Rockefeller giúp gia tộc giàu 7 đời

Suy ngẫm - Khuê Hiền - 01/06/2025 09:00
Tỷ phú Rockefeller luôn đánh giá cao sự nỗ lực của mỗi cá nhân trên chặng đường làm giàu.

Khai mở hạnh phúc - Sáu lầm tưởng về hạnh phúc

Từ sách - Phim - TĐ - 01/06/2025 08:00
Chúng ta đã bắt đầu quyển sách bằng cách tìm hiểu xem hạnh phúc là gì, giờ là lúc để nghĩ xem hạnh phúc không phải là gì. 

Không phải Nữ Oa hay Tây Vương Mẫu, đây là nữ thần có thể giết Tôn Ngộ Không

Điện ảnh - Nguyệt Phạm - 31/05/2025 13:00
Bà là một vị thần quan trọng trong các tín ngưỡng dân gian.

Dịch vụ giúp "biến mất" khỏi Internet

Kỹ năng - Thái Nguyễn - 31/05/2025 12:00
Từ nhu cầu xóa dấu vết online đến dịch vụ “ẩn thân kỹ thuật số” bùng nổ, câu chuyện biến mất khỏi Internet đang dần trở thành trào lưu thời hiện đại.

Kiếm hiệp Kim Dung: Điều gì giúp Quách Tĩnh thắng được 4 cao thủ Ngư - Tiều - Canh - Độc?

Thư giãn - Quốc Tiệp - 31/05/2025 11:00
Chính sự kết hợp giữa sự chân thành của Quách Tĩnh và trí thông minh của Hoàng Dung đã giúp họ đến gặp được Nhất Đăng đại sư.

Gen Alpha - Thế hệ học trên TikTok, ôn thi qua hashtag

Phong cách sống - Trang Vũ - 31/05/2025 10:00
Thế hệ này đã biến việc học thành xu hướng, biến bài giảng thành nội dung viral.

Không còn bệnh tim - Bí mật cho trái tim khỏe mạnh từ một phân tử nhỏ bé kỳ diệu 

Từ sách - Phim - Minh Hằng - 31/05/2025 09:00
Hãy đọc "Không còn bệnh tim" (No More Heart Disease) để khám phá những bí mật của trái tim và bắt đầu hành trình chăm sóc sức khỏe chủ động ngay hôm nay. Vì một trái tim khỏe mạnh, chính là nền tảng của một cuộc sống hạnh phúc và ý nghĩa.

55 nguyên tắc ứng xử thiết yếu để thành công - Đừng đợi đến khi con lớn mới dạy con cách ứng xử

Từ sách - Phim - Quìn - 31/05/2025 08:00
Là cha mẹ, ai cũng mong con mình trở thành người tử tế, tự lập và mạnh mẽ. Nhưng đó không phải là điều trẻ học được trong một sớm một chiều, mà là kết quả của sự rèn luyện từng ngày, bắt đầu từ những điều nhỏ nhất trong ứng xử hằng ngày.

Xem ‘Sex Education’, tôi ân hận vì nói với con: ‘Chuyện này không dành cho con nít’

Điện ảnh - Ứng Hà Chi - 30/05/2025 13:00
Tôi từng né tránh chuyện tình yêu, giới tính để bảo vệ con.

Vợ u não sống thực vật, chồng hát, nhảy mỗi ngày để đánh thức và phép màu xảy ra

Truyền cảm hứng - Nhật Thùy - 30/05/2025 12:00
Bác sỹ khuyên từ bỏ khi người vợ u não chuyển sang sống thực vật, tiền đã cạn, nhưng phép màu đã xảy ra sau nhiều tháng Deng nhảy và hát để cố gắng đánh thức cô.

Lotus Chat - ứng dụng vừa vượt Zalo, Messenger về lượt tải: Người dùng đánh giá gì?

Kỹ năng - Phan Trang - 30/05/2025 11:00
Lotus Chat - ứng dụng nhắn tin của người Việt đang nhận được nhiều đánh giá tích cực của người sử dụng.
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
Chủ nhật, 01/06/2025