The Business Analyst is responsible for knowing the business processes contained in the business design and capturing them in a
model that can be used by the rest of the development team. Ideally, the model is in a form which can be used also to automate those processes in the information system. Generally this is done using modeling tools.  The business analyst is a member of the development team, participating throughout the development cycle to refine and optimize the business design and establish its key performance indicators. The analyst later uses that information to refine the business design or drive changes in its implementation, and ultimately to verify that the IT realization faithfully implements the business design.

The Integration Specialist is responsible for integrating existing and new services, and end-users into the business process definition . The specialist will typically use visual composition tools and service-bus configuration tools to connect/integrate abstract service components that comprise the business processes. The integration specialist, along with the enterprise architect, will also be involved in establishing an approach to satisfying the security and Quality of Service requirements of the enterprise when composing services from business partners and other service providers outside of the enterprise’ operational environment.

The Software Architect is responsible for translating the business design into a set of software component design specifications for
implementing the service definitions and business objects called for in that design. This may go beyond just defining the services in the business – it may go as far as designing the internal workings and structure of the actual service components. Building the software architecture will also include making decisions about the appropriateness of legacy function to that design, and determining how to wrapper, extend or re-factor that legacy function to best fit the design.

The Application Developer is responsible for implementing the design for service provided by the software architect. This includes using an appropriate language and technology in which to implement the services, and following the design for those components to the extent those details are provided by the software architect.

The Enterprise Developer is a specialist in legacy application functions, languages and technologies. The developer is responsible for assisting the software architect to identify potential re-use of these functions, and in helping determine how best to extend or re-factor those functions to enable a better fit with the business design.

Finally Enterprise Architect is the person responsible for ensuring consistency across each role’s tasks, in a manner that balances the creation of a set of implementation artifacts representing the business design against the constraints, preferences, and legacy capabilities of the operational environment.

Apart from the above mentioned important or high-level roles, we do have the normal roles like DB administrator, System Administrator, Support team etc, which you see in regular operations of execution of any project.