Specialize – each member of a team assigned to a project should do what they do best for the length of that project.
With limited resources, there is another strong tendency to have IT staff ‘wear multiple hats’ on a project, especially the Business Analyst who is asked to also be the Project Manager and/or Lead Tester. Rather than getting more than you are paying for, you get less as an IT Staffer skilled in one role spends more time performing the other roles than an appropriate specialist would, and is distracted from being productive in their primary role.
At any time, and perhaps more so currently, there will be debates about which is better, a generalist or a specialist. I will agree that a strong, experienced generalist who can cover a wide number of tasks is the best resource you can have. However, these people are rare, and the odds of having even one such person in your average IT department are low. So, make sure that your staff is doing what they do best as much as possible as often as possible.
(This is not to say that people may not learn new roles over time, either switching to different roles or aspiring to be that coveted generalist. However, this is the task of overall resource management, overhead which will take up some portion of a person’s productive time. This is why most project management methods usually assume only about 6 out of each 8 hours can be used on actual projects. This reduced availability speaks even more to the value of specialization at a point in time. It also speaks to the value of matrix management, where Project Managers manage the projects and Resource Managers handle the ‘care and feeding’ of the valuable IT staff assigned to projects.)
Readers: I am looking for Generalists, effective Generalists. I think the only way to know if you are considered one is to be on a project where everyone does do everything. I want to know if you were part of a past project like this, and how it turned out; and if you are on such a project now, let us all know how it is going.