Professional Documents
Culture Documents
meet in a session to generate a list of initial requirements For the purpose of analyzing problems and defining requirements. JRP Participants
Sponsor
Facilitator Users and Managers Scribes
I.T. Staff
Benefits of JRP
Encouraging a partnership of business and software experts Enabling the business side to identify and define their
needs of the software Reducing design and development time by clarifying software requirements up front Driving software architecture and platform decisions Lowering deployment and maintenance costs by resolving issues early in the system life cycle Improving the quality of the solution by combining the ideas of a variety of people Increasing end user and project team knowledge of the system and satisfaction with the result
developers teams work effectively with users to develop information technology solutions Purpose: define the project, design the solution and monitor the project until it reaches completion
Benefits of JAD
The cost and time associated with data collection,
analysis, and requirements definition can be significantly reduced The input from numerous people provides different perspectives on the desired system and often generates creative ideas. Because all interested parties are represented on the JAD team, conflicts and discrepancies can be identified and resolved during the problem definition stage. Because they are involved in system planning, the participants feel a sense of system ownership.
Prototyping in RAD
Types of RAD
Efficient Development
balances economy, schedule, and quality
Schedule -- faster than average Economy -- costs less than average Product -- better than average quality
Types of RAD
Sensible RAD
tilts away from economy and quality toward fastest schedule
Schedule -- much faster than average Economy -- costs a little less than average Product -- a little better than average quality
Types of RAD
All-out RAD
"code like hell"
Schedule -- fastest possible Economy -- costs more than average Product -- worse than average quality
model) a definition of the systems scope a cost justification for the new system
diagrams defining the interactions between processes and data System procedures are designed and preliminary layouts of screens are developed Prototypes of critical procedures are built A plan for implementing the system is prepared
Together with the next stage, User Design
the design, build and test the prototype The deliverables include documentation and instructions necessary to operate the new application and procedures needed to put the system into operation Timebox and parallel development: involves monitoring progresses to complete each task quickly The prototype is reviewed by users
Requirements document can be modified, so
application
objectives
Install the system in production operation with
minimal disruption of normal business activity Maximize the effectiveness of the system in supporting the intended business activities Identify potential future enhancements
Problems of RAD
criticized because it lacks a methodology and a
designed architecture flexibility of RAD systems decreases as applications grow RAD tends to fail when
Application must interoperate with existing
programs Performance and reliability are critical The system cannot be modularized New technologies are used
Parallel Development
attempts to address the problem of long
delays between the analysis phase and the delivery of the system. Instead of doing design and implementation in sequence, it performs a general design for the whole system and then divides the project into a series of distinct subprojects that can be designed and implemented in parallel. Once all subprojects are complete, there is a final integration of the separate pieces, and the system is delivered.
Parallel Development
Parallel Development
suffers from problems caused by paper
documents. also adds a new problem such as sometimes the subprojects are not completely independent; design decisions made in one subproject may affect another, and the end of the project may require significant integration efforts.
than a long Use of pair programming Writing unit tests before programming Simple design which constantly evolves Code is owned collectively TESTING LISTENING
CODING
DESIGN
Problems with XP
only works with senior-level developers