What is joint application development (JAD)?
Joint application development, frequently shortened to JAD, is a methodology that involves the client or end user in the design and development of a software application through a succession of collaborative workshops called JAD sessions. Its aim is to involve the customer (or end user) in defining the business need and developing a solution based on that need.
JAD is a unique approach to software and systems development because it involves clients, customers or end users throughout the product design and development lifecycle. It emphasizes a team-oriented development approach along with a group consensus-based problem-solving model.
Development teams that adopt JAD organize facilitated workshops and sessions where many end users participate to help improve the quality and completeness of system requirements. JAD promotes a spirit of partnership and collaboration, so requirements can be documented faster and more accurately than with traditional requirements gathering approaches.
The JAD approach is useful for a variety of projects, including new products and product enhancements. The best candidates for JAD are projects that involve groups of users or users with cross-functional or cross-departmental responsibilities. First-time projects and projects that are considered critical to the organization's success are also good JAD candidates. Organizations dealing with a troubled history or relationship between their products and end users can also benefit from JAD for new product development or for enhancing or upgrading existing products.
Key participants in joint application development
Multiple parties are involved in JAD. They each play a key role in the JAD process, making contributions to ensure successful product development and delivery.
1. The executive sponsor is someone from a customer organization (that will ultimately use the product) who has the authority to make project-related decisions. They also set the vision for the project, resolve conflicts, communicate customer support and help minimize any resistance that the customer organization may express during the JAD process.
2. The JAD facilitator is a person from the provider's organization. They are mainly responsible for organizing and running the JAD sessions. They also organize, manage and execute various JAD activities; mediate disputes to minimize disagreements; and encourage user participation in the JAD sessions. Facilitators may be called upon to summarize discussions to enable project decision-making by the executive sponsor.
Facilitators usually do not contribute information to sessions. However, their role is critical in ensuring that the sessions proceed and result in useful inputs. The best JAD facilitators are trained in this role and have a good knowledge of various requirements gathering tools and techniques that will be used in the JAD sessions. They must also be impartial and not have any vested interest in the outcome of these sessions.
3. Users provide business expertise and are the main focus of JAD (and JAD sessions). They may provide strategic, tactical or operational direction for the project, and may represent various levels of the client organization. During JAD sessions, it's important to involve all the key user groups that are or may be affected by the project.
4. IT representatives provide technical inputs, giving technical advice and help development teams develop product visualizations, technical models and prototypes. They help translate users' view of the solution and business goals into implementable business requirements. They also clarify the project's technological constraints and support developers in using the available technology and tools.
IT representatives may be the key developers from the product organization. They may also represent other functions of the company, such as data administration, business analysis, prototyping, production management or operations management.
5. Scribes are responsible for documenting JAD sessions and key points (e.g., action items). They may ask for clarifications and ensure that points are phrased correctly. The scribe and facilitator should never be the same person. Someone who plays both roles cannot play either role adequately or meet their individual responsibilities. They may also bog down the sessions and slow down the overall JAD process.
6. Observers observe JAD sessions and gather knowledge about user needs and session decisions. Their job is to watch and listen. They are not allowed to offer inputs or suggestions. Also, they can only interact with session participants during breaks or before and after sessions.
Benefits of joint application development
Compared to more traditional software development practices and methodologies, the JAD approach typically leads to faster development times and greater client satisfaction. This is because the client is involved throughout the development process, from requirements gathering product testing and development.
In contrast, traditional approaches don't involve end users or customers during development. Instead, developers gather, define and finalize all the requirements; plan development; and then develop the application. During the process, client inputs are only gathered through a series of interviews. These interviews are often conducted individually, resulting in individual inputs instead of group consensus. Also, if numerous users are involved, it becomes infeasible to conduct all these interviews, both from time and resource perspectives. These challenges led to the emergence of JAD, where group consensus matters more than individual inputs or feedback.
JAD also helps improve product quality because its design is based on customer requirements and perspectives. In many cases, it lowers development and maintenance costs because the requirements are clear from the beginning reducing the chances of errors or gaps. Finally, close collaboration between the development team and the customer helps minimize risks.
Joint application development phases
A successful JAD process or lifecycle consists of four key phases:
1. Planning. During planning, an executive sponsor is appointed, and the scope of JAD sessions is defined. The session facilitator is also identified. The sponsor, facilitator and development team also identify the objectives, expected benefits and risks of the process.
2. Preparation. In this phase, the sponsor and facilitator may work together to schedule JAD sessions, create session agendas and prepare training materials. The sponsor also conducts the kick-off meeting where they address the team members and express commitment and support for the JAD effort.
3. Design and conduct sessions. In this phase, the facilitator and other parties identify the system requirements and interfaces. They also finalize the project scope and objectives, develop a product prototype, document all decisions and create deliverables. The deliverables are assigned to various people for closure by a certain resolution date. Subsequent design sessions usually begin with a discussion of the issues that were identified in the previous session and resolved since then.
4. Documentation and finalization. In this final phase, all design documents are completed. The facilitator or development team present these documents and demonstrate the prototype to the sponsor. They also get the sponsor's approval to proceed to the next stage of development.
History of joint application development
Chuck Morris and Tony Crawford, both of IBM, developed JAD in the late 1970s. Their goal was to find a way to speed up requirements gathering for geographically distributed systems. Morris and Crawford began teaching the JAD approach through workshops in 1980. In less than 10 years, many companies in various industries adopted JAD and implemented facilitated workshops for requirements gathering, analysis and product design.
JAD offers a consistent, repeatable and effective process for software product development. However, many companies formalize and adopt the JAD approach only for definition, analysis and design, with the rest of the development process carried out without incorporating JAD's rigorous ideas. In general, JAD remains a popular approach for product development.
Rapid application development (RAD) vs. joint application development
Rapid application development (RAD) is a variation on JAD. Developed in 1991, the approach helps create an application more quickly than older development methods, such as the waterfall model. RAD uses fewer formal methodologies and focuses on reusing software components. It also uses strategies like prototyping, iterative development and timeboxing.
Learn about the top secure software development frameworks.