This process is normally called the Software Development Life Cycle (SDLC) and typically involves distinct phases: Planning, analysis and defining roles: Arguably, one of the most important aspects of ...