3

I do not know if this would be the right stack exchange site to ask this question but I have been researching on RAD (Rapid Application Development) and Agile methodologies and was trying to find their diagrams but if I google images this, it comes up with many different diagrams. So based on the images I drew my own diagrams on this.

The RAD diagram is similar to the one shown in wikipedia here but only difference is I change the bottom circle from cutover to implementation. For Agile method, as it is same as waterfall method but only difference is you can jump back to previous steps, I basically drew up a waterfall diagram but changed the arrows to indicate that you can go back.

My question is the below diagrams suitable for the intended methodologies?

RAD:

enter image description here

Agile:

enter image description here

UPDATE:

Waterfall Method:

enter image description here

3 Answers 3

4

Making a single product will require many, many sprints. Each sprint will require more or less of every component in your waterfall diagram (labelled "Agile" in your question).

enter image description here

There are many different approaches to Agile. See this diagram

enter image description here

from the Wikipedia entry on agile software development for several different takes. Image taken from "Agile Software Development Methods: Review and Analysis" by Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J..

2
  • Upvote and best answer, thanks. Just one little thing, the waterfall method with in the circular arrows should only contain an arrow going to the next step, not arrow going to next and previous step if I am correct? The waterfall method you got from me to put in your agile method was my attempted agile method, my actual waterfall method is displayed in my updated question Mar 31, 2013 at 22:15
  • Right. The standard waterfall doesn't allow back-sliding. Some version of it (and reality) usually require feedback.
    – Peter K.
    Apr 1, 2013 at 2:24
3

Your RAD diagram is accurate, but not the Agile one. Agile basically repeats the steps in your diagram several times over the course of a project. Each iteration is a sprint. This is more accurate:

enter image description here

source

5
  • Hi, thanks, so can I quikly ask, am I wrong to say that the agile method has the same steps as the waterfall method? The difference between the two is agile allows the user to go back to previous steps but looking at your diagram I am assuming the steps are different between waterfall and agile? Mar 31, 2013 at 19:29
  • 1
    All that is happening is that every "Sprint #N" in Oleski's diagram includes (potentially) allthe steps in your waterfall diagram (that you've labelled "Agile"). Yes, agile has all the same pieces of waterfall --- every iteration or sprint. Just because you change from waterfall to agile doesn't change what you have to do to produce software, just the order and turnaround time between them.
    – Peter K.
    Mar 31, 2013 at 19:51
  • @Peter +1, but maintenance overlaps with following cycles. Sometimes many following cycles (especially once you start dealing with users who can't/won't be willing to work with you in an agile fashion for whatever reason). Mar 31, 2013 at 20:01
  • @DonalFellows : I suppose I see "maintenance" as post-major-release sprints; not sure what else it would be in the agile mindset!
    – Peter K.
    Mar 31, 2013 at 20:32
  • @PeterK. So from looking at your comment, should me diagram really only consist of one sprint and a circle of arrows around it as I am only making one product? Can I change the wording "Sprint #n" to "Waterfall Method" to show the steps in the waterfall method is in the Agile method? Mar 31, 2013 at 20:36
1

Your diagram for RAD is mostly correct. However, "cutover" is the term. The term "implementation" is often overloaded. In RAD, "construction" is what most people consider "implementation" - coding, unit testing, and system testing. The last stage in RAD, often called cutover and what you're calling "implementation" encapsulates all of the deployment activities - integration with other systems, deployment, training, and support.

What you're calling "agile" is incorrect. This is a model that is presented by Winston Royce in his paper Managing the Development of Large Software Systems, but isn't really agile. The agile methods are all iterative/incremental methods, and there are several ways to model these processes. The spiral model is iterative and incremental, but typically with longer increments than say Scrum or Extreme Programming, all of which have visual representations on Wikipedia.

Something to consider is that you probably can't come up with a reasonable depiction of "agile". Agile is a set of principles - adapting to changes, iterative/incremental development, time-boxed cycles (often relatively short), collaboration within the cross-functional team and between the team and the customer. Many specific process methodologies adhere to these principles to varying degrees - Scrum, the Agile Unified Process, Extreme Programming, Crystal Clear - and you would probably better model a specific agile process with its own set of activities and relationships.

2
  • Hi, Thanks for the details. I got the RAD steps from this study on page 7 casemaker.com/download/products/totem/rad_wp.pdf. +1. Is using implementation definitely incorrect or is it just preference to use cutover? Mar 31, 2013 at 20:28
  • @user1394925 I looked in two books and Wikipedia and they all use "cutover" (not "implementation") and "construction". But your source seems reasonable as well - I'm not sure if there's a particular standard. As long as you're careful and define the terms, I don't think there would be a problem.
    – Thomas Owens
    Apr 1, 2013 at 0:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.