|The Developer 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.
The person in this role needs the following knowledge, skills, and abilities:
- Enough expertise and experience to define and create technical solutions
in the project's technology
- Ability to understand and conform to the architecture
- Ability to identify and build developer tests that cover required behavior
of the technical components
- Ability to communicate the design in a way that other team members understand
In addition, to create a visual model of the system, the person in this role
needs the ability to render the design in the Unified Modeling Language
A person performing this role can have specialized skills in a particular
technical area but should also have a broad understanding of all of the technologies
involved to be able to work with other technical team members.
Even in the smallest team, multiple individuals should be working together
to create the technical solution. In small, agile teams, this role is often
shared among several team members who also perform other roles.
See Guideline: Staffing a Project for more information about how several team members
can fill this role.