Академический Документы
Профессиональный Документы
Культура Документы
A staged and incremental approach that periodically delivers a system that is increasingly complete over
time.
1st implementation:
Not seen as the main objective
Just part of the continuing evolution and improvement of the system. Until an optimal solution
to the original problem / requirement is achieved.
Design flows.
Failing to meet user
Escalating costs
2nd objective phase 3rd risk analysis
Losing sight of the
stage perceived system
Horizontal axis benefit
Represents the (Identify & resolution of risk)
commitment to the
project
PROTOTYPING
Reduce cost
More popular with the availability of software tools Speed up the process of
development of prototype
Overcome some problems of traditional system analysis.
O Example: complaint that users only see their Information System at implementation
time and too late to make changes.
Response to the user dissatisfaction.
2 types of prototypes:
A) Throwaway Prototype
Inefficient for operational user
Incomplete, performing only some of the required tasks.
Inadequate, sometimes being designed for 1 type of user / 1 purpose only.
Poorly documented
Unsuitable, or difficult to integrate with other operation system
Incapable of scaling to the required volumes of operation used.
B) Evolutionary Prototype
Slightly quicker applications development.
Developers are building on something that already exists.
To evolve the prototype into an effective, live running systems.
Can handle larger volume.
Speedy response
High functionality
Security required.
Prototype useful where:
O The application area is not well defined.
O The organization is not familiar with the technology (hardware, software,
communications, designs, and so on) required for the application.
O The communications between analysts and users are not good.
O The cost of rejection by users would be very high, and it is essential to ensure that the
final version has got users’ need right.
O There is a requirement to assess the impact of prospective information systems.
Form of prototype:
O Functional prototype
Demonstrating, testing and evaluating the functionality of a system.
O Process prototype
Demonstrating, testing and evaluating the process, sequences, response, etc of
a system.
O Design prototype
Demonstrating and evaluating a variety of alternative designs/ solutions.
O Performance prototype
Testing response time, loads, volumes.
O Organizational prototype
Demonstrating and evaluating different organizational design, cross functional
work, organizational processes and their integration with Information System.
Phases:
O Analysis phase
Designed to understand the present system and to suggest the functional
requirement of an alternative system.
O Prototyping phase
Construct a prototype for evaluation by users.
O A set of evaluation and prototype modification stages.
O A phase to design and develop the target system using the prototype as part of the
specification
Also addresses the problems associated with changing and evolving requirements during the
development process.
General characteristic:
i. Incremental development
Belief that not all system’s requirements can be identified and specified in
advance.
Some requirements will only emerge when users see & experience the system.
Requirements are also never seen as complete.
Change and evolve over time with changing circumstances.
RAD identifies the easy, obvious requirements and in conjunction with 80/20
rule (Pareto Principle)
Uses these as the starting point for a development, recognizing that
future iteration and timeboxes will be able to handle the evolving
requirement over time.
ii. Timeboxing
System development divided up into a number of components/timeboxes that
are developed separately.
The most important requirement/largest potential benefit first and deliver
quickly.
Traditional development vs. RAD development
Variable elements -> Time & Fixed elements -> Time and
Resource) Resource
If projects are in difficulty, delivery Allocate more resources is viewed
time is extended, resources are as counter productive.
allocated. Functionality is variable.
Functionality is treated FIXED.
Focus:
Speed of delivery
Identification of absolutely essential requirements
Implementation as a learning vehicle
Expectation that the requirements will change in the next time box
iii. The Pareto Principle
80/20 rule
80% of a system functionality can be delivered with around 20% of the
effort -> to complete 100% of requirement
viii. Toolsets
Any integrated computer software system that is specifically designed to
support a significant part of Information Systems development process of an
CASE tools Information Systems and the management of these tasks and procedure.
available to
CASE (Computer Aided System (or Software) Engineering)
simplify various
stages of Used to
Software Speed up the process
Development
Life Cycle such Improve productivity
as Analysis Automated tool used for routing and time consuming tasks.
tools, Design
Includes:
tools, Project
management Clone existing code and modified it
tools, Database
Utilize commercial packages
Management
tools, Use of complete application and change the interface to produce the
Documentation desired results.
tools
AGILE DEVELOPMENT
12 principles:
o The highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
o Changing requirements are welcome, even late in development. Agile processes harness
change for the customer’s competitive advantage.
o Working software is delivered frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
o Business people and developers must work together daily throughout the project.
o Projects should be built around motivated individuals. If the right environment and
support is provided, the developers can be trusted to get the job done.
o The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation
o Working software is the primary measure of progress.
o Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely.
3) Minimalism
Developers only undertake activities that are going to help produce result in the
short term.
“high level” activities -> any activity that does not lead to the goal is not
undertaken (eg. documentation)
5) Risk acceptance
Traditional -> risk are to be identified, assessed & avoided. By applying
restrictive management practices, opting out of any activities identified as high
risk.
Agile -> missing opportunity, as high risk activities have the potential of
delivering large benefits.
Market risk relate to”
Product
Timing Managing this risk is key.
Consumer
Technology Must be faster and more effective.
Cost
Benefit
5 steps in agile:
Identify the risk
Assess their severity
Prioritize the risks based on the severity
Create action plan (responses) to deal with severe rises
Continuously monitor to ensure the actions plans are achieving their
objective.
6) People Orientation
Team of people and how they work together -> most important element
People have different skill
Good people will do a better job
Similarities:
o Database
Rely on database
Need skills to implement them
o Integration
Internet application need to be integrated with enterprise application
Eg. car ordering system -> communicate with manufacturer on requirement and
delivery date.
CONCLUSION
Prototype
o An approximation of the Information System to be built
o Scaled-down functional model and demostrate to the user to gain feedback
Agile Development
o Aims at flexible and quick development of software
o Requirement are difficult to define
o Emphasizes interaction between people
o Less emphasis on documentation
o Collaborating with customers and responding to change in the development process
Web-based IS Development
o Emphasis:
Time pressure
Design and user interface requirement
Security concerns
Customer orientation