SOFTWARE IN PRACTICE
Joint Application Design
(Alias: JAD, Joint Application Development, requirements elicitation)
... design--the process of transforming an idea into a useful thing--is the core of what engineers do.
Joint Application Development (JAD) is a user requirements elicitation process that involves the system owner and end users in the design and development of an application through a succession of collaborative workshops called JAD sessions. The JAD approach leads to shorter development lifecycles and greater client satisfaction because it draws users and information systems analysts together to jointly design systems in facilitated group sessions. JAD can also be adapted to developing business processes that do not involve computer automation.
The outcome of a series of JAD sessions is a precise statement of user requirements. A prototype may also be developed.
JAD was developed by Chuck Morris and Tony Crawford of IBM in 1977 and has since been proven successful on thousands of software projects across industry sectors and application boundaries.
JAD and Agile
Many of the principles originating from the JAD process have been incorporated into the more recent Agile development process. Where JAD emphasises producing a requirements specification and optionally a prototype, Agile focusses on iterative development, where both requirements and the end software product evolve through regular collaboration between self-organizing cross-functional teams.
JAD remains the best approach if the system must be conceived and delivered in its entirety. That is, it is not possible to deliver the system in small increments of functionality.
The JAD Process
The JAD process proceeds through a number of phases each succeeding phase considering different aspects of the system in ever increasing detail.
The JAD/Plan phase is conducted when individuals within an organisation have come up with an idea for a system. They have acquired a sponsor and generated enough support for project funds to have been allocated. Staff have also been committed to the planning activity.
The objective of this phase is to identify the system's high-level requirements and scope. The remainder of the phases deal with fleshing out the various functional areas of the system in greater detail.
Each phase has three main activities. Planning, conducting the session and wrapping up.
Planning the JAD/Plan Phase
This activity can be a one to five day session conducted with the project sponsor. Activities include:
Planning JAD/Design Phases
Prepare Session Visuals an Materials
Conducting the JAD Session
Session activities may include:
Wrapping-Up the JAD Session
The goal of the wrap-up is to consolidate all the outputs from the session and to present them to the participants and management for approval. Tasks may include:
The final wrap-up involves consolidating all outputs from all sessions into a coherent business requirements specification and a prototype if applicable.