16

Wikipedia says that Agile is a type of "RAD" which I guess is incorrect. From what I know, Agile was developed becasue RAD itself was not that sucessfull in 90'S (too rigid for changes). Or am I wrong?

(Remark: apparently the Wikipedia article on Agile software development was improved in between, it just lists RAD as a predecessor of Agile, not as a superset).

A reference from a book Radical Project Management (Thomsett)

"..new development fad such as RAD, Agile, Object oriented..."

CISA Certified Information System auditor:

..aware of two alternative software dev. methods: Agile and Rapid Application Development

Agile management for Software:

Agile methods are mostly derived from lightweight approach of RAD.

Software estimation best practices:

The major methods of sw. dev. can be summarized as follows:
1. Waterfall ..
4. RAD
5. Agile

The point of this question is:
Is Agile type of RAD or standalone development approach?

  • 1
    RAD = Rapid Application Development. Agile certainly falls into that category. – Oded Dec 25 '12 at 10:07
  • 2
    @Oded: than how comes a lot of sources does not say so? Mainly because rapid was aimed on fast delivery why agile on adaptability, which is represented by the word "agile".. – John V Dec 25 '12 at 10:10
  • 1
    Sure, agile is about adaptability, but at the same time it is about delivering the high priority items fast. – Oded Dec 25 '12 at 10:11
  • 1
    "Wikipedia says" - in the article, there is a sign "citation needed" near the statement that "Agile methods have much in common with the Rapid Application Development" - meaning this statement is not up to wikipedia standards – gnat Dec 25 '12 at 10:21
  • 1
    What do you mean by "standalone development approach"? – Thomas Owens Dec 25 '12 at 10:42
15

RAD as a term predates Agile as a term by about ten years, but it isn't really a "parent" of Agile. Both were created as reactions to perceived shortcomings with traditional software development management techniques. However, RAD is a prescriptive method for writing software, using successive prototypes to elicit requirements and refine the application. Agile, in the originally introduced form, is a philosophical position describing the difference between traditional approaches and the values focused on by agile practitioners.

So no, agile software development is not a type of RAD; they address problems at different levels of abstraction.

  • That is what I think exactly, I guess Wiki should be updated. – John V Dec 25 '12 at 14:11
  • 2
    Well it's editable so you could do that ;-) – user4051 Dec 25 '12 at 14:33
11

I don't think it is correct to categorize development methodologies in hiearchies. So no methodology is "under" or "above" any other. It is much more logical to think about common points of methodologies. Quite often, real-world application of methodology involves combination of many similar methodologies and it is up to managers to come up with working development model.

In case of RAD (which I'm not experienced with) vs. Agile it seems only commonality is iterative development. RAD seems to prefer rigid phases with specific goals and outputs. Agile is more about single development phase where everything happens. Also Agile develops software directly with possibility of features being removed instead of prototyping beforehand. (which might end up same as agile, because quite often prototypes are immediately integrated into working software, instead of doing it correctly once again)

  • 1
    that is why agile proposed to create prototypes in different languages from the language of products : prototype is usually not done correctly. for example matlab for prototype vs c++ for product – BЈовић Jan 18 '13 at 23:47
-1

Agile methodology is of more razor mode because is oriented to build application in iterative model with fast iterative demonstration to stakeholders. It does not exempt developers from keeping design paradigms (modularity -especially), but does not emphasize it directly, while being concentrated on continuous delivery of iterations and fast reaction on rapid change of business requirements. It is oriented de-facto to development of a isolated product and works in the frames of the product.But it does not require distinctly reusing components of solutions and furthermore, -to build any common platform for family of products on company level. No one technical manager will be proponent of repeating the same work N times. Fortunately RAD separates development by domains,modules and their integration, and from technical point of view, is more applicable for technical organization of development model, which is reasonable from point of view of technical management of a company. This makes the model being more flexible and solution- reusable and adaptable for other products one. Finally- a company is not a community of freelancers and has more extended life, than life of one product. However, if a company produces a single product without any migration and modifications, then role of RAD is not so expressive. But normally, business strengths of Agile are excellently combined with technical organization strengths of RAD.

  • 4
    this post is rather hard to read (wall of text). Would you mind editing it into a better shape? – gnat May 12 '17 at 14:26

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