Four conceptions that may be usefully applied in a particular situation
Prototype
Constructing a system that works but it patched up or patched together
Patched-Up Prototype
A non-working scale model that is set up to test certain aspects of the design;
produced when the coding required by the applications is too extensive to prototype but when a useful idea can be gained
Non-Operational Prototype
Creating a first full-scale model of a system, called a pilot; useful when many installations of the same information system are planned
First-of-a-Series Prototype
Building an operational model that includes some, but not all, of the features that the final system will have;
accomplished in modules so that if the features that are prototyped are evaluated by users as successful
Selected Features Prototype
1. Work in manageable modules
2. Build the prototype rapidly
3. Modify the prototype in successive iterations
4. Stress the user interface
Guidelines for Developing a Prototype
A manageable module is one that allows users to interact with its key features but can be built separately from other system modules
Working in Manageable Modules
Creating it in modules that are not highly interdependent
Modifying A Prototype
Get users to further articulate their information requirements, so they must be able to interact easily with the system's prototype;
must be well developed enough to enable users to pick up the system quickly
Stressing the User Interface
1. Difficult to manage prototyping as a project in the larger systems effort
2. Users and analysts may adopt a prototype as a completed system when it is in fact inadequate and was never intended to serve as a finished system
Disadvantages of Prototyping
1. Potential for changing the system early in its development
2. Opportunity to stop development on a system that is not working
3. Possibility of developing a system that more closely addresses users' needs and expectations
Advantages of Prototyping
1. Experimenting with the prototype
2. Giving open reactions
3. Suggesting additions to or deletions
User Involvement
Collection of innovative, user-centered approaches to systems development
Agile Methods
1. Communication
2. Simplicity
3. Feedback
4. Courage
Values of Agile Modeling
Reflections and specifications of agile values; serve as guidelines for developers to follow when developing systems; serve to set agile methodologies apartment from traditional
Principles of Agile Modeling
1. Coding
2. Testing
3. Listening
4. Designing
Basic Activities of Agile Development
1. Time
2. Cost
3. Quality
4. Scope
Resource Control Variables of Agile Modeling
1. Short Releases
2. Forty-Hour Workweek
3. On-Site Customer
4. Pair Programming
Core Agile Practices
Development team compresses the time between releases of the product
Short Releases
Agile development teams purposely endorse a cultural core practice in which the team works intensely together
Forty-Hour Workweek
A user who is an expert in the business aspect of the systems development work is on-site during the development process
On-Site Customer
Emphasis is on spoken interaction between developers and users, not written communication;
a developer is seeking first and foremost to identify valuable business user requirements
User Stories
1. Product Backlog: list derived from product specifications
2. Sprint Backlog: dynamically change list of tasks
3. Sprint: 30-day period to transform into software
4. Daily Scrum: brief meeting
5. Demo: working software
Scrum Methodology
A systems development approach that has values, principles, and practices useful for systems analysts who desire a flexible, interactive, and participative approach
Agile Modeling
A systems development approach that accepts what we know as good systems development practices and takes them to the extreme
Extremem Programming (XP)
The last phase of the systems development life cycle, in which an analyst ensures that the system is in operation and then allows users to take over its operation and evaluation
Implementation
A core practice of the agile approach in which two programmers choose to work together
Pair Programming
1. User reactions
2. Suggestions
3. Innovations
4. Revision plans
What four kinds of information is an analyst seeking through prototyping?
A concept model of a car. The exact design of the car is built with all the specs available, but only one model is created. This is in order to show off the design and quality of the car to represent to investors without creating an entire line of vehicle
Give an example of a prototype that is a first full-scale method.
Selected features prototype: the system is created by modules and features can be evaluated, changed, or axed as the progress continues
Define what is meant by a prototype that is a model with some, but not all, essential features.
An analyst effectively shortens the time between ascertainment of human information requirements and delivery of a workable system. Also, ability to overcome some of the problems of accurately identifying user information requirements.
Describe how prototyping can be used to augment the traditional SDLC.
Estimate the costs involved in building a module of the system; if the costs of programmers' and analysts' time as well as equipment costs are within the budget, building can proceed.
What are the criteria for deciding whether a system should be prototyped?