Introduction
Run this activity as a way to perform a goal-based planning and execution. Work is taken on by developers and work
progress is tracked based on the goals achieved using the designed, developer-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 focus on a layer (such as the user interface, business logic, or
database access), on a component, and so on.
Whether a context is specified or not, the developer's responsibility is to create a design and implementation for that
requirement. The developer also writes and runs developer tests against the implementation to make sure that
it works as designed, both as a unit and integrated into the code base.
Overview of workflow
Typical changes require some effort in designing the solution before moving into implementation, even if it is only a
mental exercise that results in no long-term work product. The design for trivial changes to the existing
implementation (to, for example, support some requirement) might be self-evident in the context of the existing
architecture and design.
Once the organization of the technical solution is clear, the development and testing of the implementation ensues.
This development and testing can be done as a tight, innermost loop of the activity until the developer tests pass.
Passing the tests does not necessarily mean that the solution is a high-quality, appropriate solution. It is proper to
revisit the design at this point. That path loops back through the process, since any changes to the design could
affect the developer tests and implementation.
Once the tests pass and the design of the solution is appropriate, there is one more possible loopback. It is best to
keep the implementation and evolutionary design inner loops as tight as possible. Come up with some
small-scale design solution for a part of the work item, implement and test that one part of the solution, verify
the quality, and then continue on until that part of the design is working. Then, in the outermost loop of the
activity, go back to the work item and design another chunk to get closer to completion.
|