Upload
rochana-ramanayaka
View
96
Download
0
Tags:
Embed Size (px)
DESCRIPTION
JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming (XP).
Citation preview
JRP/JAD Workshops, RAD, Parallel Development, Extreme Programming
(XP).
Isuru BalasooriyaUniversity of Colombo School of
Computing.
Visual Programming
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
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
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
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.
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?
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
The Spiral Model for Software Development
Prototyping in RAD
Types of RADEfficient Development
balances economy, schedule, and quality
Schedule -- faster than average
Economy -- costs less than average
Product -- better than average quality
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
Types of RADAll-out RAD
"code like hell"
Schedule -- fastest possible
Economy -- costs more than average
Product -- worse than average quality
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
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
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
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
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
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
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.
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.
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.
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