Frequent Shopper Program |
Part 1 |
Jason J. Kral
December 9, 2013
A development methodology is the framework that a developer or team uses to structure, plan, and control the process of developing a system or application. There is a wide variety of methodologies to choose from, each with its own strengths and weaknesses. Two of the more common and most used methodologies are the Waterfall method, and the agile method. This paper will focus on these two methods giving detailed descriptions, as well as advantages and disadvantages. Testing for each method will also be covered.
The Waterfall Method
The Waterfall Method ...view middle of the document...
Waterfall is also best if the project is very simple, but a majority of the time, this isn't the case. The Agile method is best if the project is more complex and may change rapidly. Agile is also good for in-house projects or projects for more flexible clients where you do not have to adjust to the client's process.
Pros and Cons
As previously stated, one of the main advantages of the waterfall method is the control given during each phase. The control given with the waterfall method helps keep development of the project on time. In retrospect, waterfall does not allow for any revisions. You could say that once a phase is completed, it is set in stone. These are just a pair of pros and cons though. The following table lists several more:
Pros | Cons |
* Simple to understand and use * Easy to manage, each step has deliverables and review process * Steps are completed one at time * Works well for smaller projects where requirements are laid out and understood * Clearly defined stages * Easy to understand milestones * Easily arrange able tasks * Good documentation | * Working software not available until late in the life cycle * High amounts of risk and uncertainty due to the lack of ability to change and adapt * Not good for complex and object-oriented projects * Not good for ongoing projects * Integration is done at end of project which doesn't allow the identification of issues or challenges |
With the waterfall method, testing is not done until very late in the development cycle. This is because there is no working software available until the second to last step. In one of the final steps, usually called Implementation and Unit Testing, the developer will create the database and text files for testing. The developer is the one to do this to ensure there are not defects.
The Agile Method
The agile method is "based on the belief that every project should be handled differently and existing methods need to be tailored to best suit the project requirements". ( Tutorialspoint, 2013) The principles of agile development were formed as a way to help developers break the cycle of process inflation and mainly focus on techniques to achieve the requirements. Unlike the waterfall method's step by step development, the agile method tasks are divided into time boxes to deliver specific features. This is a combination of "iterative and incremental process models with a focus on adaptability and customer satisfaction by rapid delivery of working software".(Tutorialspoint, 2013) When each iteration is completed, a functional piece of software is available to the customer.
The key in the agile method is to take all of the steps of the waterfall method and compress...