You are on page 1of 8

The Many Roles in Software Projects

The Many Roles in Software Projects


[From the Archive: Originally posted at Amplify.com Feb 25, 2011]
I recently re-quoted (on Twitter) something Capers Jones has said recently in a
LinkedIn Forum. His quote (about many software projects having more than 50
distinct roles) reminded me I had some years ago made a list of the many and
varied roles found involved in software development project teams. (The list
originally sparked by a Chapter from XP Explained by Kent Beck).
I thought Id share that list here. Please feel free to suggest and share further
additions or changes.
General Team Roles and Responsibilities
Any software-intensive product- or service- development project has at its core a
team of people aiming to meet the collective needs of the projects diaspora of
stakeholders. This core team in turn relies on an extended team of other folks to
provide it with the essential context in which it operates. Both groups need to do a
great job to be sure of a great result.
N.B. Typically, each project should keep track of its own community of stakeholders
and their respective needs.
The following tables describe the many and varied roles that need to be fulfilled in a
successful project (n.b. in no particular order). Note that were generally talking
about relative small teams, as small as just five to seven people. So were assuming
that each team member will have to play a number of these roles, either at the
same time or in frequent alternation.
The Core Development Team
Interaction Designer

Ensuring the interaction goals of the system are clearly articulated and
agreed by all stakeholders.

Developing user personas.

Co-defining and blue-printing the overall behaviour of the product and its
value proposition.

Choosing the overall system interaction metaphor.

Chief Engineer

Determines the (stakeholders) needs that the product must meet and
continually oversees the development of the product to ensure that its on
target to meeting those needs.

Listens to the stakeholders and then negotiates with the project team to
address the stakeholders needs (and desires).

c.f. The Surgeon in Fred Brooks Surgical Team model (The Mythical Man
Month)

Architect

Ensuring the product or service under development achieves its performance


and other qualitative requirements.

Guiding the interfacing and Integration of the solution components of this


project into the existing architectural landscape.

GUI Designer

Guiding look-and-feel decisions.

Helping write and clarify user stories and personas.

Elaborating user interaction guidelines and standards.

Analysing the system-in-use so as to continually refine usability and the user


interface.

Requirements Analyst

Solicitation and elaboration of stakeholder needs and requirements.

Storyboard Artist

Illustrating user stories (e.g. graphically) during planning sessions,


workshops, etc.

Content Artist

Creating, enhancing and modifying e.g. graphical content to suit its


presentation context.

Technical Writer

Providing early feedback to the core and extended teams about e.g. desirable
features.

Creating closer and more productive relationships with the various


stakeholder communities (through e.g. creating tutorials, reference manuals,
technical overviews, brochures, video, audio, etc.)

Internal Marketeer

Generating leads for additional features (a.k.a. value-add) amongst e.g. the
stakeholder community.

Project Public Relations

Promoting the system and its features amongst the stakeholders to


maximise feedback, their participation in the development, and the visibility
of the team and its outputs.

Generating interest in the product both amongst the stakeholders and the
widest potential user community.

Internal Communications

Anticipating the general information needs of the projects stakeholder


communities (re: e.g. schedules, budgets, timescales, progress, status,
morale, events, etc.).

Ensuring those needs are met.

Cybrarian

Anticipating the technical information needs of the team (and, ideally,


stakeholders too) and fulfilling these needs.

Maintaining the content of the projects technical (internally-facing) wikis, etc.

Amanuensis

Ensuring that each and every relevant conversation, decision etc. within the
project gets recorded and published to all the team and beyond.

Content Maven

Ensuring the timely availability of all necessary content in the appropriate


format(s).

Separating content from presentation.

Technology Maven

Ensuring the team uses its available technologies to the best possible effect.

Methods and Practices Maven

Advising the team such tat everyone chooses and then uses relevant
development methods and practices to the best possible effect.

Metricant

Advising on suitable approaches to making things visible, collecting metrics,


and the metrics that might best serve the team.

Collecting metrics (measurements) according to the prevailing metrics plan.

Operations Maven

Ensuring the continuous availability of all the project development


infrastructure development servers, repositories, tools, workstations,
printers, scanners, network connectivity.

Production Operations Maven

Ensuring the team has all necessary information regarding the prospective
production (live) environment(s).

Development Assets Security Maven

Ensuring only duly authorised people have access to the information, work-inprogress, codebase, etc. within the development infrastructure.

Release Coordinator

Ensuring the optimal transition of product releases into the production


environment(s).

Stakeholder Security and Privacy Maven

Ensuring the product or service under development safeguards stakeholders


security and privacy.

Toolsmith

Ensuring the continuous availability of all the projects tools incl. compilers,
editors, IDEs, source code repositories, etc.

Ensuring the project has the tools it needs to be optimally productive.

Test and Integration Maven

Ensuring the continuous availability of the current status of all candidate


releases.

Ensuring the continuous availability of the continuous integration


environment.

Continually co-ordinating, communicating and championing the projects test


strategy, principles and practices.

Creating or assisting in the creation of test scripts, test data and harnesses.

Monitoring results from automated tests.

Designer

Finding solutions to known requirements.

Exploring the requirement space.

Coder

Advising on economic feasibility of implementing designs / requirements in


available programming languages.

Implementing i.e. user stories in whatever language is most suited to the


problem at hand (c.f. Polyglot Programming).

Risk Maven

Reducing or eliminating waste and rework.

Enhancing the chances of successful delivery of the system across all


requirement dimensions.

Full-time Stakeholders

Representing the perspectives of themselves and /or their nominated


stakeholder communities.

Feedback Maven

Ensuring that feedback from e.g. usability sessions, early-access programmes


and live operations get incorporated into subsequent product releases.

Team Psychotherapist

Helping improve the well-being and mental functioning of the team.

Monitoring and helping improve individual and team motivation and morale.

Project Facilitator

Facilitating the interactions of the members of the core team

Facilitating the interactions of the members of the extended team

Facilitating the interactions between the core team and the extended team.

Continually reminding people of the big picture.

Maintaining synchronisation between the teams plans and reality.

Coach

Maintaining alignment of purpose between all the various participating


groups.

Helping people discover solutions to their challenges.

Process Champion

Driving continual process improvement.

Driving the continual identification and remediation of ineffective working


practices a.k.a. ScrumMaster.

Administrator

Ensuring all the little odds and ends get tied up.

Production Database Designer

Ensuring the product meets production DBA requirements.

Planning product features to support e.g. data schema migration.

Issues Maven

Ensuring that issues get recorded, tracked and closed.

Standards Maven

Ensuring all in-house and e.g. regulatory standards and constraints are
understood by the team and adhered-to by the product.

Style Maven

Maintain the projects Style Guide for e.g. document and other publication
media styles.

Ensuring the continuous conformance of project styles to broader programme


and corporate house style(s).

Monitoring the conformance to prevailing style guidelines of all project


publications.

Encouraging awareness of and conformance to project style guidelines across


all publishers within the project.

Budgeteer / Scrounger

Ensuring the project has the resources it needs to progress effectively, and
the continued support of its resource (budget) holders.

Accessibility Maven

Ensuring the product supports access by people with disabilities.

Subcontracts Maven

Ensuring the optimal use of any contracted (third-party) suppliers and subcontractors to the project.

The Extended Team


The Extended Team includes all those people not part of the Core Team that
nevertheless have critical roles to play in the successful development and launch of
the new product or service.
Product/Service Manager/Owner

Ensuring that the evolving product or service continually best meets


stakeholders needs.

Resolving prioritisation conflicts regarding e.g. implementation of features


(could be a Core Team role on occasion).

Executive

Providing resources, accountability.

Articulating big-picture goals.

Demanding continual improvement in the way things get done.

Presenting the team, its methods and achievements, positively to the rest of
the organisation.

Protecting the team from the consequences of its success.

Resolving inter-project conflicts.

Other Stakeholders

Presenting their own views, perspectives and needs.

Reviewing plans, priorities, risks and deliverables.

Stakeholder Proxy

Representing the views, perspectives and needs of their potential stakeholder


communities.

Reviewing plans, priorities, risks and deliverables.

Human Resources

Assisting in hiring, motivating and aligning the members of the core team.

Advising of Employment Law and company employment policies and


procedures.

Domain Expert

Advising and guiding the team on domain-related issues (better as a Core


Team role whenever possible).

Value Chain Maven

Ensuring the product works well w.r.t. inter-company (extended / integrated


value chain) contexts

Content Provider

Providing the content, etc. for the product or service.

Development Process Advisor / Champion / Steward

Helping the project maintain a continual-process-improvement process


awareness (Kaizen)

Helping with the selection and adoption of a suitable baseline process.

Anticipating the needs of each new project team w.r.t. suitable candidate
baseline processes (Kaikaku).

Product Liability / IP Lawyer

Ensuring the product minimises exposure to product liability law suits.

Preventing patent and other IPR infringements.

Contracts Lawyer

Oversight of the contractual framework of the project.

Interpreting the legal, contractual requirements for the project to the core
team.

Concierge

- Bob

Relieving team members of personal administrivia and allowing them more


time to focus on their own specialist contributions.

You might also like