The Right Team Structure for an Integration Project
Anil Bhimineni shares his perfect integration team structure, with breakdowns of each role and what its responsibilities should be.
Join the DZone community and get the full member experience.Join For Free
One of the basic aspects of an integration project is designating and managing the project team, to integrate the efforts of all contributors to the project. Projects consist of many diverse tasks that require the expertise and resources of a number of different specialties. These tasks are assigned to various people and organizations, usually from both within and outside the organization holding primary responsibility for the project. This blog explains about choosing the right team structure for an integration project.
A typical integration team structure may be based on the project-oriented hierarchy found in the work breakdown structure. More complex structuring occurs when the work breakdown structure is not project-oriented, when project risks are not uniform, and when resources are constrained. However, this is my ideal team structure irrespective of the size of the project.
The project sponsor is the individual—often a client manager or an executive—with overall accountability of the project. This person acts as a representative of the organization in conjunction playing a leadership role ensuring the project delivers the agreed business benefits. During the life-cycle of any project, business circumstances may change considerably, making it impossible for any project manager to carry out their duty. Examples include change in existing organizational policies or adverse business conditions. In such cases, the project sponsor reacts to any such circumstances.
Think about this famous saying: “A user is somebody who tells you what they want the day you give them what they asked for." This can be taken to mean that the user often does a poor telling delivery team at first what they want and then gives us a better definition once the project is over and the solution doesn’t really meet their needs. However, business users have specific needs and preferences with respect to the project and can voice their opinions to improve the end-user experience.
The person responsible for delivery, in conjunction with the Integration Architect once after a project scope is defined. The Project Manager then ensures that the project is delivered on time, to budget, and to the required quality standard (within agreed specifications). He/she ensures the project is effectively resourced and manages relationships with a wide range of groups (including all project contributors). The Project Manager is also responsible for managing the work of consultants, allocating and utilizing resources in an efficient manner, and maintaining a cooperative, motivated and successful team.
They understand the customer’s business needs, system functionality, and business processes to maintain the source data and develop the data design. They design specifications, develop strategy and high-level data architecture documentation, which exemplify the source and destination of database from and to approved data sources. They build data mapping and provide the means of system integration by considering the target as well as the source. They resolve all types of design, as well as test and data issues with the help of data dictionaries. They mentor, direct, and train the client staff and perform as a technical lead.
Developers participate in the design of architecture, data-flow, mapping between the systems to be integrated along with the architect, technology specialist, external partners and business users. The developer then assess requirements of a module assigned and takes responsibility of delivering a pragmatic solution to it. They then hand over the completed solution to QA Team by deploying it on to the QA server and will fix any bugs reported by other IT staff.
Quality Assurance Analyst
QA resource work with the integration architect and developers at all stages to promote quality. They prepare test plans and ensure they are followed amongst other QA analyst, and they also produce and prioritize bug reports and work with developers to perform root-cause analysis and preliminary problem diagnosis.
Assists all customers and provide production support for all design, as well as the installation process of the project. Analyze all business processes and ensure compliance to all controlled processes according to business requirements, maintain logs of all issues, and ensure resolutions according to quality assurance tests for all production processes. They also provide 24×7 operational support to all production practices on holidays and weekends.
Deployment / Implementation Engineer
As with most software development projects, the deployments are handled by a seasoned resource of the development team, same as the case in integration projects. Most customers rely on the delivery team to handle the real deployments like manually configuring middle-ware, pressing the deploy button from the administrative console of their production server either remotely or onsite depending on complexity, and the agreed terms of the parties involved on either side.
The operation team is the one which manages the production applications. System administration, application deployment, monitoring, issue escalation and response, 24x7 on call support, configuring hardware, managing the server capacity for a given application, and establishing backup schedules. The operation team is the bridge between the customer and development teams post-deployment as these people are one who are alerted first in case of applications performance lag whether it's an application monitoring tool or by an inevitable angry phone call from business people. Then they try to isolate the fault by performing the routine checks as per their standard operating procedure and report it to the right team to get it fixed.
Opinions expressed by DZone contributors are their own.