Defining Effective End-to-end SDLC Practices