poor decomposition of design into manageable components.
As a solution to these problems, a structured approach to the development of software was proposed and is commonly known as the Information Systems (IS) lifecycle or the Software Development Lifecycle (SDLC).