What is SDLC? Software Development Life Cycle Phases, Methodologies, and Processes Explained