To successfully deliver an IT project, several IT roles need to be filled to carry out different functions on the project. Being knowledgeable about these roles would help you as an IT project manager identify any skills gap in your team on a given project.
The challenge here is that there are so many blurry lines and mix up that could create gaps on projects. And if you do not know the skills required on your project, you might not know when there is a gap and it might be too late when you get to that point in the project when you need this particular skillset. When you know the roles needed for a project, you can then proactively decide during staffing exercise if you want all the roles filled or if individuals in your team can occupy more than one role. As an IT project manager, I have had to wear several hats myself just to bridge the skill gap in my team. For example on a smaller less complex project, I have double as a business analyst and an IT project manager. On another, I was a ScrumMaster for the team of developers.
It is important to note that the skill sets required for a project vary according to the type of project. A full-on development and implementation of an AI solution that would be integrated with third-party applications will require the full range of Business Analyst, Solution Architect, developers, designers, testers, etc. On the other hand, a simple software upgrade might require just one or more database and software engineers. In the case of a software upgrade, there is no real need for a BA or a designer.
So I will run through some common IT roles for IT projects to give you an idea of a typical team structure
The Project Leadership Team
Project Sponsor- The project sponsor is usually on the client-side for external projects. He is tasked by his organization to ensure the project is a success. He is responsible for approving funds for the project and making key decisions as it relates to the company. He could be the CIO when a data migration project is being implemented or the CFO for perhaps an accounting software implementation project. He is more or less the person promoting the benefits and the progress of the project within his organization to gain acceptance for the new technology. He is also a point for escalation when the client team’s inability to meet their contractual obligations might jeopardize the project’s success.
IT Program Manager- The Program Manager owns the delivery of several projects in a portfolio. For example, a company that is about to embark on a full on digital transformation of the organization can hire a program to own the several projects within the portfolio. These projects could be the implementation of a new accounting system, a new website, etc. Sometimes these individual projects have their project managers that report to the program manager. The program manager sometimes has similar roles with the project sponsor, especially for internal projects. The program manager usually knows the technology inside out and helps make key decisions on the implementation approach.
IT Project Manager- The project manager is a level below the program manager. Sometimes the Project manager also doubles as a program manager depending on the complexity of the individual projects. The project manager is in charge of the day-to-day management of all areas of the project. He keeps track of the daily task, risks, and dependencies. He interacts with the technical team; communicates with stakeholders. He ensures that the project stays within schedule, cost, and scope. More on the role of the Project manager in part 5 of this write-up.
Delivery Engagement Manager- When I was at IBM leading IT projects, we had this role. I haven’t come across this role much in other organization perhaps the duties of the delivery engagement manager is coupled with the Project Manager role. The delivery engagement manager was responsible for building a strong relationship with the client executives, sponsors, and was a point for escalation for issues. They were more or less to the executing team what the project sponsor was to the client team. Their responsibility of building the relationship with the client sponsors allowed the IT project manager to focus on managing the executing team.
The project technical (executing) team
Tech lead- The tech lead leads the technical team. He assigns work to the team, acts as a point of escalation during code design, development, and testing. You will usually find tech leads on very large complex projects where the IT project manager is focused on other aspects of project management.
Business Analyst- The business analyst collects business requirements from the business stakeholders and coverts them to software requirements that the developers can understand. He does this by interviewing business stakeholders about their needs and wants for the new system. He also learns in-depth about ‘as-is’ business processes and maps them against ‘to-be’ business processes. The BA is the one person that understands the big picture. The BAs in my last projects used the ‘ design thinking method ‘ to elicit requirements and accurately identify the pain points of business stakeholders. Design thinking is a very creative way of ensuring that real human problems are being addressed in the final solution. It is a very interesting approach to creating a software solution that addresses the organization’s business needs. Depending on the complexity of the project, I have been on projects where user experience designers took on this role and on rare occasions, the IT project manager. The business analyst has very good communication listening skills. At the end of their requirements gathering exercise, they are expected to produce documentation that clearly represents the software requires and is easily understandable to the developers.
Solution Architect – The solution architect draws up the solution architecture that shows all the integration points within and outside the software. The solution architecture shows all the machines and tenor properties and how they should interact with each other for the entire system to yield the results. The solution architect will typically learn about the clients’ enterprise architecture including required security, access management, servers, storage, databases, business processes, etc
Tech Lead- The tech lead has the responsibility of leading the front end and back end developers on complex projects. He delegates and assigns work to the technical team. He is very tech-savvy and a skilled programmer in his own right.
User interface and user experience designer- He designs the user interface and how the end-users of the system will interact with the system. The design thinking method also helps the UX designer to design a user-friendly system. He designs the interactive wireframe which is used as the basis for design the over interaction based on the needs of the end-users.
Security consultant- For very complex projects that have a heavy security component such as in financial or health services projects, a security consultant is usually brought on board for his input on security in the solution architecture. When the security component of the project is minimal, the solution architect is usually equipped to handle incorporating basic security in the solution architecture
The business stakeholders or the client (the representatives of the people who will be using the system.) They have a leader who could be the head of finance, head of sales, Head of HR. They know the business requirements and have the vision. There is usually one or 2 representatives for the business stakeholders because others have their daily jobs to return to. He will more likely be dedicated to the project and providing feedback to the executing team.
So now you know the roles and skills set needed for an IT project, you might discover that some times your projects have limited resources and roles need to overlap. I have personally had experiences on projects when I had to double as a BA and an IT project manager because there was none assigned to the project and I figured that there was much work to be done anyway. I have been on some projects where the solution architect had to double as a tech lead. And at other times the back-end developers stepped in to create some basic front-end designs.
As an IT project manager, identifying these gaps and looking within your team for how these gaps can be filled will be a plus for your project. And where the required skill sets cannot be found within your team, you want to escalate before coming up with a detailed task plan.
The knowledge from each of your team members will be needed to create the most accurate project plan. Your team members are the only ones who can accurately tell the duration of a piece of work.