CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)



Similar documents
Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions

Introduction to Systems Analysis and Design

To introduce software process models To describe three generic process models and when they may be used

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Computer Science Department CS 470 Fall I

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Software Development Life Cycle (SDLC)

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

CDC UNIFIED PROCESS PRACTICES GUIDE

Visual design and UX services for cloud based applications, services and sites

The Spiral development model is a risk-driven process model generator. It

A Capability Maturity Model (CMM)

Unit I. Introduction

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Comparative Analysis of Agile Software Development Methodologies-A Review

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

Basic Unified Process: A Process for Small and Agile Projects

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Chapter 3. Technology review Introduction

Business Analyst Interview Questions And Answers

M6P. TDWI Data Warehouse Automation: Better, Faster, Cheaper You Can Have It All. Mark Peco

FUJITSU Transformational Application Managed Services

ASAP- Accelerated SAP

The profile of your work on an Agile project will be very different. Agile projects have several things in common:

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Measuring ROI of Agile Transformation

IV. Software Lifecycles

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

PROJECT MANAGEMENT PLAN CHECKLIST

Classical Software Life Cycle Models

Arcade Game Maker Product Line Production Plan

Systems Investigation and Analysis. Systems Development. What is it? Why Plan?

Fourth generation techniques (4GT)

Software Architecture Professional Certificate

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

The War for Talent Retaining critical resources during outsourcing transitions

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Adopting Agile Testing

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

Preparing and Evaluating A Request for Proposals: How to Select a Vendor Andrew Ness, Mercer Investment Consulting

The Need for Strategic Planning for Project Management

Getting to a Facility Management BIM

Cisco Services for IPTV

CHAPTER 9. DEVELOPING IT SY STEM S Bringing IT System s to Life

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

Advanced Software Engineering. Software Development Processes

Modelli di sviluppo software. Enrico Giunchiglia

QUALITY TOOLBOX. Understanding Processes with Hierarchical Process Mapping. Robert B. Pojasek. Why Process Mapping?

A Review of an MVC Framework based Software Development

OnX Oracle Cloud Services

An Introduction to PRINCE2

White Paper IT Methodology Overview & Context

The role of integrated requirements management in software delivery.

System development lifecycle waterfall model

A Comparision Between Traditional and Component Based Software Development Process Models

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

2.1 The RAD life cycle composes of four stages:

How To Model Software Development Life Cycle Models

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Configuration Management One Bite At A Time

WHAT IS PRINCE2? Benefits There are many benefits of using PRINCE2 but primarily it:

Why Disruptive Innovations Matter in Laboratory Diagnostics

Chapter 3 Methodology

Systems Analysis and Design

White Paper What Solutions Architects Should Know About The TOGAF ADM

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Netspective Software Development Process

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

DSDM Case Study. An Agile Approach to Software Systems Development for the Highways Agency

Data Governance Primer. A PPDM Workshop. March 2015

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Chapter 2 Software Processes

LECTURE 1. SYSTEMS DEVELOPMENT

Balancing the Outsourcing Equation

5/30/2012 PERFORMANCE MANAGEMENT GOING AGILE. Nicolle Strauss Director, People Services

Software Quality and Agile Methods

Umbrella: A New Component-Based Software Development Model

Chap 1. Introduction to Software Architecture

Unit 1 Learning Objectives

Parametric Modeling: The New CAD Paradigm for Mechanical Designs Randy Shih

PLANNING FOR YOUR PROJECT

Transcription:

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD) 1. INTRODUCTIONS RAD refers to a development life cycle designed Compare to traditional life cycle it is Faster development with higher quality systems It is designed to take advantage of powerful development software like: CASE tools (computer-aided software engineering) Prototyping tools Code generators

The key objectives of RAD are: High Speed High Quality Low Cost RAD is a people-centered and incremental development approach. active user involvement all stakeholders testing is included system is tested & reviewed by both developers & user In short RAD thus enables quality products to be developed faster, saving valuable resources.

2. WHY DO YOU NEED TO BE RAD? RAD takes advantage of tools and techniques to restructure the process of building information systems This new process, expand to the entire IS organization, results in a reflective transformation of IS development. RAD replaces hand-design and coding processes RAD is a more capable process, faster and less error level than hand coding. Traditional development lifecycles are : too slow inflexible to meet the business demands of today s economy

A new methodology must be implemented one that allows organizations to build software applications Faster Better Cheaper RAD, in addition to providing a more : quality product in less time ensures greater customer satisfaction end-users join together in the development of the application development teams concentrate on delivering prototypes to designated user experts. Each prototype is tested by those users and returned to the development team for reworking giving the users the opportunity to modify the requirements and review the resulting software implementation

3. THE HISTORY OF RAD Traditional lifecycles develop in the 1970s, and still widely used today. The requirements and design are then frozen and the system is coded, tested, and implemented. With such conventional methods, there is a long delay before the customer gets to see any results and the development process can take so long that the customer s business could fundamentally change before the system is even ready for use.

RAD compresses the step-by-step development of conventional methods into an iterative process. The RAD approach thus includes developing and refining the data models process models prototype in parallel using an iterative process User requirements are developed a solution is designed the solution is prototyped the prototype is reviewed user input is provided the process begins again

4. ESSENTIAL ASPECTS OF RAD Rapid Application Development has four essential aspects: Methodology People Management Tools

4.1 Methodology Fundamentals of the RAD methodology thus include: 1. Combining the best available techniques and specifying the sequence of tasks that will make those techniques most effective. 2. Using evolutionary prototypes that are eventually transformed into the final product. 3. Using workshops, instead of interviews, to gather requirements and review design.

4. Selecting a set of CASE tools to support modeling, prototyping and code reusability, as well as automating many of the combinations of techniques. 5. Implementing time boxed development that allows development teams to quickly build the core of the system and implement refinements in subsequent releases. 6. Providing guidelines for success and describing drawback to avoid.

Active user involvement throughout the RAD lifecycle ensures that business requirements and user expectations are clearly understood. RAD takes advantage of powerful application development tools to develop high quality applications rapidly. Prototyping is used to help users visualize and request changes to the system as it is being built, allowing applications to evolve iteratively. RAD techniques are also very successful when faced with unstable business requirements or when developing non-traditional systems. The structure of the RAD lifecycle is thus designed to ensure that developers build the systems that the users really need. This lifecycle, through the following four stages,

1. Requirements Planning This stage defines the business functions and data subject areas that the system will support and determines the system s scope. 2. User Design This stage uses workshops to model the system s data and processes and to build a working prototype of critical system components. 3. Construction This stage completes the construction of the physical application system, builds the conversion system, and develops user aids and implementation work plans. 4. Implementation This stage includes final user testing and training, data conversion, and the implementation of the application system.

4.2 People The success of Rapid Application Development is dependent upon the involvement of people with the right skills and talents. These people must thus be carefully selected, highly trained, and highly motivated. They must be able to use the tools and work together in teams. At the Requirements Planning and User Design stages, key end users must be available to participate in workshops.

At the end of the development cycle, the Cutover Team, which handles training and cutover, must also be ready to move quickly. The key players in a Rapid Application Development project include: Sponsor A high-level user executive who funds the system and is dedicated to both the value of the new system and to achieving results quickly. User Coordinator A user appointed by the Sponsor to oversee the project from the user perspective. Requirements Planning Team A team of high-level users who participate in the Joint Requirements Planning workshop.

User Design Team A team of users who participate in the design workshop. User Review Board A team of users who review the system after construction and decide whether modifications are necessary before cutover. Training Manager The person responsible for training users to work with the new system. Project Manager The person who oversees the development effort. Construction (SWAT) Team (Skilled Workers with Advanced Tools) Team is a small team of two to six developers who are highly trained to work together at high speed.

Workshop Leader The specialist who organizes and conducts the workshops for Joint Requirements Planning and Joint Application Design. 4.3 Management To successfully introduce rapid development, management must pay careful attention to human motivation. Managers should target those professionals whom they deem as Early Adapters. Early Adapters are those people who see the value of a new methodology and lead the way in making it practical to use. These employees are excited about the new methodology and they want to make it work well in their environment.

4.4 Tools The RAD methodology uses both computerized tools and human techniques to achieve the goals of high-speed and high quality. Examples of tools that can be used in RAD projects are CASE tools. These tools play a key role in eliminate some problems that exist in other models of software development. For example, CASE tools can be used to develop models(using eg UML diagrams) and directly generate code based on those models instead of hard coding.

5. Conclusion RAD has successfully achieved the objective of reducing costs on project whilst not compromising on quality. Encouraging the involvement of customers in the entire process of its development lifecycle. RAD has also demonstrated strength in being able to speed up the development process by appropriately combine its methodology, people, management and high tech computer aided tools. RAD has also proven to have challenges.