Business Analyst
The business analyst’s main goal is to understand and communicate the business opportunity for
the project. They work with the customers and other stakeholders to understand their needs and
goals and translate those into persona definitions, scenarios, and quality of service requirements
that the development team will use to build the application. They also set and manage expectations
for the functionality of the system. On the project, the business analyst represents the user
experience and product management constituencies meaning that they should always be looking out
for the interests of the users and sponsors of the project.
Project Manager
The project manager’s main goal is to deliver business value within the agreed schedule and
budget. The project manager is charged with planning and scheduling duties including developing
project and iteration plans, monitoring and reporting status, and identifying and mitigating risk. The
project manager is also expected to consult with business analysts to plan scenarios and quality of
service requirements, consult with architects to estimate work, and facilitate communication within
the team.
Architect
The architect’s main goal is to ensure success of the project by designing the foundations of the
application. This includes defining both the organizational structure of the application and the
physical structure of its deployment. In these endeavors, the architect’s goal is to reduce complexity
by dividing the system into clean and simple partitions. The resulting architecture is extremely
important because it not only dictates how the system will be built going forward, but also
establishes whether the application will exhibit the many traits that are essential for a successful
project. These include its usability, whether it is reliable and maintainable, whether it meets
performance and security standards, and whether it can be evolved easily in the face of changing
requirements.
Engineer/Developer
The developer’s main goal is to implement the application as specified from the architectural design
within the planned timeframe. The developer is also expected to help specify the features of
physical design, estimate time and effort to complete each feature, build or supervise
implementation of features, prepare the product for deployment, and provide technology subject
matter expertise to the team.