Activity: Develop Solution (for requirement) (within context)
Design, implement, test and integrate the solution for a requirement within a given context.
DescriptionWork Breakdown StructureTeam AllocationWork Product Usage
Purpose
  • For developers: to create a solution for the requirement assigned to/owned by them
  • For project managers: to have a goal-based way of assigning work and tracking project status
Relationships
Parent Activities
Description

Introduction

Project managers use this Capability Pattern as a way to perform a goal-based planning and management. Work is assigned to developers and work progress is tracked based on the goals to be achieved, i.e., the designed, unit-tested and integrated source code.

Context of what is being developed

A context can be specified when a requirement is assigned to be developed, thus specifying how broadly a requirement is to be developed in a iteration - development may be focused on a layer (e.g., user-interface, business logic or database access), on a component and so on.

Whether a context is specified or not, developer's responsibility is to create a design and implementation for that requirement, then to write and run unit tests against the implementation to make sure the implementation works as designed, both as a unit and integrated into the code base.

Overview of workflow

In order to accomodate major changes or major functionality to be developed, architecture may have to be refined. Small changes and functionality may reflect changes on the design only, with no need to refine the architecture. For trivial changes and functionality to be developed, only the source code may be impacted.

In any case, there is no strict sequence on how writting code and creating/executing developer tests should happen, as they can happen in parallel. One may choose creating and running developer tests before the actual code is created, or vice-versa.

Properties
Event-Driven
Multiple Occurrences
Ongoing
Optional
Planned
Repeatable