Software Development Model - Waterfall, RAD & Agile

17
Fakrudin Abu Bakar CVB130122001 Rinee Era Azwani Binti Sahar CVB130122076 Sharifah Nazieha Binti Syed Nazari CVB130122051 Madam Hajah Wan Asiah Binti Wan Muhamad Tahir Software development model Waterfall | RAD | Agile

Transcript of Software Development Model - Waterfall, RAD & Agile

Page 1: 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

Page 2: Software Development Model - Waterfall, 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

Page 3: Software Development Model - Waterfall, 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

Page 4: Software Development Model - Waterfall, RAD & Agile

waterfall

Page 5: Software Development Model - Waterfall, RAD & Agile

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

Page 6: Software Development Model - Waterfall, RAD & Agile

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

Page 7: Software Development Model - Waterfall, RAD & Agile

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

Page 8: Software Development Model - Waterfall, RAD & Agile

RAD diagram

RAD centers on prototyping (Analysis - Test) and user involvement stages

Page 9: Software Development Model - Waterfall, RAD & Agile

RAD diagram

Programmers Stack Exchange (2013)

Page 10: Software Development Model - Waterfall, RAD & Agile

Advantages of RADEase of implementation

Improved user satisfaction

Shorter time-to market (Coleman and Verbruggen 2008)

Page 11: Software Development Model - Waterfall, RAD & Agile

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)

Page 12: Software Development Model - Waterfall, RAD & Agile

agileCombination between incremental and iterative model

Advantage Disadvantage

Make any changes Time frame

Face-to-face conversation Lack on

Page 13: Software Development Model - Waterfall, RAD & Agile

Agile Diagram

Page 14: Software Development Model - Waterfall, RAD & Agile

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

Page 15: Software Development Model - Waterfall, RAD & Agile

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)

Page 16: Software Development Model - Waterfall, RAD & Agile

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.

Page 17: Software Development Model - Waterfall, RAD & Agile

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]