Role: Developer
This role is responsible for developing a part of the system, including designing it to fit into the architecture, possibly prototyping the user-interface, and then implementing, unit-testing, and integrating the components that are part of the solution.
Relationships
Performs:Responsible for:
Additionally Performs: Modifies:
Properties
Multiple Occurrences
Optional
PlannedYes
Staffing
Skills

This role needs the following knowledge, skills, and abilities:

  • Define and create technical solutions in the project's technology
  • Understand and conform to the architecture
  • Identify and build developer tests that cover required behavior of the technical components
  • Communicate the design in a way that other team members understand

In addition, to create a visual model of the system, this role needs the ability to render the design in the Unified Modeling Language (UML).

Assignment Approaches

On small, agile teams this role is often shared among several team members that also perform other roles.  See Guideline: Self Organize Work Assignments and Guideline: Staffing a Project for more information on this approach.

Even in the smallest team, multiple individuals should be working together to create the technical solution.

A person performing this role can have specialized skills in a particular technical area, but should also have a broad understanding of all the technologies involved to be able to work with other technical team members.