Customer Communication: Includes understanding the system requirements by continuous communication between the customer and the system analyst.
Planning: Includes estimating Schedule, cost, and resource for the iteration.
Risk Analysis: includes identifying, estimating, and monitoring technical and management risks, such as schedule slippage and cost overrun.
Engineering: Includes requirement gathering and design of the software system.
Construction and release: Includes coding, testing and deploying software at the customer site and providing user-support documents.
Customer Evaluation: Includes evaluation of software by the customer and implementing feedback in the next iteration of the software development.