Software Development Model - Waterfall, RAD & Agile
-
Upload
fakrudin-abu-bakar -
Category
Presentations & Public Speaking
-
view
1.340 -
download
2
Transcript of Software Development Model - Waterfall, RAD & Agile
Fakrudin Abu Bakar CVB130122001Rinee Era Azwani Binti Sahar CVB130122076
Sharifah Nazieha Binti Syed Nazari CVB130122051
Madam Hajah Wan Asiah Binti Wan Muhamad Tahir
Software development modelWaterfall | RAD | Agile
outlines Waterfall
What Is WaterfallAdvantages & Disadvantages of Waterfall
RADWhat Is RADAdvantages & Disadvantages of RAD
AgileWhat Is AgileAdvantages & Disadvantages of Agile
Comparison Between RAD & Agile
waterfallWaterfall model was the first model introduced
Introduced in 1970 by Winston Royce
Seen represented as a waterfall
Include phases that helps developers to be more organized in developing a project
waterfall
Advantages of waterfallHelp developers to be more manageable
Easy to understand and easy to be used
Detect errors early
Suitable to be used when team members located at different place
disadvantages of waterfallThere are no turning back!
Difficult to measure time
Need to start process all over again if there are any changes
Need more experienced development staff
No advisable to be used to project where requirements keeps changing
RADRapid Application Development
Faster development, lower costs and high quality results
RAD was extended by James Martin in 1991 from the work done by Scott Shultz’s iterative software development methodology in 1984 (Plant and Murrel 2007)
Approach: To Speed up the development of prototypes
Normally consist of 4-6members; managers, developers and users
RAD diagram
RAD centers on prototyping (Analysis - Test) and user involvement stages
RAD diagram
Programmers Stack Exchange (2013)
Advantages of RADEase of implementation
Improved user satisfaction
Shorter time-to market (Coleman and Verbruggen 2008)
disadvantages of RADSpeed of development may result in a poorly designed product
Need more experienced development staff
Strong project management and control required (Coleman and Verbruggen 2008)
Need more experienced development staff
Strong project management and control required (Coleman and Verbruggen 2008)
agileCombination between incremental and iterative model
Advantage Disadvantage
Make any changes Time frame
Face-to-face conversation Lack on
Agile Diagram
Comparison between rad & agileRAD Agile
Based on designing prototypes and then reengineering them into production quality code
Does not allow prototypes
Did not do this instead, developers focus by first doing it badly and then improving on the code
Break down the solution into features
RAD teams are managed by a project manager
Team members are self-managing
None of these concepts were used in RAD projects
Agile engineering practices. Problems in the design or the code base are highlighted and fixed as quickly as possible, team has the confidence to change the code base without breaking the product
Work as individuals, resulting in unmaintainable and poorly designed code
Agile teams focus on team communication and designing as a group
Comparison between rad & agileRAD Agile
Demonstrate screen mockups, or prototypes to product owner
Agile teams only demonstrate completed work
RAD teams did not traditionally include non technical team members
Agile teams are inclusive (including or covering all the services) of testers and analysts and user experience specialists
Comparison of RAD and Agile (Evans 2006)
Comparison between waterfall & agileWaterfall Agile
Uses stages or phases - requirement analysis, system design, implementation, testing, deployment and maintenance
Uses iterations known as sprints – confirmed requirements, develop and test system, released and start on the next project.
Suitable for big projects. Suitable for small projects
Does not involve clients. Clients are highly involved in the development of the project.
In waterfall, the project leader is called as project manager and most of them are from IT background.
Scrum Master is in control of the whole project and they may not have an IT background.
Interactions with users only happens when gathering the requirements and for user testing.
In Agile, constants meet ups is required to interact with users.
There is no turning back to the previous phase if there are any requirements or problems occur.
If there are any new requirements, the processes of the project are still running.
ReferencesPlant, R. and Murrel, S. (2007) An Executive's Guide to Information Technology: Principles, Business Models, and Terminology, 279. 1st edn. New York: Cambridge University Press
Ziman, I. (2011) ‘RAD Applied in the Context of Investment Banking Trading Systems Development’ [online] 15 (4), 134. Available from <http://revistaie.ase.ro/content/60/10%20-%20Ziman.pdf> [4 November 2014]
Coleman, G. and Verbruggen, R. (2008) ‘A quality software process for rapid application development’ [online] 107-122. Available from <http://www.itu.dk/people/katten/speciale/RAD_a_quality_software_process.pdf> [4 November 2014]
Programmers Stack Exchange (2013) Is the following diagrams correct for RAD and Agile methodologies? <http://programmers.stackexchange.com/questions/193488/is-the-following-diagrams-correct-for-rad-and-agile-methodologies>
Evans, S. (2006) 10 Reasons why Agile is not Rapid Application Development (RAD) (online) available from <http://consultingblogs.emc.com/simonevans/archive/2006/04/18/10-Reasons-why-Agile-is-not-Rapid-Application-Development-_2800_RAD_2900_.aspx> [11 November 2014]