Program logic and development process
 
Development process is slightly cyclical in nature due to the practicalities of developing a product. Often specifications have to be revisited and reworked throughout the lifetime of a development project which impacts each of the other steps further down the flow. Steps generally include requirements gathering, structure establishment, and quality assurance.