23
JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP). Isuru Balasooriya University of Colombo School of Computing. Visual Programming

9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Embed Size (px)

DESCRIPTION

JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP).

Citation preview

Page 1: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming

(XP).

Isuru BalasooriyaUniversity of Colombo School of

Computing.

Visual Programming

Page 2: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

JRP (Joint Requirements Planning)

High-level end-users and developers meet in a session to generate a list of initial requirements

For the purpose of analyzing problems and defining requirements.

JRP ParticipantsSponsorFacilitatorUsers and ManagersScribesI.T. Staff

Page 3: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

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

Page 4: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

JAD (Joint Application Design)

A management process which helps developers teams work effectively with users to develop information technology solutionsPurpose: define the project, design the solution and monitor the project until it reaches completion

Page 5: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Benefits of JADThe 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.

Page 6: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

JRP and JAD Workshops

Skills of a workshop leadero Excellent Communication skillso Unbiased, neutral personalityo Good negotiator, diplomatico Good organizer – research, documents,

peopleo Familiar with tools for diagramming and

prototyping

Should JAD and JRP be separate or combined?

Challenges of JRP and JAD?

Page 7: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Rapid Application Development (RAD)

a software development process that allows usable systems to be built in as little as 60-90 days, often with some compromises

 REASONS FOR USING RAD

to converge early toward a design acceptable to the customer and feasible for the developers

to limit a project's exposure to the forces of change

to save development time, possibly at the expense of economy or product quality

Page 8: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

The Spiral Model for Software Development

Page 9: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Prototyping in RAD

Page 10: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Types of RADEfficient Development

balances economy, schedule, and quality

Schedule -- faster than average

Economy -- costs less than average

Product -- better than average quality

Page 11: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Types of RADSensible 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

Page 12: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Types of RADAll-out RAD

"code like hell"

Schedule -- fastest possible

Economy -- costs more than average

Product -- worse than average quality

Page 13: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Stages of RAD: Requirements Planningtakes one to four weeks to completeis defined during a JRP meetingconsists of a review of the areas immediately

associated with the proposed system produces a broad definition of the system

requirements in terms of the functions the system will support

deliverables from this stage includean outline system area model (entity and process

model) a definition of the system’s scopea cost justification for the new system

Page 14: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Stages of RAD: User Designis defined during JAD meetingsconsists of a detailed analysis of the business

activities related to the proposed system to outline the designThe team defines entity types and creates

action diagrams defining the interactions between processes and data

System procedures are designed and preliminary layouts of screens are developed

Prototypes of critical procedures are builtA plan for implementing the system is prepared

Together with the next stage, User Design consists of a series of iterations

Page 15: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Stages of RAD: ConstructionDevelopers, working directly with users,

finalize 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 usersRequirements document can be modified, so

another iteration starts

Page 16: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Stages of RAD: Transitionthe period during which the newly developed

system gradually replaces existing systemsUser acceptance: end of iterationsDevelopers train users to operate the new

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

Page 17: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

The RAD teamshould include both developers and users of the

system and each person can play several rolesUser Coordinator: appointed by the Sponsor to oversee

the project from the user perspectiveRequirements Planning Team: high-level users

participating in the requirements planningUser Design Team: participates in the design meetingsUser Review Board: review the system after the

construction and decide if modifications are neededTraining Manager: responsible for training users to work

with the new systemProject Manager: oversees the development effortConstruction (SWAT) Team: two to six developers highly

trained to work together at high speed. SWAT stands for “Skilled Workers with Advanced Tools”. This team builds the system and also participate in the design meetings

Meeting Leader: organizes and conducts the meetings

Page 18: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Problems of RADcriticized because it lacks a methodology

and a designed architectureflexibility of RAD systems decreases as

applications growRAD tends to fail when

Application must interoperate with existing programs

Performance and reliability are criticalThe system cannot be modularizedNew technologies are used

Page 19: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Parallel Developmentattempts 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.

Page 20: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Parallel Development

Page 21: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

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.

Page 22: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Extreme Programming (XP) A type of agile software development Iterative approach to developmenthaving multiple short development cycles,

rather than a longUse of pair programmingWriting unit tests before programmingSimple design which constantly evolvesCode is owned collectively

CODING TESTING LISTENING DESIGNING. 

Page 23: 9 JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP)

Problems with XPonly works with senior-level developersincorporates insufficient software designcan increase the risk of scope creep due

to the lack of detailed requirements documentation

lack of structure and necessary documentation