|
Home
Software process improvement Agile software development JAD and RAD System requirements System functional specification |
JAD and RAD.
Historical context of JAD and RADToday, 2007, the Agile development framework has become popular with many software developers. Rapid application development (RAD) and joint application development (JAD) are two techniques that predate Agile (by 20 plus years) and embody the Agile principles. This article looks at both JAD and RAD in order to better understand the Agile software framework. What is JAD?
JAD, as the name implies, is a software design process that brings together, in one physical location representatives from the users, sponsors, analysts, designers and developers. The idea behind JAD is to get all of the key knowledge holders into a room and flush out a suitable design.
The JAD meeting, also referred to as a JAD workshop, could take several days. The basic idea of the JAD workshop is to answer all of the questions around requirements and produce an acceptable design. The output format of the design could be
data flow diagrams, screen shots etc. The JAD deliverables need to be defined upfront for a successful JAD. In general the following steps are required in order to have an effective JAD:-
As well as having the right JAD participants (i.e. decision makers and knowledge holders) it is important to nominate a facilitator for the JAD. The role of the facilitator is to keep the JAD on target for the JADs objectives. The facilitator should be independent that is not a designer or a systems requirements provider. Often a JAD can be bogged down with arguments about alternatives etc. and a strong independent facilitator is required to keep the session moving towards it's goals. What is RAD?
RAD centers on the creation of prototypes that are evaluated and then iteratively changed until they meet the software objectives. This approach (RAD) goes have in hand with rapid prototyping. RAD is an iterative development process and a prototype is built to answer a given question about the design. For example a user interface could be prototyped in order to solidify the screen designs. Also an alternative screen design could be prototyped in order
that a comparison (for usability) could be made. User interface prototyping reduces the risk of presenting finished software that has an unacceptable user interface. The idea behind prototyping or RAD is to expose part of the solution to the end user as early in the development cycle as possible so that critical feedback can be given and reacted to.
JAD, RAD and AgileGiven the principles of Agile and a definition of JAD and RAD it is clear that there is a considerable overlap between these three terms. Agile itself is better thought of as a framework within which techniques such as JAD and RAD can be placed. The Agile framework presents the software development community with a general philosophy to software development. JAD and RAD are existing techniques that fit neatly into the Agile software development framework. No guarantee (or claim) is made regarding the accuracy of this information. Any questions or comments should be sent to:-
|