Prototyping is about people. Users are not often able to articulate
what they want an information system to do, and they cannot visualize
it from written specifications. Prototyping enables them to see
a system, "play" with it and modify it before it is
implemented.
I wrote "The Prototyping Methodology" to give Information
Systems persons, and through them user persons, a methodology
for them to learn what the current "system" is, design
a new system as a prototype, refine it and implement it. The "methods"
are primarily methods for persons to work together; the particular
hardware and software to be used change frequently and are described
by characteristics only.
The "methods" for studying the present system may seem
out of place, since they contain much for studying non-computerized
systems. You may wonder at the applicability of this when it seems
most of today's systems have already been automated. But, if
you already have an automated system that does the job, why is
anyone working on a new one?...
--Kenneth Lantz
Woodland Hills, California
November, 1997
PREFACE
I. WHAT PROTOTYPING IS AND WHY IT IS VALUABLE
A. What Prototyping Is
1. Prototyping Is a Methodology
2. Prototyping Is Building a Model
3. Using the Model for Designing the System
4. Using the Model for Implementing the System
5. Using the Model for Testing the System
6. Using the Model for Installing the System
a. The Prototype Becomes the System
B. Prototyping Methodology
1. Classic Life Cycle versus Prototyping
C. Why Prototype
1. Advantages of Full Prototype versus Mock-up
2. Possible Disadvantages
3. What's Wrong with Current Methodologies
D. Application of Prototyping
E. What Is Needed To Prototype
1. Tools To Enhance Prototyping
F. Summary
G. Footnotes
II. ESTABLISHING A DEVELOPMENT PROJECT
A. Purpose
B. Feasibility Determination and Service Requests
C. Service Request Flow
D. Parts of a Service Request
E. Initiating the Service Request
F. Reviewing the Service Request
G. Developing the Problem Statement
1. Work To Be Done or Information Needed
2. Information To Be Used
3. Sources of the Information
H. Agreeing on Problem Statement
I. Considering Alternatives
1. Listing Alternatives
2. Describing Alternatives
J. Evaluating Alternatives
1. Availability of Systems Professionals
2. Considering Data Strategy
3. Considering Functional Systems Plan
4. Preparing Preliminary Estimate
K. Determining Feasibility
L. Recommending Resolution of Service Request
M. Establishing Priorities
N. Planning Next Two Phases
O. Summary
III. STUDYING THE PRESENT SYSTEM
A. Purpose
B. Method for Studying the Present System
1. Products of the Study
C. Determining Scope and Size of Study
D. Performing Document Analysis
1. Document Analysis Approach
2. Document Description Sheet
3. Copy Distribution Sheets
4. Source Document Sheet
5. Document Analysis Sheet File
E. Level Analysis
F. Schematic Diagram
1. Drawing Schematic Diagram
G. Reviewing Existing Procedures
H. Observing Current Operations
I. Walkthroughs
J. Interviews
K. Data Flow Diagram
L. Staffing Initial Project Team
M. Planning and Progress Monitoring
N. Summary
O. Footnotes
IV. DEFINING THE PROTOTYPE
A. Contents of the Prototype Definition
1. Logical Definition
a. Reports
b. Screens
c. Information
d. Functions
e. Controls
f. Interfaces
2. Physical Definition
a. Database
b. System Flow
B. Establishing the Project Team
C. Developing the Logical Definition
1. System Talkthroughs
2. Describing Screens, Reports, and Functions
3. Data Dictionary Entries
D. Developing the Physical Definition
E. Documenting the Definition
F. Planning and Progress Monitoring
G. Securing Equipment for Prototyping
H. Planning for Building through Implementation
1. Milestones
I. Summary
J. Footnotes
V. BUILDING THE PROTOTYPE
A. Expanding the Project Team
B. Choosing the Tools
C. Planning To Build and Monitoring Progress
D. The Initial Model and Final System
1. Building the Prototype on a Micro First
E. Building the Database
1. Entering Test Data
F. Building the Initial Model (Skeletal System)
1. Program Stubs Moving Data
2. Painting Screens
a. Example of a New On-line System
b. Example of a Package Modification
c. Example of a System Enhancement
3. Producing Reports
a. Examples of Differences Based on Tools
4. Communicating with Other Systems
5. Version Control
6. Delaying Controls and Validations
G. Summary
VI. EXERCISING THE PROTOTYPE
A. Expanding the Project Team
B. Stages of Discovery
C. Results of Exercising
1. The System
2. Test System
a. Reasons for Testing
b. Test Data Sets
c. Tools for Testing
d. Testing Controls
e. Duties of Exercising Coordinator
f. Version Control
g. Test Logs
3. User Documentation
4. Requirements Agreement
5. Cadre of Trained Users
D. Requirements for Exercising Successfully
E. How To Exercise the Prototype
1. Develop Plan and Schedule
2. Conversion Process
3. Develop Test System
4. Familiarization
5. Training
6. Prototyping Sessions
a. Develop Test Data
b. Data Exercising
c. Data Exercising On-line System
d. Data Exercising Package Modification
e. Data Exercising Batch System
f. Data Exercising System Enhancement
g. Aspects of Data Exercising
h. Exercising Sessions for Processes
i. Process Exercising On-line System
j. Process Exercising Package Modification
k. Process Exercising Batch System
l. Process Exercising System Enhancement
m. Additional Aspects of Process Exercising
n. Exercising for Edits
o. Edit Exercising On-line System
p. Edit Exercising Package Modification
q. Edit Exercising System Enhancement
r. Aspects of Edit Exercising
7. Team Reviews
8. Complete System
9. Complete Test System
10. Complete Requirements Agreement
F. Progress Monitoring
G. Prototype Becomes the System
H. Summary
VII. IMPLEMENTING THE SYSTEM
A. Develop Plan and Schedule
B. Recommendations for Success
C. Training Remainder of Users
D. Volume and Parallel Testing
E. System Acceptance
F. System Documentation
1. User Guide
2. Data Dictionary
3. Operating Documentation
4. Program Documentation
G. Operating Acceptance
H. Conversion
I. Installation
J. Summary
VIII. ENHANCING AND MAINTAINING THE SYSTEM
A. Initiating a Change
B. Problem Resolution
C. Making a Change
D. Responsibility for System Changes
E. Using the Data Dictionary
F. Using Test System
G. Change Control
H. Summary
L I S T O F F I G U R E S
I-1: Typical "Life Cycle" Project Plan
I-2: Typical Prototyping Project Plan
I-3: New Way of Looking at Prototyping Project Approach
II-1: Service Request Information Flow
II-2: Sample Service Request Form
II-3: Parts of Systems Analysis Function
III-1: Steps in Studying Present System
III-2: Document Description Form
III-3: Copy Distribution Form
III-4: Source Document Form
III-5: Schematic Diagram of Closed Loop
III-6: Initial Level Analysis Chart
III-7: Schematic Diagram Symbol Format
III-8: Schematic Diagram Connector Entries
III-9: Sample Schematic Diagram
IV-1: Partial Payroll Database Structure
V-1: Simultaneity of Prototype Building Tasks
VI-1: Sample Passenger Input Screen
VII-1: Overlapping Implementation Tasks
L I S T O F T A B L E S
I-1: Features of a Methodology
I-2: Contents of Initial Prototype Model
I-3: Prototype Becomes the System
I-4: Components of Systems Development Methodology
I-5: Prototyping versus Traditional Project Phases
I-6: Advantages of Prototyping
I-7: How Prototyping Methodology Cuts Manpower Needs
I-8: Advantages of Full Prototype vs Mock-up
I-9: Possible Disadvantages of Prototyping Methodology
I-10: Problems with Current Methodologies
I-11: Applications of Prototyping Methodology
I-12: What Is Needed To Prototype
I-13: Tools To Enhance Prototyping
II-1: Uses for Service Requests
II-2: Parts of a Service Request
II-3: Review of Service Request
II-4: Questions To Learn What User Wants
II-5: Kinds of Alternate Solutions
II-6: What Descriptions of Alternatives Must Contain
II-7: Criteria for Evaluating Alternatives
II-8: Description of Need for System Professionals
III-1: Present System Areas for Improvement
III-2: Approach for Studying Present System
III-3: Tools for Studying an Existing System
III-4: Products of Present System Study
III-5: Document Description Sheets
III-6: Document Analysis Steps
III-7: being modified within the area In this case the
III-8: Document Analysis Control Lists
III-9: Sample Document Identification Codes
III-10: Materials Needed for Level Analysis
III-11: Schematic Diagram Symbol Entries
III-12: Interview Checklist
III-13: Essential Elements for Study Success
III-14: Study Tasks To Be Scheduled
IV-1: Prototype Definition Contents
IV-2: Report Description
IV-3: Screen Description
IV-4: Information Element Description
IV-5: Record Definition Criteria
IV-6: Record Description
IV-7: Required Information Systems Skills
IV-8: Logical Definition Tasks
IV-9: Results of System Talkthrough
IV-10: Data Dictionary System Features
IV-11: Physical Definition
IV-12: Essential Elements for Definition Success
IV-13: Definition Tasks To Be Scheduled
V-1: Building the Prototype
V-2: Criteria for Initial Model
V-3: Completeness of Initial Model
V-4: Prototype Building Tasks
V-5: Skills for Building Prototype
V-6: Tools for Prototyping
V-7: Fourth Generation Language Features
V-8: Essential Elements for Prototype Building Success
V-9: Guidelines for Building Initial Model
V-10: Possible Advantages of Temporary Differences
V-11: Sources for Building Modules
V-12: Facets of Screen Painting
V-13: Information for Logging Insurance Claim
V-14: Communication with Other Systems
VI-1: Stages of Discovery
VI-2: Results of Exercising the Prototype
VI-3: Reasons for Testing
VI-4: Test Data Set Contents
VI-5: Test Data Set Log
VI-6: Data Set Types
VI-7: Tools for Testing
VI-8: Testing Controls
VI-9: Duties of Exercising Coordinator
VI-10: Version Control Log
VI-11: Test Log Contents
VI-12: Elements of a Requirements Agreement
VI-13: Factors To Make Exercising Successful
VI-14: Approach for Exercising the Prototype
VI-15: Exercising Tasks To Be Scheduled
VI-16: Elements of an Exercising Session
VI-17: Aspects of Data Exercising
VI-18: Additional Aspects of Process Exercising
VII-1: Task Responsibilities
VII-2: Recommendations for Success
VII-3: Comparison of Volume and Parallel Testing
VII-4: System Documentation Contents
VII-5: User Guide Contents
VII-6: Report and Output Screen Catalog Contents
VIII-1: System Changes
VIII-2: Steps in Resolving a System Problem
Two of the severest problems facing Information Systems groups today are the increasing backlog of service requests and the decline in user confidence. These problems, in turn, are eroding the influence of Information Systems within their organizations.
The proper use of
prototyping will alleviate these problems and consequently enhance
the influence of Information Systems.
Numerous articles about
prototyping have appeared recently. Most people think they know what
it means. A lot of organizations have tried it. But prototyping is
not easy. If you have attempted it, you know this is true. Most
organizations are not receiving the full benefits of it. Many
Information Systems managements are rightly leery of using it without
a methodology.
The purpose of this book is to
explain what prototyping is and to provide a methodology for using
it.
This book should help
you whether you are a programmer, analyst, project leader, manager,
director, vice president, consultant, or student of Information
Systems methodologies. This book should also help you if you are a
user of Information Systems services who wants to learn about
prototyping.
If you are considering
whether to prototype, this book is for you.
If you have prototyped,
or are prototyping, and want to improve your approach, this book is
for you.
If you want to learn how
to prototype, this book is for you.
If you only want to
learn about prototyping, this book is for you, too.