System Development Life Cycle (SDLC) is a tested and widely used IT based business solutions development methodology. It provides the framework for structuring, planning, designing, developing and delivering information systems. The traditional SDLC phases are feasibility study, requirement analysis, design, development (construction), testing, implementation and post implementation review.
Variations of the traditional SDLC exist, with customized characteristics. However, the goal of each variation or type is the same – to deliver information technology solutions that meet the defined and agreed client requirements or needs in a timely and cost effective fashion. Figure 21 is a representation of the SDLC framework. It shows the processes and their associated deliverables.
Rational Unified Process (RUP) is an IBM® version of the SDLC. It has been proven to be reliable for conceptualizing, analyzing, designing, developing and deploying IT based business solutions. It supports different approaches (waterfall, iterative or mixed) to solutions delivery. Figure 22 is a representation of the RUP methodology. It shows the processes and their associated deliverables.
There are two basic approaches to developing and delivering IT based business solutions – waterfall and iterative. Variations of these two, particularly iterative, exist. The focus here is on these two basic approaches.
Waterfall: This a sequential, though with some overlaps, approach to transform user requirements into system specifications, design, development and delivery of a solution that meets the user requirements. It is generally adopted in matured environments where user requirements are known to a high degree, with high confidence and minimal or no change in the course of solution or product development.
Iterative: This is a progressive incremental approach to developing information systems. It is commonly used for new product development, where requirements are not well established and need to emerge over time. The SDLC method is applied in phases to elicit stage by stage, analysis, design and development of known requirements into a solution. It goes through series of progressive iterations where additional requirements are identified, sometimes through proto-types.
The SDLC (or RUP) methodology does not prescribe a specific approach. The SDLC is used, albeit in different fashion, in both waterfall and iterative approaches. Figure 23 and Figure 24 show the use of the SDLC methodology in the waterfall and iterative approaches respectively.