System development

Just another WordPress.com weblog

Week 10

Posted by sourabhs0121585 on October 1, 2006

As per Traditional system development methodology, also known as Waterfall model derives its name due to the cascading effect from one phase to the other, each phase has well defined starting and ending point with identifiable deliveries to the next phase. The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back. The model consist of six distinct stages, namely-Requirements analysis phase, Specification phaseSystem and Software Design phase, Implementation and Testing phase, Integration and System Testing phase, and Maintenance. The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps. The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in concept stage.

http://www.interacta.fi/images/guide-changes.gif

While on other hand if compared with the waterfall model agile development method follows entirely differnt approach. It follows iterative method to develop software. Agile software development is a conceptual framework for undertaking software engineering projects, is based on a collection of principles, such as the importance of assuming simplicity when you are modelling and embracing change as you are working because requirements will change over time. Most agile methods attempt to minimize risk by developing software in short time boxes, called iterations, which typically last one to four weeks. Each of iteration is like a miniature software project of its own, and includes all the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation. While iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of each of iterations. At the end of each of iterations, the team re-evaluates project priorities.   Agile methods emphasize realtime communication, preferably face-to-face, over written documents. and also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods.http://www.ambysoft.com/artwork/agileLifecycle.jpg


 

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>