Procedure
Software engineering
is a repetitive process
Determine requirements and scope and design global architecture.
The actual software development according to the previously defined plan
Ensure that all requirements have been met.