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:
Agile:
UPDATE:
Waterfall Method:
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).
There are many different approaches to Agile. See this diagram
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
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:
source
5
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