Software Development Life Cycle (SDLC)

 

I read a lot about the six stages of the Software Development Life Cycle (SDLC).  I find the whole subject matter a waste of time. First the concept that creating software is a circular process is a defeatist mentality.  Second; to place maintenance as a stage in the life cycle means that the work was not completed. I will argue that maintenance can never be a part of the life cycle of any software product.  Far too many developers believe in versioning. I believe that there should never be versions to any software product.  Software is a mapping of real world situations into a digital representation.  Real world situations do not change, the problem is that the original products never provided a complete solution.

Most of the time developers take the concept of maintenance as a step to finish the product from an inferior design. Generally it is impossible to change the design of software once written, therefore change must be avoided at all cost. I believe that software development is not a cyclical process and maintenance is not a part of the any completed product. Instead we should be striving for perfection in our software products.