Let’s define some roles for a full life-cycle ATG Development effort. Your company may not be arranged exactly like this, but it’s a good baseline I think.

Client Representative
The single face of the client. The sole conduit to and from the client.

Project Manager/Dev Manager
The owner of the schedule, resources, project status, and interface between the project team and the rest of the company. The solver of problems, overcomer of obstacles.

ATG Architect. Responsible for application design and quality. Provides ATG knowledge and guidance to the team throughout the entire project lifecycle. Provides mentorship, documentation, and more.

Business Analyst
Responsible for documenting the business requirements and involved in the process of translating the business requirements to technical requirements and test scripts.

Tech Lead
Leader of the technical implementation team. Responsible for code quality, task distribution, and mentorship. Point person for reporting on development status

Tech Team
Team of JSP and Java developers. Responsible for the ATG implementation.

Creative Lead
Leader of the creative team. Point person for creative issues and direction.

Creative Team
Team of designers, and front end (html/css) developers.

Test Lead
Leader of the test team. Point person for ensuring test plans are created, and reporting on test pass status.

Test Team
Team of testers.

—- edit: added on 5/23/08 ——
Database Administrator to manage the database instances, and review SQL and table structures.

What do you think? What would you add or change?