The main reason is they are using SDLC/ waterfall, which is widely known as Software Development Life Cycle. SDLC dictates the sequential steps in gather requirements, design, develop, testing and implementation. Each step must be completed before commencement of next step. When something goes wrong, the particular step is reworked and wasted. Thus, it means Software Dooming Life Cycle.
Doom Grooming Ground
SDLC has been part of college education syllabus, and many has showed the success stories. Many happy students scored distinction in their final year project by using SDLC. It gives further assurance the usefulness of SDLC in software project. Therefore, many projects nowadays are wholeheartedly adopt SDLC without second question. When the project size is still small, they tasted the sweetness of SDLC success.
Dooming Life Cycle Started
The dooming life cycle starts when the complexity and uncertainties of a software project getting higher. The obvious complexities are stakeholder and communication. Human always struggle to express themselves 100%; and unable 100% decipher the message. Such situation contributes to misunderstanding. This is primarily due to individual perception, exposure, personalities and education. Such cycle is endless and many projects are trapped in there.
Many have noticed the risk of using SDLC in large project. Even the creator of SDLC, Dr. WInston W. Royce cited the usage of SDLC in large software project is inviting risk and failure. Such realization can comes from painful experience or learned from others. Some wise men have proposed two approaches in handling large software project:
- Divide & Conquer - Split one large software project into several smaller software projects
Pro - continue use all-time favorite SDLC
Con - need to manage dependencies of these smaller projects
- Be Agile/ Scrum - have smaller SDLC cycle (i.e. iteration cycle)
Pro - able to adapt changes faster
Con - need to adjust traditional way of planning & working
After knowing the risk of SDLC in large software project, my recommendation is to Be Agile/ Scrum:
- The rate of uncontrollable changes is getting higher and more frequent. The more adaptive a project team is, the better chance of a project success.
- Small projects can grow big after several phases. It's advantageous to be agile now than later.
- Knowledge and experience of agile can be adapted to different projects or industries.
We wish your projects are successful since day-1 with the right foundation.