19 Jan, 2021
Công nhân có kĩ năng cho công việc dự án
Mục tiêu then chốt của mọi dự án phần mềm là đáp ứng nhu cầu của khách hàng. Điều khách hàng muốn là tổ dự án chuyển giao sản phẩm tương ứng theo lịch biểu, trong chi phí, và có chất lượng cao. Tuy nhiên, điều quan trọng nhất với nhiều người quản lí dự án là lịch biểu dự án.
Lí do là đơn giản: nếu dự án không đáp ứng lịch biểu, người quản lí cấp cao biết về điều đó và người quản lí dự án sẽ bị đánh giá là thất bại hay không có năng lực. Trong hầu hết các doanh nghiệp, người quản lí cấp cao bao giờ cũng muốn biết liệu dự án có tiến triển không và liệu nó có kết thúc đúng thời gian không. Nếu dự án bị chậm, điều đó có nghĩa là sẽ có chi phí thêm cho công ti.
Chi phí là yếu tố quan trọng khác trong dự án phần mềm. Người quản lí dự án giỏi bao giờ cũng làm cái gì đó về vấn đề chi phí khi họ thấy chúng, không phải ở cuối khi không ai còn có thể làm được cái gì. Nếu khách hàng muốn thay đổi thì người quản lí dự án phải tính toán nó có thể tốn chi phí bao nhiêu và thương lượng với khách hàng trước khi đồng ý với bất kì công việc thêm nào. Thay đổi cũng sẽ tác động lên lịch biểu, cho nên sẽ là khôn ngoan để yêu cầu thêm thời gian để thực hiện chúng nữa. Tuy nhiên, ít người quản lí dự án biết cách thương lượng và thậm chí còn sợ đương đầu với khách hàng. Đó là lí do tại sao với thay đổi, dự án thường lâm vào vấn đề với cả chi phí và lịch biểu và người quản lí cấp cao bao giờ cũng giận dữ với người quản lí dự án. Để tránh điều này, tôi khuyến cáo rằng người quản lí dự án nên theo các lớp học về kĩ năng thương lượng để cho họ có thể thảo luận với khách hàng về yêu cầu thêm trong khi thực hiện dự án.
Trong khi chi phí và lịch biểu là quan trọng, sản phẩm phần mềm phải làm việc được. Nếu dự án kết thúc theo lịch và trong chi phí nhưng sản phẩm không làm việc thì đó là thảm hoạ. Theo định nghĩa, chất lượng nghĩa là sản phẩm thoả mãn yêu cầu chức năng và vận hành không có hay có lỗi tối thiếu. Tất nhiên, người quản lí dự án là thành công nếu người đó có thể chuyển giao sản phẩm chất lượng đúng thời gian và trong chi phí nhưng ngày nay ít công ti có thể nhất quán làm điều này. Câu hỏi là được cho chọn lựa, mọi người sẽ chọn cái gì? - Chuyển giao sản phẩm chất lượng nhưng chậm hay sản phẩm chất lượng thấp nhưng đúng thời gian?
Với người quản lí dự án, câu trả lời có lẽ là “Sản phẩm chất lượng kém nhưng đáp ứng lịch biểu.” Với người phát triển, câu trả lời có lẽ là: “Sản phẩm chất lượng cao nhưng nó bị chậm.” Với người chủ doanh nghiệp thì câu trả lời có lẽ là: “Chừng nào không tốn phí cho tôi thêm, thì không thành vấn đề.” Khách hàng thì sao? Câu trả lời có lẽ sẽ là: “Tôi muốn nó nhanh, tôi muốn chất lượng, tôi muốn tất cả các tính năng mà tôi đã đòi hỏi và hoàn thành tương ứng theo lịch biểu. Nếu KHÔNG, thì có nhiều công ti phần mềm trên khắp thế giới. Nhiều công ti trong số họ đã chứng tỏ năng lực làm công việc chất lượng theo lịch biểu, trong chi phí và họ đang tìm thêm cơ hội kinh doanh. Tôi có thể cần nói chuyện với họ.”
Nếu bạn là người chủ công ti ước muốn của bạn sẽ là gì? Bạn có muốn xây dựng sản phẩm chất lượng, đúng thời gian, trong chi phí không? Bạn có muốn khách hàng được thoả mãn không? Bạn có muốn tăng trưởng công ti của bạn không? Cách DUY NHẤT để làm điều đó là thuê người phát triển phần mềm và người quản lí dự án có kĩ năng. Câu hỏi là bạn tìm họ ở đâu? Tất nhiên, bạn quảng cáo trên báo chí hay trực tuyến về những người có kĩ năng nhưng làm sao bạn biết các ứng cử viên là người phát triển có kĩ năng? Mọi người xin việc làm đều làm hết sức bằng việc nói rằng họ có bằng cấp mà bạn cần và kĩ năng mà bạn muốn. Bạn có cho rằng mười lăm phút phỏng vấn sẽ cho phép bạn tìm ra người có kĩ năng đúng không? Nếu câu trả lời là “Có” thì bạn là lạc quan đấy vì theo nghiên cứu gần đây, cơ hội kiếm được người đúng là ngẫu nhiên như mua vé xổ số vậy. Thuê người cũng rất tốn kém, phải tốm tiền để quảng cáo, mất thời gian kiểm mọi lí lịch và đơn xin việc. Trong hàng trăm lí lịch, bạn có thể tìm được vài ứng cử viên có phẩm chất. Cũng mất thời gian để phỏng vấn họ và lựa chọn họ. Đây là cách thông thường để thuê người và mọi công ti đều làm điều đó.
Tuy nhiên, các công ti phần mềm hàng đầu có cách tốt hơn. Các công ti như Microsoft, Google, Oracle, Intel và IBM hiếm khi quảng cáo cho việc còn để mở. Họ bao giờ cũng cộng tác với các đại học hàng đầu được lựa chọn để thiết kế ra chương trình đào tạo đáp ứng cho nhu cầu của họ. Mỗi mùa hè, họ thuê hàng trăm nghìn sinh viên làm việc trong công ti của họ để cho họ có thể quan sát và chọn lọc những sinh viên giỏi nhất mà họ muốn thuê. Bằng việc làm điều đó, họ hoàn toàn biết về đào tạo đại học, tri thức và kĩ năng của sinh viên để cho họ có thể đảm bảo có kĩ năng họ cần cho công ti của họ. “Thực tập mùa hè” là cách tốt nhất để có được công nhân tốt và nó có tác dụng tốt cho mọi người. Sinh viên có được kinh nghiệm họ cần. Công ti có được công nhân “chi phí thấp” để làm công việc thực và cơ hội để quan sát họ. Các đại học nhận được cái vào từ công nghiệp về kĩ năng nào họ phải hội tụ vào để cho họ có thể cải tiến chương trình đào tạo của họ. Bằng cộng tác với công nghiệp, trường học có cơ hội tốt hơn để có sinh viên tốt nghiệp của họ làm việc với các công ti này ngay lập tức. Một cách điển hình, sinh viên trong năm thứ ba và thứ tư được đưa vào công ti trong mùa hè. Họ được trao công việc và được người quản lí quan sát và nếu họ được chọn, phần lớn trong họ nhận được “đề nghị việc làm” trước khi họ trở về trường. Bằng việc làm điều đó, công ti có thể tiết kiệm nhiều thời gian, nỗ lực và chi phí của việc thuê công nhân và sinh viên tốt nghiệp để có công nhân có kĩ năng cao và có động cơ để làm tăng trưởng công ti.
—-English version—-
Skilled workers for Project works
The key objective of all software projects is to meet customer’s need. What customer want is for the project team to deliver the product according to schedule, within costs, and of high quality. However, the most important thing to many project managers is the project schedule. The reason is simple: if the project does not meet the schedule, senior managers know about it and the project manager will be judged as failure or incompetent. In most business, senior managers always want to know whether the project is making progress and if it will finish on time. If the project is late, it means there will be additional costs to the company.
Cost is another important factor in software project. Good project managers always do something about cost issue when they find them, not at the end when no one can do anything. If customer wants a change then project manager must calculate how much it is likely to cost and negotiate with customer before agree to any additional work. Change will also impact schedule, so it would be wise to request more time to implement them too. However, few project managers know how to negotiate and even afraid to confront the customer. That is why with changes, the project often gets into problem with both cost and schedule and senior managers always angry at the project manager. To avoid this, I recommend that project managers to take classes in negotiation skills so they can discuss with customer about additional requirements during the project execution.
While cost and schedule are important, the software product must work. If the project finishes on schedule and within costs but the product is not working then it is a disaster. By definition, quality means the product satisfies the functional requirements and operates without or with minimum defects. Of course, the project manager is successful if he can deliver quality products on time and within costs but today few companies can consistently do this The question is given choice, what would people choose? - Deliver quality products but late or low quality products but on time?
For project manager, the answer probably is “Poor quality product but meet the schedule”. For software developer, the answer probably is: “High quality product but it is late”. For business owner then the answer probably is: “As long as it does not cost me more, it does not matter”. What about the customer? The answer would probably be: “I want it fast, I want quality, I want all the features that I asked for and complete according to the schedule. If NOT, then there are lots of software companies all over the world. Many of them are already demonstrating the ability to do quality work on schedule, within cost and they are looking for more business opportunities. I may need to talk to them”.
If you are the owner of a company what would be your wishes? Would you want to build quality product, on time, within costs? Would you want satisfied customers? Would you want to grow your company? The ONLY way to do that is hiring skilled software developers and project managers. The question is where do you find them? Of course, you advertise in newspapers or on line for skilled people but how do you know the candidates are skilled developers? Everyone who apply for job would do their best by stating that they have the degree that you need and the skills that you want. Do you think a fifteen minutes of interview would allow you to find the right skilled person? If the answer is “Yes” then you are optimistic because according to recent study, your chance of getting the right person is as random as buying the lotto ticket. Hiring people is also very expensive, it costs money to advertise, it takes time to review all resumes and applications. Among several hundred resumes, you may find a few qualified candidates. It also take time to interview them and select them. This is the normal way to hire people and every company is doing it.
However, top software companies have a better way. Companies like Microsoft, Google, Oracle, Intel and IBM rarely advertise for job opening. They always collaborate with selected top universities to design training programs that meet their needs. Each summer, they hire hundred thousand students to work in their company so they can observe and select the best students that they want to hire. By doing it, they fully know about the university trainings, the knowledge and skills of students so they can guarantee to have the skills they need for their company. “Summer internship” is the best way to get good workers and it works well for everyone. Students get the experience they need. The company gets “Low cost” workers to do real work and a chance to observe them. The universities receive inputs from the industry on what skills they must focus on so they can improve their training programs. By collaborate with the industry, the school has better chance to have their graduates working with these companies immediately. Typically, students in the third and fourth year are placed in a company during the summer. They are given works and observed by managers and if they are selected, most of them receive “Job offers” before they return to school. By doing that, company can save a lot of time, efforts and costs of hiring workers and guarantee to have highly skilled and motivated workers to grow the company.