Uploaded by k.tmonyai

BIS Chapter 7 - Intro to acquiring & developing BIS

advertisement
Chapter 7
Introduction to acquiring and developing BIS
Definitions
BIS acquisitions: Process of evaluating and implementing for a BIS.
Systems development lifecycle (SDLC): Any information system project follows a logical series of
development phases. These are known as the systems development lifecycle.
SDLC stages: Initiation, feasibility study, analysis of business requirements, systems design, system
build and implementation and, finally, reviews and maintenance.
Besproke development: An IS is developed ‘from scratch’ by an IS professional to suit the business
requirements of the application.
Off-the-shelf purchase: An acquisition method that involves direct purchase of a pre-written application
used by more than one company.
User-developed software: Software written by non-IS professionals i.e. the business users.
Enterprise application integration (EAI): Software used to facilitate communication between business
applications including data transfer and control.
Initiation phase: The startup phase in an IS development project. Its aims are to establish whether the
project is feasible and then prepare to ensure the project is successful.
Initiation phase context:
Input: creative thought and/or systematic evaluation of IS needs
Output: idea for initiation of a new information system
Feasibility assessment: An activity at the start of a project to ensure that the project is a viable business
proposition. The feasibility report analyses the need for and impact of the system and considers different
alternatives for acquiring software.
Feasibility assessment content:
Input: idea for initiation of a new information system
Output: feasibility report and recommendation to proceed
Systems analysis: The capture of the business requirements of a system from talking to or observing
end-users and using other information sources such as existing system documentation. Defines what
the system will do.
Systems analysis context: Input: terms of reference in feasibility report describing outline
requirements
Output: detailed requirements specification summarising systems
functions
Supported by diagrams showing the information flow and processes that are required.
Systems design: Define how the system will work in key areas of user interface, program modules,
security and database structure and transactions.
Systems design context:
Input: requirement specification
Output: detailed design specification
System build: Describes the creation of software by programmers. It involves writing the software code
(programming), building release versions of the software, constructing and populating the database and
testing by programmers and end-users. Writing of documentation and training may also occur at this
stage.
System build context:
Input: requirements and design specification
Output: working software, user guides and system documentation
System implementation: Involves the transition or changeover from the old system to the new and the
preparation for this such as making sure the hardware and network infrastructure for a new system are
in place; testing of the systems; and also human issues of how best to educate and train staff who will
be using or affected by the new system.
System implementation context: Input: working system, not tested by users
Output: signed-off, operational information system installed in all
locations
Post-implementations review: A meeting that occurs after a system is operational to review the success
of the project and learn lessons for the future.
Rapid application development (RAD): A method of developing information systems which uses
prototyping to achieve user involvement and faster development.
Prototyping: A prototype is a preliminary version of part of a framework of all of an information system
which can be reviewed by end-users. Prototyping is an iterative process where users suggest
modifications before further prototypes and the final information system is built.
Spiral model: An iterative systems development in which the stages of analysis, design, code and
review repeat as new features.
Lean software development: Lean software development is an approach to software development
where software is developed and deployed in small and useful feature sets which work incrementally.
Dynamic Systems Development Method (DSDM): A methodology that describes how RAD can be
approached. The latest version is named DSDM Atern
1.
How and why is information systems acquired?
Organisation spend significant sums on information systems
Organisation’s business strategy will determine where business is going and why
Creates ‘demand’ for information and applications software that can provide it
Need to acquire, implement and manage applications – reason for software acquisition process
3 alternatives available to organisation to acquire software: bespoke development, off-the-shelf
and user-developed
1.1
Bespoke development
System developed from ‘scratch’ by IS professionals
IS professionals either work for the business (in-house development) or for third party
(outsourced)
Benefits: - producing sow tailored to precise requirements of business
- may confer competitive advantage since competitor organisations do not have same
software solution
Difficulties - Expense: most expensive way of developing new information system
- Time: notorious for time overruns
- Quality: not usually free from bugs
1.2
Purchasing ‘off-the-shelf’ software
AKA as packaged software
Is indirect purchase of pre-written application used by more than 1 company
Written to offer broad functionality that will suit wide range of different businesses
Disadvantages:
- May offer too many features for any particular business - feel they pay for features not
used
- May force business to process information in a way they do not usually do business
- May not offer sufficient features
Benefits:
- Low cost when compared with bespoke systems
- Less likely to suffer from bugs that afflict bespoke systems
Tailored off-the-shelf package = pre-written software purchased from supplier, but can be
configured to be specific to company by changing software code
Component off-the-shelf package = different modules may be purchased from different
suppliers and built together
1.3
User-developed software
Written by non-professionals i.e. business users
Enterprise resource planning/institutional applications = those that affect general corporate
activities, cut across more than 1 department/functional area
End-user applications = may be departmental or personal; usually output-/report-orientated
Benefits: - normally used by those who develop it - requirements not subject to mistranslation
Disadvantages: - inappropriate software development tools might be used
- may be full of bugs due to corner-cutting
1.4
Factors affecting software acquisition
3 critical factors: time, cost and quality
Different acquisition options have different strengths when considered in terms of critical
factors (see table below)
Acquisition option
Delivery
Cost
Quality: bugs Quality: fits
time
business needs
Bespoke in-house
Poor
Poor
Poor
Good
Bespoke software house Good
Very poor
Medium
Medium
End-user development
Poor
Medium
Poor
Good
Tailored - off-the-shelf
Good
Good
Good
Medium
Standard - off-the-shelf
Very good Very good Very good
Poor
Other factors affecting software acquisition:
- Organisation size
- In-house IS/IT expertise
- Complexity of the required information system
- Uniqueness of business or business area to be supported
- IS/IT expertise among end-users
- Linkages with existing applications software
2.
Software acquisition and the systems development lifecycle
SDLC approach recognises that systems are developed in a series of steps or phases and
each phase needs to be completed before the next one can start
Example of waterfall model
2.1
Initiation
AKA startup phase
First phase in SDLC
Aims to establish whether project is feasible and then prepare to ensure project is successful
Context - Input: creative thought and/or systematic evaluation of IS needs
- Output: idea for initiation of a new information system
Contains the stimulus from which the need to develop new BIS arises
Stimulus can be internal or external
Source of initiation process may be:
- Managing director or other senior management
- Information systems department
- Functional business area
2.2
Feasibility assessment
Ensure that project is viable business proposition
Feasibility report analyses need for and impact of system and considers different alternatives
of acquiring software
Context - Input: idea for initiation of a new information system
- Output: feasibility report and recommendation to proceed
3 criteria used to determine feasibility of information system:
1) technically feasible - technology exist or can be created to support required system
2) economically feasible - it must generate more benefits than the cost needed to
produce it
3) operationally and organisationally feasible
operationally: system must be capable of performing within required speed,
volume, usability and reliability parameters
organisationally: proposed information system must either be capable of running
alongside work patterns or existing work patterns must be
capable of being adapted or re-engineered to run alongside
new information system
2.3
Systems analysis
Capture of business requirements
Context - Input: terms of reference in feasibility report describing outline requirements
- Output: detailed requirements specification summarising systems functions
Once system showed to be feasible it is necessary to carry out detailed work of assessing
precise requirements that intended users have for new system
3 main tasks:
1) gain understanding of how current information system works
2) diagrammatic model of current system workings is produced to ensure IT
professionals and systems users agrees
3) set of requirements for new information system is produced
Requirements specification will define:
- featured that new system is required to contain
- scope of system under consideration
- intended users of new system
- system performance standards
- environment requirements
2.4
Systems design
Defines how system will work in key areas of user interface, program modules, security and
database transactions
Context - Input: requirement specification
- Output: detailed design specification
Task of systems design - convert requirements into a number of design alternatives - select best
Deal with matters such as:
- choosing appropriate database management system
- establishing general systems security standards
- deciding on methods of system navigation
- general standards for printed report production
- screen design standards for input and output
- data capture requirements
- data storage requirements
2.5
Systems build
Creation of software by programmers
Involves writing software code (programming), building release versions of software, constructing
and populating database and testing by programmers and end-users
Writing of documentation and training may also occur
Context: - Input: requirements and design specification
- Output: working software, user guides and system documentation
3 substeps: physical database construction, programming and testing
2.6
Systems implementations and changeover
Covers practical issues such as making sure hardware and network infrastructure for new system
are in place, testing of the system and human issues on how best to educate and train
staff who will be using or affected by new system
Also involves transition or change-over from old to new system
Context - Input: working system, not tested by users
- Output: signed-off, operational information system installed in all locations
Implementation had difficulties
Data converted from old information system or directly entered into new database
New system will become operational directly, in phases or after period of parallel running
2.7
Review and maintenance
Inevitable that changes will be required over time
2 different types of maintenance:
- unproductive maintenance - stems from errors or oversights in original systems
development
- addition of new features and facilities that extent scope and functionality of system
Must also undertake post-implementation review
3.
Bespoke development
Project failures implied that traditional structured methodologies such as SDLC have tendency to
deliver systems that arrive too late and do not meet their original requirements
Traditional methods can fail in number of ways:
- gap of understanding between users and developers
- tendency of developers to isolate themselves from users
- quality measured by closeness of product to specification
- long development times
- business needs change during the development process
- what users get isn’t necessarily what they want
Possible solution = rapid applications development (RAD)
RAD uses prototyping to involve users and increase development speed
Role of prototyping within SDLC:
3.1
Spiral model
Iterative systems development model
Developed in recognition of fact that systems development projects tend to repeat stages of
analysis, design and code as part of prototyping process
Four main activities:
1) planning - setting project objectives, defining alternatives
2) risk analysis - analysis or alternatives and identification and solution of risks
3) engineering - equivalent to build phase of SDLC with coding and testing
4) customer evaluation - testing of product by customers
3.2
Agile and lean software development
Lean software development - emphasises incremental approach to software development where
software is developed and deployed in small and useful feature sets which work incrementally
7 principles of lean software development:
1) eliminate waste
2) create knowledge
3) build quality in
4) defer commitment
5) deliver fast
6) respect people
7) improve the system
Agile software related to software engineering aspects of systems development
Encompasses a number of agile software development methods:
- Adaptive software development (ASD)
- Agile unified process (AUP)
- Scrum
- Dynamic systems development methodology (DSDM)
AUP has 4 phases in development cycle:
1) Inception
2) Elaboration
3) Construction
4) Transition
3.3
Dynamic Systems Development Methodology (DSDM)
9 key principles of DSDM:
1) Active user involvement is imperative
2) DSDM teams must be empowered to make decisions
3) The focus is on frequent delivery of products
4) Fitness for business purpose is the essential criterion for acceptance of deliveries
5) Iterative and incremental development is necessary to converge on an accurate
business solution
6) All changes during development are reversible
7) Requirements are baselined at a high level
8) Testing is integrated throughout the lifecycle
9) A collaborative and co-operative approach between all stakeholders is essential
4.
Purchase of off-the-shelf package
4.1
Software selection criteria for packaged software
Primary drivers - those that form a set of essential requirements, which if not met, means that
software solution will not be suitable for organisation
Primary drivers in descending order of importance:
- Features: software features and functionality of package
- Technology: compatibility of solution under consideration with existing hardware,
operating systems, database management systems, Internet, networking and ecommerce setups
- Support and services: support for day-to-day operational requirements
- Cost: different vendors have different approaches to pricing
- Customisation: organisation will want to make small changes
5.
User-developed applications
Should be develop in line with steps in bespoke development process
Main difference: end-user-developed applications (EUDA) usually smaller scale
Tools and techniques associate with bespoke development still have role in end-userdeveloped information systems
Steps is waterfall model:
- Initiation: stimulus come from personal or departmental requirement
systems may be standalone or use databases and database extracts from
corporate information systems and manipulate data in order to
produce information not previously made available
- Feasibility: user must be sure that necessary and appropriate end-user development
tools exist or can be acquired to proceed with development
analyse cost involved - needs to be justified on economic grounds
- Analysis: no need to present information system requirements to IS/IT specialist
reduces risk of mistranslating information system requirements and increase
probability that developed system is what user actually wants
- Design: EUDA have a tendency to be developed more on trial and error basis than
through formal design techniques
if it works well = faster development of application software
poor design may result in a system that at best does not work quite as it
should and at worst a system may actually results in incorrect information
being produced
- Build: much easier for end-user to build systems as inexpensive development tools
(e.g. Visual Basic for PC) becomes more available
- Implementation/changeover: less critical than with company-wide information system
data gathered locally or extracted from central databases
- Maintenance and review: all software has to be maintained in some way
maintenance could be more problematic with EUDA as
development is often not documented
Download