Joint Application Development
Joint application design (JAD) is design methodology where the project team develop a system design in close conjunction with the sponsor/customer.
Traditionally project managers expect the customer/sponsor to tell them exactly what they want. This is not practical in software development because what is being delivered is as much a package of business processes as the software which supports them. The processes - once described - provide the specification for the software but the sponsor does not know them in advance and is therefore ill equipped to specify the software to support them.
JAD is a methodology where the development team work co-operatively with the customer to develop the processes which the software will support and by corollary the specification for the software. As corroborative support to this core goal JAD analysts will also seek to enumerate specific goals, constraints and requirements and rationalize them with the processes being developed.
The processes are typically expressed in some formal way but JAD is concerned with the methodology which produces them rather than the method of their expression.
At the core of JAD are 'JAD sessions' which are meetings between the customer team and the developers where the specification is formalized. Different expressions of the JAD method vary slightly but the basic components of a JAD session can be defined in terms of the attendants and their roles at the meeting as follows.
The Facilitator. The facilitator chairs the meetings which is often challenging as the agenda must often be expanded as issues become apparent. JAD sessions are often long and tough. The facilitator is responsible for keeping notes regarding issues, especially issues closed and opened. (Design decisions are recorded by the Modeller - below) Typically the facilitator is not involved in the analysis process itself but just keeps order and administers the process.
The Sponsor: The person who commissions the project. This should also be a person who can make decisions about the project including resourcing and support. Typically the sponsor would attend the initial session and the last one plus any session by specific request. The sponsor is not typically present at every JAD session.
The Project manager: Typically the project manager resolves issues regarding scope, resources and organizational structure. They are not typically part of the analysis team.
Modeller: Keeps notes on design decisions and builds the formal model using whatever format the project is using. The Modeller publishes each meeting's design decisions and updates the core design model available to the whole team and stakeholders. Typically the modeller contributes only to seek clarifications.
Participants: These are customers, in the business area affected by the project, who are experts in their field and can make decisions about their work.
Analysts: Developers who ask questions of the participants to tease out a formal picture of what processes are to be supported. Other things formalized are requirements, goals and deliverables.
Observers: Any customer or developer with an interest in the project. Sits physically outside the group and says nothing.
A number of best practices have been identified which increase the effectiveness of JAD sessions.
Use experienced and skilled facilitators.
Get sponsor’s commitment and support.
Get the right people to participate, predefine their roles and responsibilities.
Set clear defined, well understood and obtainable goals or objectives.
Plan detailed agenda and stick with it.
Define meeting deliverables clearly in advance.
Keep technical jargon to a minimum.
Produce formal documentation quickly after meetings.