Developing applications is hard work. A strong process helps bring a project to maturity repeatedly and reliably.
A software development process has four roles:
To provide guidance to the order of the team's activities
To define the artifacts of the process
To direct the tasks of the teams
To offer criteria for monitoring and measuring the project's progress
The process described here is iterative, is use case driven, and relies on a strong architectural foundation.
Iterations don't just happen; they are planned in advance.
An important goal of the iterative process is to address risk early. Use cases representing potential risk are targeted for early elaboration.
Establishing a rhythm helps build project inertia.
Every process needs to ...