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: Assess Results Manage Iteration Plan Iteration | Modifies:
Properties
Multiple Occurrences |
Optional |
Planned |
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.