The following generic process framework is applicable to the vast majority of software projects:
i. Communication: This framework activity involves heavy communication and collaboration with the customer and encompasses requirements gathering and other related activities.
ii. Planning: This activity establishes a plan for the software engineering work that follows. It describes the technical tasks to be conducted, the risks that are likely, the resources that will be required, the work products to be produced and a work schedule.
iii. Modeling: This activity encompasses the creation of models that allow the developer and the customer to better understand Software requirements and the design that will achieve those requirements.
iv. Construction: This activity combines code generation and the testing that is required to uncover errors in the code.
v. Deployment: The software is delivered to the customer who evaluates the delivered product and provides feedback based on the evaluation.