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.
- Blogs of Prof. John Vu, Carnegie Mellon University