Hello friends…….
There are various roles involved
while developing any software, in short project development.
There is a series of roles that exist in most
software development processes. In some cases, one team member may be filling
many roles and some roles may be suppressed for a specific type of project, but
all of these roles exist in one form or another in every software development
project:
Subject Matter
Experts (SME)
The Subject Matter Expert is the person or persons from
which requirements are captured. These are the people who know what the
software needs to do and how the process works. The SME role is somewhat
different from the other roles because it is constantly changing as new clients
(internal or external) are brought in to help design a solution. SMEs are
rarely from IT -- except when the solution is being designed to support IT.
SMEs are most frequently the person who will receive the benefit of the system.
Functional Analysts
(FA)
Functional Analysts have the unenviable task of eliciting
clear, concise, non-conflicting requirements from the Subject Matter Experts
who may or may not understand how technology can be used to transform the
business processes in a positive way.
Solutions Architect
(SA)
The technical architect is responsible for transforming
the requirements created by the Functional Analysts into a set of architecture
and design documents that can be used by the rest of the team to actually
create the solution. The Solutions Architect is typically responsible for
matching technologies to the problem being solved.
Development Lead
(DL)
The Development Lead's role is focused on providing more
detail to the Solution Architect's architecture. This would include detailed
program specifications creation. The Development Lead is also the first line of
support for the developers who need help understanding a concept or working
through a particularly thorny issue.
Developer (Dev)
The heart and soul of the process, the developer actually
writes the code that the Development Leads provided
Specifications for.
Quality Assurance
(QA)
The Quality Assurance role is an often-thankless position
that is designed to find bugs before they find their way to the end customers.
Using a variety of techniques ranging from keying in data and playing with the
system to formalized, automated testing scripts, the Quality Assurance team is
responsible for ensuring the quality of the solution and it's fit to the
requirements gathered by the Functional Analyst. Sometimes the QA team is known
by their less flattering name of testers.
Deployment (Deploy)
The Deployment role is the one that packages up all of the
compiled code and configuration files and deploys it through the appropriate
environments or on the appropriate systems. The Deployment role is focused on
getting the solution used. To that end, the role may include automated software
installation procedures or may be as simple as copying the files to the
appropriate place and running them.
Training
The Training role is responsible for documentation for the
system as well as any instructor or computer-based training solutions that are
designed to help the users better understand how the system works and what they
can do with it.
Project Manager
(PM)
The Project Manager is responsible for ensuring consistent
reporting, risk mitigation, timeline, and cost control. The project manager
role is a problem-solver role. They try to resolve problems while they are
small so that they can be handled more quickly and with less cost.
Development Manager
(DM)
The Development Manager is responsible for managing
multiple priorities of conflicting projects. The Development Manager role is
also an escalation for issues from the team, which it is unable to resolve
internally. Of course, each organization has its own take on these roles; however,
these are the roles you'll see most often in an organization doing development.
Here I have
tried to cover all the roles according to my knowledge that are involved project
development.