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.
|