As a recurring feature, project management veteran Tom Mochal responds to member questions and discusses issues members have raised. This is a great way to learn about the problems and questions others are having and to get valuable advice on the issues developers face every day.
I work for a medium-size company that has a development staff of approximately 25 people. When we started getting involved with Java programming, our company brought in consultants to do the work. We are wondering why our company is not investing in current employees. It seems like consultants are brought in to do all the cutting-edge work, while the employees are stuck in the older technology. What should we do?
Many companies struggle trying to determine the best way to staff new projects. This staffing is especially difficult when the project requires technical skills that are not available in the company. In some cases, the people with the closest skill sets are simply not available when the project team needs them. In other cases, no one in the development organization has the skills at all.
Before you can determine how to respond to your company's staffing strategies, it's important to understand the issues that may be driving those decisions. First, let's look at the skill gap from the company’s perspective. If there is business value in a project and solution calls for new technical skills, how do you staff the project? If you staff the project entirely with current employees without the proper skills, aren’t you asking for trouble? Aren’t you increasing the risk that the project will take longer and have lower quality if the staff is trying to learn new technology for the first time?
There are at least three staffing strategies that a company can execute to complete critical business projects.
Hire staff with the new skills
A company can acquire new skill sets by looking for new hires who have the skills they need. This is especially valuable if your organization has an understanding of what new development skills it will need in the future. For instance, a few years ago, organizations realized that many business solutions were going to require Web development skills. Given that perspective, when there's an employee opening, your company should attempt to hire new people with Web development backgrounds. Even if their first assignment is not in Web development, the organization has an opportunity to start seeding those skills.
Train the current staff
Another approach is to develop existing staff. This is the best option from the current staff’s perspective, and I think it makes the most sense over time. I would recommend that this process be handled in two steps. First, when your organization identifies likely development trends, it should provide basic awareness sessions to as many people as possible. For instance, if it looks like XML is going to be important for your company's development projects in the future, the entire staff should be provided with an awareness of XML. Second, the organization should provide formal training for those people who will actually work on projects with the new technology. This training will be much more extensive than the awareness sessions given to everyone else. These employees can then immediately apply the training on their project.
In many cases, even though a certain technology is new to your company, others have been using it before. The company can rely on experienced contract people who are able to leverage their prior experience to provide an immediate impact to a project. This option includes bringing contractors in on the project or outsourcing the entire effort to a third-party firm.
A balanced strategy
The right hiring blend depends on the particular staffing strategy of the company. For instance, I have seen companies that consider their production systems to be so critical that they try to keep their current staff supporting that environment, while outsourcing much of the new project work. Employees then pick up new skills through the support organization when applications move from development to support. Other companies tend to see new projects as the area that provides the most value, and they make sure that the projects are staffed predominately with employees. These organizations outsource their support environment instead.
My preference is to start with the notion that a company should invest first in its current employees. These people should have the opportunity to pick up the newer technologies and be the leaders in helping to leverage new technology to meet current business needs. Current employees can gain these skills in a couple of ways.
First, there is formal training for people who have the ability to apply the new skills immediately on a project. Second, these skills can be enhanced by hiring key contract people with prior experience in the technology. Contract staff should be hired with the dual objective of helping to create project deliverables and cross-training the staff in the new technology. This ensures that the skills are embedded in the organization after the project completes and the contractor leaves. This strategy should be supplemented by hiring new employees with these new skill sets over time as openings occur.
What recourse do you have?
In your particular situation, rather than just being angry with the company for outsourcing new technology, you should sit down with your manager and discuss why this is occurring. The company can lose a lot in the long term by relying on outside talent in this way. Perhaps there are some circumstances about the project that required the use of outside people that are not obvious at first glance. Your manager may be able to give you a sense for why projects are staffed as they are.
Arguing for involvement
If contractors are doing most of the work on your project, these points may help convince your manager that you should be involved:
- Your company will get more mileage out of money spent on contractors if you're part of the knowledge transfer. The know-how in the application will not disappear when the contractors leave. Be sure to point out that you can’t learn everything you need to know in a couple overview sessions at the end of the project. You need to get involved with the contractors early.
- You'll be able to add value to the project. You know the business, you know your systems, you know your customers, and you have relationships with other departments.
- Someday, someone will need to support that new application. If you get an early start learning the system and the technology enabling it, you will be well positioned to step into that support role.
- Your involvement will allow you to be the point person who leads further knowledge transfer efforts to other employees. You can be a resource for knowledge of the new system long after the consultants are gone.
- If you are fully up to speed when the project is done, there will be no need (or at least a reduced need) for the consultants to remain. If your company can bid them farewell sooner, that saves real dollars.
One more important issue to consider before you make your argument is coverage for your current work. Your company may not have you participating in the new effort because you are too valuable (in its eyes) in your current role. While it may be a compliment, it may also prevent you from getting where you need to be. Make sure that you can show that your current role will be satisfactorily covered and/or that the benefits of the new role far outweigh the negatives of leaving your current duties.
Make your case
There may be good reasons for the choices your company is making, but it never hurts to question them. Don’t assume that management has considered every aspect of the points mentioned above—or that it even knows you would be interested in being a part of a new project. As you make your case, be sure to concentrate on how your involvement will benefit the company, not on how it could benefit your professional future.
Project management veteran Tom Mochal is director of internal development at a software company in Atlanta. Most recently, he worked for the Coca-Cola Company, where he was responsible for deploying, training, and coaching project management and life cycle skills for the IS division. He's also worked for Eastman Kodak and Cap Gemini America and has developed a project management methodology called TenStep. He holds a B.S. in computer science from Iowa State University.