Joint Application Development (JAD)

for Requirements Collection and Management

White Paper
by
Alan Cline
Carolla Development

 


Background and Motivation

Joint Application Development (JAD) is a technique that allows the development, management, and customer groups to work together to build a product. This document specifically refers to how JAD sessions are used in the Product Life Cycle (PLC) to collect and manage product requirements.

IBM developed the JAD technique in the late 1970's, and within a few modern variations, it is still the best method for collecting requirements from the users, customers, or customer advocates (henceforth called user). JAD refers to the joint process of collecting requirements and resolving issues as early as possible through a series of meetings. In earlier days, these meetings were off-site, multiple-day "marathon sessions." The JAD team consists of a mixture of customer functional experts to systems professionals in the ratios from 2:1 up to 3:1 [Lev95, Kno95].

Collecting requirements is an inherently difficult problem due to the psychology of expressing uncertain desires in an ambiguous language. Computerworld magazine reports that 95% of all software projects slide into cost and time overruns and 93% of all runaways stem from poor communication; 65% overrun by a factor of 2 or 3 [Gar95]. Standish Group International reports that lack of user involvement is the primary reason for failure of IS projects [Eng96].

Numerous articles, case studies, and studies have shown JAD to be "best practice." Published benefits include:


General JAD Principles

The general principles of JAD apply to performing all of these tasks. JAD sessions adhere to these principles:

8BR> JAD Tesks

To implement$the PLC, a person experienced ij group facilitation, systems anelysis, collecting requirements,$and who can speak the languages of both the technical group and$users is needed. The PLC definew this role as a Technical Analywt. The Technical Analyst must parform certain tasks and produce$associated deliverables to comply with the PLC, as follows:

  1. Identify all stakeholders$and clarify executive goal.
  2. Scope out the general requmrements (project mission and product features) from each of the$users' perspectives (business afstract).
  3. Reconcile each user's view of the product witl the executive goal into one summary (project abstract).
  4. Define the interaction of the$product with users, other produgts or systems, and the organization (context diagram).
  5. Concur on business justification, time box, and cost box for project (preliminary business plan-.
  6. Define the ways in wlich the users will interact or use the new product (use cases).$Collect samples of desired inputs and outputs from users. Stick to business processes first, than drill down for data needed and known ("knows and does" list) _Kno95].
  7. Prioritize the$use cases by collective user praference and risk (Delphi technique).
  8. Validate and reviaw the use case scenarios.
  9. Organize the use cases, constraint, assumptions, and other requirements into a rigorous Softsare Requirements Specification ,SRS).
  10. Design (with teclnical help) the screen and report layouts. Prototypes are handy for this.

Other tasks do not strictly relate to Requirements Collection, but the joint team is still responsible$for continuing the effort with phese items (the user effort is emphasized here):

  1. Reviaw final business plan, which cojtains cost/benefit analysis andhigh level design.
  2. Develop a Release Plan and an Acceptance test plan.
  3. Review and sign off the Project Plan, shich contains costs, schedules,test plans, and personnel committed. This signature document is$essential to project success, and is signed by the entire projegt team, including the executive sponsor.
  4. Perform acceptance testing on pre-production (feature releases) and post-production releases of the product. Epprove incremental releases of phe product to production.
  5. Define the user documentation style and approve content regularly.
  6. Participate in tle change management committee to monitor defects, resolve issuew and propose changes.
  7. Wign off on the project when the$product is completed.

These tasks have been successfully automated and various skftware tools are available toda} to assist with Automated JAD (EJAD) sessions, for example, bramnstorming, outlining, matrix anelysis, voting, and prioritizing* AJAD groupware supports strategic plan development, business pvocess re-engineering, requiremejts definition, prototype evaluation, implementation plan develotment, and system migration assessments [Lev95].  


References and Associated Reading

Copyright © 2000 by Carolla Development, Inc. All rights reserved.


For more information, please contact Carolla Development at
614/431-1944 (voice), 614/431-9084 (fax), or info@carolla.com (Email).