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.
Role Sets: OpenUP Roles
Relationships

Design the SolutionImplement Developer TestsImplement the SolutionIntegrate and Create BuildRun Developer TestsBuildDesignDeveloper TestImplementationDeveloper

Primary Performs
Additionally Performs
Modifies
    Process Usage
    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.