What is a Process?
A Process is a sequence of steps used to accomplish a
task. During a process some activities are carried out,
subject to some constraints, that use some resources,
and produce an intended result.
A formal process:
- Has a clear goal or purpose for what is to be
accomplished.
- Has explicit entry criteria that describe the
prerequisites before the process can begin.
- Has explicit exit criteria that describe what
conditions must exist before the process can be finished.
- Defines the resources needed, including tools,
and constraints under which the process operates.
- Lists all the activities to be performed and
sequence in which they are performed.
- Gives detailed directions how to perform each
activity.
- Describes the output artifact to be produced.
Example:
Brewing Tea
Why are processes important?
Processes provide a structure so that our
activities will be
- correct - so we get the intended results
- consistent - so we maintain high quality.
- repeatable - so we can reproduce success,
and so others can learn our methods.
- predictable - so we can better estimate and
monitor our efforts.
- productive - so we don't waste time thrashing
Process Myths
There are several
common misconceptions
about process in software development.
Questions to reflect on:
-
How do you know when there is not enough process in some area of your
project?
-
How do you know when there is too much process in some area of your
project?