Beruflich Dokumente
Kultur Dokumente
What is a project?
A project refers to a planned idea rather than a routine. In the IT industry, an
information system is referred to as a project which can take the form of a fully
customisable database application, an online transaction system, a multimedia
system, a computer network or online application. Any system designed and
implemented to achieve an objective is a project.
Sc
op
e
Quality
Time
Managing a project
Project management is the process of planning, scheduling and controlling all the
activities within each stage of the system development cycle. It aims to deliver a new
system within an acceptable time frame and budget. All aspects of a project need to
be managed, some aspects are more complex than others but are not necessarily
more difficult.
In a project:
Paraphrasin
g
Summarisin
g
Clarifying
questions
Motivational
responses
Active
listening
Conflict
resolution
Compromise
Acknowledging opinions
Mutual respect
Negotiation
skills
Interview
techniques
Team
building
Design of systems
Information systems should be designed to take into account the strengths and
weaknesses of both people and machines.
The design of a system impacts on the work environment. The impact can be positive
or negative.
The relationship between people and their work environment is called ergonomics. It
refers to the process of designing or arranging workplaces, products and systems so
that they fit the people who use them.
A new information system will change a participants work.
Use of skills: Participants may be required to retrain and learn new skills
(become multi-skilled) or perform work requiring less skills (become deskilled)
Meaningful work: Participants who work on the computer may not understand
the importance of their work. Their work may be abstract in nature and focused
on symbols on the screen
Nature of the workplace: Part-time work and the use of contracted labour may
increase
Analysts have two major tools at their disposal, interviewing users and generating
prototypes.
Interviewing or surveying users of the existing system is a good method for
collecting or obtaining insight into user experiences and problems with the existing
system. Needs and ideas can be given by users that can help improve the existing
system. The larger the sample of users interviewed the better the responses obtained
can be and as a result, more accurate responses to derive requirements. Questions
used in a survey or interview must be planned to obtain specific responses that may
lead to users sharing their experiences and problems with the existing system.
Participants will often provide different responses that users as they have an
understanding of the part of the system they interact with. They often identify
problems and have ideas for how to solve them. They are a vital source of information
for details of the information system.
Analysts may use the responses from both users and participants to develop diagrams
and system models.
Introduction: System purpose, user needs and system scope (extent to which
the purpose will be met)
General system description: System context (environment it will work in),
major system requirements and participant characteristics (how the participants
will initiate information processes such as access levels)
System requirements: Physical (hardware), performance, security, data and
information and systems operations
improvements until the users, participants and analysts are satisfied that the
requirements have been understood.
It would be unfavourable to create a system with 100% efficiency as it will require
large amounts of maintenance for the system.
The requirements for a new system can be determined once participants are
interviewed and a requirements prototype has been made. These are written formally
in the requirements report which also defines inputs and outputs as well as their
relationship.
Planning
Feasibility study
a feasibility study of proposed
solutions, including:
economic feasibility
technical feasibility
operational feasibility
scheduling
A cost-benefit analysis compares all the costs with all the benefits in an attempt
to determine the total return on the money invested into the new system
The Net Present Value (NPV) determined the current value of a system and
predicts its worth in the future, a positive NPV indicates a system that retains its
value while a negative NPV indicates an investment that should not be developed
further
The return on investment (ROI) is the difference between the initial NPV and
profit generated once development cost and investment can be recouped
The most economically feasible solutions have a high NPV, high ROI and short
payback period
Technical feasibility
the new system will have enough support from participants to be successfully
implemented and whether participants can operate the system. A solution option will
be operationally feasible if it meets the needs of the participants and users of the
system.
Scheduling
Schedule feasibility determines whether time is available to implement the new
system. It also examines the consequences should some tasks or the entire project
fail to meet its specified deadlines. The project plan, in particular the Gantt chart, will
specify the deadlines for completion of each development task.
Traditional
The traditional approach (also known as a cascade, structured
or waterfall approach) to system development involves formal
Understanding the problem
step-by-step stages where each stage must be completed before
progressing to the next stage. As each stage is completed
deliverables feed down to the next stage and into all subsequent
Planning
stages. Because of this there is no returning to a previous stage
and there are few opportunities for users and others to provide
ongoing feedback. Consequently error and omissions can feed
Designing
through the system development cycle without detection.
This development approach can take long periods of time but is
very well suited for development of systems where the
Implementing
requirements can be determined in advance such as hardwarebased products.
Testing, evaluating and maintaining
Outsourcing
Outsourcing of development tasks involves using another company to develop parts
of the system or even the complete system. It is often more cost effective to
outsource specialised tasks to an experienced company rather than to employ new
staff or train existing staff, particularly when aspects of the system require highly
specialised skills which are unlikely to be required once the system is operational.
Contracting and outsourcing are similar in some respects but when an outside
organisation is contracted they work under the direct management of the contracting
company while outsourcing involves passing control of the entire process over to the
outsourced company. Outsourcing is helpful as the contacting company is not
responsible for troubleshooting when problems arise.
Prototyping
The prototyping approach (also known as
iterative approach) extends the use of
requirements prototypes so that they
evolve to a point where they actually
become the final solution or become
sufficiently detailed that they can be used to
present a concept for full scale
development. Concept prototypes become
an essential part of the requirements for the
new system as they are accurate simulations
of the final system.
Any prototype has the potential to become
the complete and finished system. For the
most part, a prototype will simulate most
operation that a new information system
should do. They help develop an
understanding of the requirements for a new
system.
Planning
Designing
Implementing
Customisation
Customisation can allow an existing system to suit the specific needs and
requirements of the new system when it is economically unviable to develop a
completely new system. Most business systems are customised versions of existing
systems, for example virtually all hotels around the world use one of only a handful of
commercially available software and hardware systems. One commercial system can
be selected and customised to suit specific requirements.
Open source software can be easily modified to suit the user. These established
information systems be used by small businesses, meaning they wouldnt need to
develop a completely new system, this would be cheaper and require less IT
expertise. A system development kit (SDK) allows users to add functions or customise
this software. MYOB is an example of a customisable information system, allowing for
business processing and custom modules to be downloaded.
Customisation may involve alterations to the settings of hardware or software or it
may involve changes to functions of the actual hardware or software itself.
Participant development
The participant development approach relies on the people that will use and
operate the final system to also develop the system. This approach requires little
consultations as it is the users and participants that will largely determine the system
requirements. This can speed up development considerably but can have numerous
disadvantages.
The users must have sufficient skills to be able to create the system and understand
the extent of their skills. Systems that will mainly be used by the developer/user are
often suitable candidates. There is no need for detailed documentation in this
approach as the developer is always on hand to answer questions and make
modifications.
Participants are actively involved in developing a system as they can provide
feedback on its systems, such as UI design, efficiency, inputs and outputs and
logistical problems. They should also have a basic understanding of how the final
product should work, such as programming or hardware.
Agile methods
Agile development methods place
emphasis on the team developing the
system rather than following predefined
structured development processes. Agile
methods remove the need for detailed
requirements and complex design
documentation, encouraging cooperation
and team work. They are particularly well
suited to web-based software development
and other software applications that are
modified regularly, evolving over time.
Typically small teams of developers are used
which are better able to share ideas and
work on solutions together. Larger teams
will tend to break into smaller groups but for
agile methods to be a success, members
should be equal with a clear shared
purpose.
For the agile approach, each part of the
software solution relies heavily on the other
related parts. Until the related parts are
created, much of the design will prove
unworkable and will need to be redesigned
or significantly altered.
One significant issue with agile methods is
how to construct agreements when
outsourcing the development without
detailed requirements.
The agile approach is only possible when
there are no detailed requirements while
most problems will occur when
implementing the solution.
Planning
Designing
Testing, evaluati
Imple
Requirements report
the requirements report that:
details the time frame
The requirements report should be updated when it is determined how the project will
be managed. Once a suitable development approach has been determined then
sufficient information is available to determine suitable techniques and strategies for
managing project development. The requirements report can be updated with
specifics in regard to the chosen solution and reflect the selected system
development approach.
Designing
Building/creating the system
clarifying with users the benefits of
the new information system
designing the information system for
ease of maintenance
clarifying each of the relevant
information processes within the
system
detailing the role of the participants,
the data and the information
technology used in the system
refining existing prototypes
participant development, when
people within the information system
develop the solution
participant designed solutions
tools for participant development
such as guided processes in
application packages
Know what the users goals, skills, experience and needs are
Maintain consistency within the system and other known applications
Make components/elements on all screens/windows readable including text and
logical placement
Clearly show all functions available
Allow for a reaction in the screen/window for every user action
Provide a way of cancelling out potentially dangerous changes
Context diagrams
Context diagrams represent the entire system as a single process. They attempt to
identify the data entering and leaving the system along with its source and
destination (external entity or sink).
Decision trees
Decision trees are a tool for documenting the logic upon which decisions are made.
Decisions are made when one alternative is chosen from a range of possible
alternatives. In terms of information systems, each of these alternatives result in
some action or process being performed. Each rule is composed of one or more
conditions that must be satisfied for the rule to be true.
Decision trees represent the rules, conditions and actions as a diagram. In a decision
tree each unique left to right sequence of branches represents a rule which results in
an action.
Decision tables
Decision tables are also a tool for documenting the logic upon which decisions are
made, using a two dimensional table to represent rules, conditions and actions.
Data dictionaries
Data dictionaries are used to detail each of the data items used by system. They
are table where each row describes a particular data item and each column describe
an attribute (property) of the data item. The name or identifier for the data item must
be included together with a variety of other details including data, storage size and
description.
Often data dictionaries are associated with the design of database where they are
used to document details of each field. Common details include the field name, data
type, data format, field size and description. Data dictionaries are also used in
conjunction with many design tools such as being used to specify details of each data
flow used in context and data flow diagrams.
Storyboards
Storyboards are tools for designing the user interface within software. They
document the layout of elements on individual screens and the connections between
the screens. Storyboards are often hand drawn sketches of each screen showing the
placement of each screen element and its specific details.
Storyboards can also include a diagram (navigation map) that can show the
navigational links between screens, this is particularly valuable for hypermedia such
as websites and multimedia systems. The user interface is often designed when
generating a storyboard as it provides a means to refine a prototype as the storyboard
can show how the final system will look.
Implementing
The implementation plan
acquiring information technology and
making it operational
hardware
software, customised or developed
an implementation plan that details:
participant training
the method for conversion
- parallel conversion
- direct conversion
- phased conversion
- pilot conversion
how the system will be tested
conversion of data for the new
system
How and when the participants are to be trained to operate the new system
The method of converting from the old system to the new system
How the system will be tested
Conversion of data for the new system
Implementing training for participants and users
Training ensures participants can use the new system and understand its benefits.
Training is also needed in the installation of a new system and to ensure that the
computer is being used efficiently.
Traditional group training sessions can occur on-site at a place of employment or
off-site at a training centre. The trainer can be a member of the system
Parallel
Direct
Phased
Pilot
Advantages
Parallel
Direct
Disadvantages
Phased
Troubleshooting needs to be
done as the new system
operates
Cost of operating two systems
Data being shared
Transitioning can be confusing
or inconsistent
Pilot
Backup
Issues can be identified ahead
of time
Testing is more localised and
broken down; easier to
manage
Not as expensive as other
methods
Operation manuals
the need for an operation manual
detailing procedures participants follow
when using the new system
Test data
Test data is any data used to test a systems operations according to its purpose.
There are three different types of data to test a system:
Volume data
Simulated
data
Live (or realtime) data
The process of acceptance testing is where formal testing is carried out on systems
to ensure that the requirements outlined in the requirements report are actually met.
Acceptance testing uses the three types of test data.
Acceptance testing is usually outsourced for large systems though outsourcing can
be effective for any other system. Acceptance testing would be outsourced as there
would be less bias in the process and results will be more objective.
The user experience: once users become more experienced with the system,
they will generally not tolerate poor performance and/or functionality issues