Description: |
Project managers own the effort of the project staff:
the manager must plan and specify tasks for team members to work
on, help improve the process, and guard against risks such as
loss of resources. They work with individual contributors to
estimate tasks and track progress. Project managers are the
official interface between the project and rest of the
organization.
Every project should have a project manager. For very small projects, the lead developer may also be given the project manager role. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | The most obvious thing that a product manager does is write the SRS: the product manager owns the software requirements document. To specify a product that will be successful, product managers must understand user needs, market opportunities, and the abilities of the development organization. Product managers often work closely with the sales force to determine how product features affect sales. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
Domain experts know the business domain well. They help the
development team to understand requirements that might otherwise
remain unstated (leading to misunderstandings).
When domain experts are not available, product managers or business analysts must take on these responsibilities. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
Test engineers work to test the product. Testing can be
done during development as an aid to developers, or closer to
the end of the release cycle as part of the release criteria.
Testing seeks to both determine the quality of the product, and
to pinpoint defects that need repair. Test engineers work with
management to choose the testing approach, deploy needed testing
infrastructure, design the test suite, automate testing
processes, perform test runs, produce test reports, evaluate
test reports, and report defects. Test engineers are often
strongly affected by the software development process and should
be active participants in process improvement.
If a dedicated test engineer is not available, these responsibilities may be given to one of the developers. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | Testers work with test engineers, but focus on the specific tasks of performing tests. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | Developers are the core of the development team. They do all the technical work of designing and coding the system. They provide the basic information needed for use by the technical writers, technical support engineers, and operations engineers. They perform core QA activities including conducting reviews, using automated analysis tools, and maintaining unit tests. Developers are also involved in the management of the project by providing task estimates, task dependency information, and accurate status reports. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
DBAs are specialists in database design and operations.
They work with developers to design the system's database
structure, integrity constraints, stored procedures, and
queries. DBAs must start by understanding the system
requirements so that needed data can be expressed in the
database. Later, DBAs often focus on the efficiency and
scalability of key queries. DBAs may work with the operations
team to tune database performance. As new requirements are
added, the DBA may need to plan the evolution of the
database.
If a dedicated DBA is not available, these responsibilities may be given to one of the developers. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
Release engineers play a key supporting role in the release
process. They perform the technical tasks of tagging and
packaging releases. They often also serve as a single point of
coordination for the final steps in the release. Throughout the
entire release cycle, they participate in software process
improvement and often help choose, deploy, and maintain
development tools, such as automated build systems.
If a dedicated release engineer is not available, these responsibilities may be given to one of the developers. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | Topic experts specialize in specific technical aspects of the product. For example, a security expert or an expert webserver administrator. Topic experts are often brought into the project to consult for a limited time. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
UI designers are responsible for the system's user
interface. They must have a very strong understanding of the
users' tasks and expectations. They propose UI designs, which
must then be evaluated before final implementation.
When UI designers are not available, these responsibilities are often taken on by product managers. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | End-user documentation is the most obvious product produced by technical writers. That may include a printed user-guide, text for on-line help, content for the product website, technical support articles, and release notes. Technical writers may also help with other technical documents, such as API specifications, operations manuals, or developer cookbooks. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
Sales engineers are technically knowledgeable members of the
sales force that provide technical support to sales people and
potential customers. Sales engineers play a role that is
analogous to that of technical support engineers, except that
they work with potential customers to help them evaluate the
product.
If a dedicated sales engineer is not available, the sales force may want to borrow one of the developers, to the detriment of the project schedule. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: |
The most obvious task for tech support engineers is
answering phone calls to help users actually use the product.
They may also maintain a technical support website for the same
purpose. Technical support engineers play a key role in
alerting the development team and/or operations engineers to
defects in the deployed product or opportunities to better serve
users.
Dedicated support engineers should always be used to support products. However, developers and other members of the team may sometimes rotate through technical support to observe user experience first-hand. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | Operations engineers deploy, configure, and administer servers in ASP (application service provided) businesses. Key operations activities include avoiding security and performance problems, monitoring system status, reacting to problems, performing system backups and recovery, and upgrading servers. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | DESCRIPTION. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | DESCRIPTION. |
---|---|
Skills: |
|
Responsibilities: |
|
Description: | DESCRIPTION. |
---|---|
Skills: |
|
Responsibilities: |
|