RAD Techniques with Advantage CA-ADS Brock Shaw Torrodon Associates.

Slides:



Advertisements
Similar presentations
Requirements Engineering Processes – 2
Advertisements

Using Metrics to Reduce Cost of Re-work Dwight Lamppert Senior Test Manager Franklin Templeton.
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
Chapter 7 System Models.
Chapter 8 Software Prototyping.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
UNITED NATIONS Shipment Details Report – January 2006.
By Rick Clements Software Testing 101 By Rick Clements
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination. Introduction to the Business.
1 Introduction to Transportation Systems. 2 PART I: CONTEXT, CONCEPTS AND CHARACTERIZATI ON.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
Create an Application Title 1A - Adult Chapter 3.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Year 6 mental test 10 second questions
Modern Systems Analyst and as a Project Manager
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
1 Implementing Internet Web Sites in Counseling and Career Development James P. Sampson, Jr. Florida State University Copyright 2003 by James P. Sampson,
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Week 2 The Object-Oriented Approach to Requirements
Electric Bus Management System
Chapter 5 – Enterprise Analysis
Effective Test Planning: Scope, Estimates, and Schedule Presented By: Shaun Bradshaw
Minimum Weight Plastic Design For Steel-Frame Structures EN 131 Project By James Mahoney.
EU market situation for eggs and poultry Management Committee 20 October 2011.
Bright Futures Guidelines Priorities and Screening Tables
Legacy Systems Older software systems that remain vital to an organisation.
Project Management from Simple to Complex
2 |SharePoint Saturday New York City
VOORBLAD.
Target Costing If you cannot find the time to do it right, how will you find the time to do it over?
Constant, Linear and Non-Linear Constant, Linear and Non-Linear
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
© 2012 National Heart Foundation of Australia. Slide 2.
Lecture 6: Software Design (Part I)
Lecture 5: Requirements Engineering
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
25 seconds left…...
Subtraction: Adding UP
Change management. Housekeeping › mobile phones › break times › toilets › emergencies © smallprint 2.
Chapter 10: The Traditional Approach to Design
Analyzing Genes and Genomes
Systems Analysis and Design in a Changing World, Fifth Edition
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
1 Phase III: Planning Action Developing Improvement Plans.
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Energy Generation in Mitochondria and Chlorplasts
Distributed Computing 9. Sorting - a lower bound on bit complexity Shmuel Zaks ©
Presentation transcript:

RAD Techniques with Advantage CA-ADS Brock Shaw Torrodon Associates

Abstract Examine some of the Rapid Application Development techniques which can be used while developing Advantage CA-ADS and Advantage CA-IDMS applications. These techniques apply particularly well to 4GLs such as ADS. The technique described makes use of familiar RAD concepts of JRD and JAD workshops but more fundamentally to the use of development cycles based on the concept of Time-box. Examples of this approach are given.

Speaker Bio Brock Shaw Torridon Associates Brock has worked with IDMS since 1973 and has been involved with the product throughout the subsequent years. First working for Sperry Univac, then Cullinane, Cullinet and as an independent consultant, he has worked on most aspects of the CA-IDMS environment and in most roles.

Topics for Session What is RAD? Software development issues What is a Time-box? What RAD models are there? Single development cycle. Case histories. Advantage CA-ADS and RAD

What is RAD? For development of software systems RAD is essentially a set of: Techniques to minimise elapsed time Techniques to maximise user involvement Techniques to maximise user ownership Techniques to handle business change Techniques to make PM easier

Specific RAD Techniques User involvement and ownership Workshop techniques (JRD, JAD) Prototyping (incomplete end-products) Time planning and project management Iterative development Frequent release of products

Traditional Development Older development methodologies are based on: Performing a sequence of tasks in a fixed order Getting signoff at each significant stage Following the sequence of the methodology Problems with these are: For large systems implies long periods without usable products. They do not respond well to change

The Waterfall Model Stage 0 Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Stage 6 Feasibility Study Requirements Analysis Requirements Specification Logical System Specification Investigate Current Environment Business Systems Options Technical Systems Options Logical Design Physical Design SSADM

Project Planning and the Waterfall How does it work? Start with a list of tasks to be done to complete the project. Establish the dependencies of the jobs on other jobs in the list. Work out how long the whole project will take to complete

Starting the Planning Process p0p0 p2p2 p5p5 p1p1 p4p4 p3p3 p7p7 p6p6

…then the Plan Grows p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27

… until the Final Plan p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27

Calculating Completion Time Project Duration p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27

Critical Path p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27

Critical Path Change p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27

Problem 1: Size of Project For a large project: –difficult to visualise the project as a whole –difficult to know status at any time –difficult to predict impact of slippage –difficult to predict impact of change These are limits of the human ability This is comparable to reasons for structure in programming Not possible without PM aids

Project Creep Slow accumulation of slippage Essential business changes required PM cannot easily grasp the impact of events Failure to realise the shift in CP Project Creep is the most common cause of the failure of large high visibility projects.

The Waterfall & Change Stage 0 Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Stage 6 Feasibility Study Requirements Analysis Requirements Specification Logical System Specification Investigate Current Environment Business Systems Options Technical Systems Options Logical Design Physical Design

Changing such a Plan! p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7 p 20 p 19 p 21 p 25 p 24 p 22 p 23 p 26 p 10 p 11 p2p2 p 15 p 14 p 12 p 13 p 14 p 29 p 30 p 32 p 36 p 31 p 33 p 34 p 35 p 99 p8p8 p 16 p 28 p9p9 p 17 p 18 p 27

Problem 2: Handling Change Life is change. Modern business needs flexibility and responsiveness To do this, development must be iterative Large CP project planning becomes very cumbersome as complexity increases.

The Planning Paradigm Basic formula: t=F(f,r) (f= product features; r= resources available) Traditional techniques hold features and resources constant and calculate end time There is another alternative: –Hold time constant and respond to change by adjusting product features or resources

How can this Work? Make a big project into a collection of small ones Each sub-project has real deliverables Not all functions of a system are of the same importance A given function may if necessary be deferred Such functions are simply planned for a later sub- project If a function must be bumped from one sub-project there will be another one along in a little while We use the concept of a Time-box, a mini-project that has a fixed duration

A Time-box A period of time is defined, usually 1 to 2 months. THIS IS FIXED. Planning determines what features are anticipated to be accomplished in the time Planning determines what arrangement of resource will achieve the work Features classified as must have, etc. PM responds to slippage by bumping lower priority features not by delivering late!

Time-box Advantages Smaller project is easer to control Limited commitment (less to lose) User change easier (Time-box like a bus!) Business change handled (iteration) EACH TIME-BOX HAS A PRODUCT Frequent appearance of products pleases users and management

Time-box Driven Projects Overall project must have a general plan Plan is broken into time-boxes Detailed schedule only current time-box(es) Time-box is a short time so low cost of change allows risks to be taken Each feature may be revisited if necessary in each time-box of the overall plan

Responding to Slippage Three alternative strategies: –1. Eliminate functionality from the time-box products –2. Assign more resources to the project –3. Plan an additional mini time-box

RAD Objectives and Time-box Techniques to minimise elapsed time Techniques to maximise user involvement Techniques to maximise user ownership Techniques to handle business change Techniques to make PM easier

Development Methodologies Waterfall Waterfall with iteration RAD

Development cycles Functional Iteration Design and Build Iteration Implementation Iteration Feasibility Study Business Study DSDM

Single Development Cycle

Time-box Planning Strategy StartEnd Analysis and Design Build Test Implement Time-box Threads of activity

Threads Requirements Strategy StartEnd Analysis and Design Build Test Implement Time-box Threads of activity

Threads Requirements Strategy StartEnd Design Build Test Implement Time-box Threads of activity Analysis

Time-box Preparation Strategy StartEnd Analysis and Design Build Test Implement Strategy StartEnd Analysis and Design Build Test Implement Time-box 1 Threads of activity Time-box 2 REVIEWREVIEW

When Time-boxes are most effective. When programming environment is supportive When components are amenable to iterative development When application framework can iterate When minimal input will build starter component When even initial prototypes are products When there is good repository support

RAD Case histories Mainframe OO Environments Web ADS/O General PM

A Business Opportunity COBOL environment Unanticipated and hence unplanned Competitive pricing paradigm change Industry regulator involvement Necessary to start in 30 days Could survive reduced service for 60 days Traditional methods would require 90+ days

Mainframe Model TB1 TB2 Pricing s/r build Simple Batch vehicle Focused VV&T Simple implementation Pricing s/r refinement On-line vehicle Full-scale VV&T Full-scale implementation

Compressing the Project TB1 TB2 Pricing s/r Simple Batch vehicle Focused VV&T Simple implementation Pricing s/r refinement On-line vehicle Full-scale VV&T Full-scale implementation

RAD Case histories Mainframe OO Environments Web ADS/O General PM

Object Orientation Encapsulation means data and business entities are developed independently of use Solutions are immediately shareable Easier to stage data implementations

The New IDEs Enhanced editors and languages Object orientation Application templates Live debugging Source controls Implementation/deployment aids

OOD Project TB1 TB4 TB3 TB5 Objects & Test Beds Function Data Access Function TB2 Screen Forms

OOD Project Compressed TB1 TB4 TB3 TB5 Object & Test Beds Function Data Access Function TB2 Screen Forms Team 1 Team 2 Function

RAD Case histories Mainframe OO Environments Web ADS/O General PM

Easing into Web The stages of a web application –Brochureware –Web intelligence –Simple business functions –Full eBusiness Stages can become basis for time-boxes Needs overall plan, documentation framework Flexible project teams

Simple Web Project TB1 TB4 TB3 TB5 Brochureware Web Services Simple Data Access eBusiness TB2 Data Objects

Projects that End in Tiers TB1 TB4 TB5 TB6 Brochureware Web Services Simple Data Access eBusiness functions TB2 Customer responsiveness TB3 Data Objects Client Server Backend

RAD Case histories Mainframe OO Environments Web ADS/O General PM

Advantage CA-ADSO Dialogs, Mapping, IDD all support process Dialogs are amenable to iteration ADSA provides flexible application framework Minimum dialog requires only a map IDD provides repository for data structures, code, appl. structure, etc. Prototyping can build final product

CA-ADS Application Components Data structure Utility subroutines Application Structure Maps Basic (minimum logic) Dialogs Functional areas Data load

ADSO Project Plan 1 TB1 TB4 TB3 TB5 Application Structure & MAPs Utility & Load Functions Data Entry Components Key Function #1 TB2 Database Components TB6 Key Function #2 TB7 Miscellaneous Functions

ADSO Project Plan 2 TB1TB4 TB3 TB5 Application Structure & MAPs Utility & Load Functions Data Entry Components Key Function #1 TB2 Database Components TB6 Key Function #2 TB7 Miscellaneous Functions Team 1 Team 2 Team 3

Other Factors for Success More flexible project structures Designing components for segmentation Object-isation – imitating OOP Importance of Overall Plan Focus on segmentation of product and on what is releasable

Maximising User Input Techniques to maximise user involvement Techniques to maximise user ownership Joint Requirements Development Joint Application Development These techniques are important and effective but not the focus of this session.

RAD Case histories Mainframe OO Environments Web ADS/O General PM

General Applications The Time-box technique: –is not restricted to IT projects –is principally an attitude of mind

Review of Topics What is RAD? Software development issues What is a Time-box? What RAD models are there? Single development cycle. Case histories. CA/ADSO and RAD

Questions & Answers

Session Evaluation Form... please place it in the basket at the back of the room. After completing your session evaluation form...

Notes