Role: Implementer
| The implementer role is responsible for developing and testing components, in accordance with the project’s adopted standards, for integration into larger subsystems. When test components, such as drivers or stubs, must be created to support testing, the implementer is also responsible for developing and testing the test components and corresponding subsystems. | |
| Topics - Description - Related Information - Staffing - Further Reading |
Description
The implementer role is responsible for developing and testing components, in accordance with the project’s adopted standards, for integration into larger subsystems. When test components, such as drivers or stubs, must be created to support testing, the implementer is also responsible for developing and testing the test components and corresponding subsystems.
Related Information
This section provides links to additional information related to this role.
- Concept: Developer Testing
- Concept: Mapping from Design to Code
- Concept: Runtime Observation & Analysis
- Whitepaper: RUP/XP Guidelines: Pair Programming
- Whitepaper: RUP/XP Guidelines: Test-first Design and Refactoring
Staffing
Skills
The appropriate skills and knowledge for the implementer include:
- knowledge of the system or application under test
- familiarity with testing and test automation tools
- programming skills
Role assignment approaches
An implementer may be assigned responsibility for implementing a structural part of the system (such as a class or implementation subsystem), or a functional part of the system, such as a design use-case realization or feature.
It is common for a person to act as both implementer and designer, taking on the responsibilities of both roles.
It is possible for two persons to act as the implementer for a single part of the system, either by dividing responsibilities between themselves or by performing activities together, as in a pair-programming approach.
Further Reading
See Code Complete-A Practical Handbook of Software Construction [MCO93]