The four fundamental activities that are common to all software processes are as follows:
1. Software specification: This is written description of the scope of the software; functionalities, constraints and limitations are clearly defined here.
2. Software Design and Implementation: The entails all the processes involved in developing a software based on a given specification.
3. Software validation: The software must be tested to ensure that the requirements in the software specification document are met. The developed software must perform the functions required by the customer.
4. Software evolution: Software evolution requires that a given software can be modified to meet changing requirements in the future.