Systems Planning and Development
This week we discuss how information systems are planned for and developed.
It is difficult to fully understand how these processes work until you have
experienced them, but we will do our best to explore the concepts and prepare
you for dealing with them when you do get to experience them. The outline
presented here is intended to help point out important topics and terms, but
is not intended to replace the lecture (or the text)
Objectives
- explain the steps involved in planning IS
- describe the systems development life cycle
- explain challenges faced in systems development
- compare and contrast system conversion strategies
- explain the principles of agile systems development methods
- explain the concept of system integration
- discuss the advantages and disadvantages of certifications
Systems Planning and Development
- the risks in planning, developing, and implementing a large IS are
huge; there is a large outlay of money, time, effort, and focus;
many large IS developments fail; if the system doesn't live up to
its requirements, mission critical functions could be disrupted;
some organizations have gone bankrupt primarily because of IS
design and deployment failures
- the advantages in planning, developing, and implementing a large IS
can be huge; a good IS that supports an organization's mission well
can give it a tremendous competitive advantage, increasing productivity
throughout the organization
- mission statement: a paragraph the communicates the most
important overarching goal of the organization over the next few
years; departments and other units within the organization have their
own mission statements which should only be a few paragraphs long at most
- vision statement: vision statements are developed based on mission
statements and state what management expects the organization will look like
in order to accomplish its mission
Planning
- Steps:
- create organization-wide and IS/IT mission statements
- articulate the vision for IS/IT within the organization
- create strategic plans for IS/IT
- create tactical plans for IS/IT
- create a plan of action to achieve mission and vision
- create the budget required to achieve goals
- standardization: adopting a common process, application,
hardware, etc. across an organization
- benefits of standardization: IT has to spend less time and money for
training users and support staff; buying in quantity can reduce price
per unit; commonalities across the organization help avoid system
integration problems and make it easier for employees to switch areas
and remain productive
- disadvantages of standardization: IT seldom knows what is best for
the user, so standardization can lead to lower productivity overall;
standardization can also mean a lack of flexibility (IT is often more
concerned with ease of maintenance than the employees' being
able to do their jobs); standardization usually doesn't take into account
differences between employees (some being extremely computer savvy and
some being barely computer literate)
- prototyping: the fast development of an application based on
initial user requirements and several cycles of user input and developer
improvements
- progressive elaboration: continuing refinements made as more knowledge
and experience are obtained
- legacy system: old systems that an organization wants to work
with rather than replace (often because they work well even though the
technology is old)
- systems integration: getting a number of applications and/or
hardware to interface with each other and organizational processes
Systems Development Life Cycle
- SDLC: Systems Development Life Cycle; a common framework for
planning, developing, implementing, and maintaining an application
- phases given in text:
- planning
- analysis
- investigation: what is the purpose or goal of the proposed system?
- technical feasibility study: is the proposed system reasonably possible?
- economic feasibility study: will the benefits outweigh the costs?
- operational feasibility study: will the system be accepted and used as intended?
- requirements definition: what features and and interfaces will the system need?
- design: includes construction and testing of system
- implementation: could be parallel, phased, cut-over, or pilot conversion
- support: includes maintenance and helping users
- cost/benefit analysis: a study of how much expected benefits will generate
and how much they will cost
- ROI: Return on Investment; this helps tell you if the money could be better
spent elsewhere
- TCO: Total Cost of Ownership; this includes purchase, maintenance, training, etc.
- organizational culture: refers to traits common across an organization,
such as a willingness to share information or hide knowledge
- systems requirements: functions that a system is expected to fulfill, and the
features it will need
- systems design: describes components of the system and how they operate, the
construction of the system, and how the system will be tested
- DFD: Data Flow Diagram; shows how data flows through an organization (see
text for description, illustration, and examples)
- UML: Unified Modeling Language; a graphical standard(s) for visualizing,
specifying, and documenting software
- parallel conversion: the old and new systems are kept running together
until the new system is proven to work; expensive, but safe
- phased conversion: parts of the new system are brought online one at a time
as they are tested and ready to go; less expensive with moderate risk
- cut-over conversion: the old system is abandoned when the new system is
started; relatively inexpensive, but very risky
- flash cut conversion: synonym for cut-over conversion
- pilot conversion: smaller organizational units get to try out and test the
new system before the whole organization starts using it; reduces risks and expense
- beta site: an organization which gets to try out a new system or application
to see how well it works and help find problems
- outsourcing: letting a third party take over some of your internal business
processes and functions
Agile methods
- the purpose of agile methods is to greatly decrease feedback times and
shorten development time, often by greatly increasing contacts with users
- some agile methodologies
- XP: extreme programming
- ASD: active software development
- LD: lean development
- RUP: Rational unified process (Rational is a company name)
- FDD: feature driven development
- DSDM: dynamic systems development method
- Scrum
- Crystal
- agile methods are best used when the systems being developed are small,
not overly complex, when user requirements are hard to get and/or changing,
when the development team is small, the system is not mission critical,
and the development budget is tight
Industry certifications
- advantage: they tell a prospective employer that a potential employee
should have knowledge in a certain area
- advantage: someone looking for a job may find it easier to get hired
if they have evidence of their expertise, especially when they don't
have a significant amount of experience
- advantage: businesses can check certifications of consultants before
hiring them to find out if they are qualified to do the job
- advantage: theoretically, having developers certified could increase the
overall quality of developers and be a benefit to all of society (but it
could also limit creativity and innovation)
- disadvantage: certifications often aren't good indicators of what someone
can or can not do
- disadvantage: certifications can be used to limit entry to a field, making
their use counterproductive