You are on page 1of 16

Chapter 10

Information Systems Development


Learning Objectives
Upon successful completion of this chapter, you will be able to:
• Explain the overall process of developing a new software
application
• Explain the differences between software development
methodologies
• Understand the different types of programming languages
used to develop software
• Understand some of the issues
surrounding the development of
websites and mobile applications
• Identify the four primary
implementation policies
Programming
• Needed to take ideas or business solutions and
bringing them to reality.
• Small changes can be implemented in a short
timeframe with a streamlined process
• Larger changes will require a software development
methodology to guide and manage the process:
– Systems development life cycle (SDLC)
– Rapid application development (RAD)
– Agile methodologies
– Lean methodology
Systems Development Life Cycle (SDLC)
• Developed in 1960s to manage large software
development projects
• Still in wide use today and called waterfall methodology
• Very structured
– each phase has an end deliverable requiring approval to next phase
– each phase must be completed before the next phase can start

• Phases:
1. Preliminary Analysis
2. Systems Analysis
3. Systems Design
4. Programming
5. Testing
6. Implementation
7. Maintenance
SDLC Phases
1.Preliminary Analysis – requests are reviewed
– Deliverable - feasibility analysis document
2.Systems Analysis – if approved, determine the system requirements
for new system
– Deliverable – systems requirement document
3.Systems Design – converts system analysis requirements into system
design document deliverable
4.Programming – coding commences using design documents
5.Testing – ensures that the code functions according to requirements
6.Implementation – converting from old system to
new system
– Training, documenting functions, and data
conversion
7.Maintenance – support for reporting
prioritizing, and fixing bugs
Rapid Application Development (RAD)
• Focuses on quickly building a working model and getting
feedback from users to update the working model for
smaller projects and giving users the ability to provide
feedback during the process
• Phases: Overall requirements
Overall requirements are are
defined,
defined, teamteam formed,
formed, and and
feasibility determined
feasibility determined

Design the system in As the user design is


JAD sessions being created,
programs are being
created with the
Go live and placed ability to still make
in production changes
Agile Methodologies
• Group of methodologies for incremental changes
focused on quality and attention to detail
• Each increment is released with very specific objectives
• Characteristics:
– Small cross-functional teams are used
– Daily status meetings are held
– Short timeframe increments for each
change
– A working project is completed at
end of each iteration and
demonstrated to stakeholders
Lean Methodology
• Takes an initial idea and develops a minimal visible
product (MVP)
– Has just enough functionality to demonstrate
the idea behind the project
• Works best in entrepreneurial environment
While moving through the
phases, feedback is key
and is generated in 2
forms:
1. Direct observation and
discussion with users Usually requires several
2. Usage statistics iterations as the team uses
gathered from the the feedback to determine
software itself whether to continue in same
direction or pivot in a new
direction or MVP
Quality Triangle
• Decisions are made during development that
affect 3 factors – time, cost, and quality
• Only 2 can be addressed requiring
compromise/tradeoffs
Spend more or less
time on project?

• Meets or doesn’t
Spend more or
meet requirements?
less money on
• Minimal or no bugs
the project?
at implementation?
Programming Languages
• Used to develop new systems
• Multiple generations:

• Fast development
• Assembly Language

1st 2nd 3rd 4th


• Machine Code • Similar to spoken languages • Use developer environments
• Used some English like
• Zeros and Ones • Machine independent that help generate the code
phrases
• Machine dependent • E.g., JAVA • Machine independent
• Machine dependent
• E.g., SQL and SPSS
Software Development Decisions
• Every new development project should decide
whether to create it themselves using in-house
personnel or buy one that has already been
developed
Development Decision Advantages Disadvantages
Purchasing Software • Less expensive • Same software may be
• Available more quickly used by competitors
• Tested already • Fewer/none
• Bugs worked out customizations

Building Yourself • Customized to your • More expensive


businesses’ needs • Not available quickly
• Would not be used by • Requires testing and
your competitors to bugs being worked out
maintain your
competitive edge

• Web Services – purchase functions from vendors


– For Example, using Google
End User Computing
• Others (non-IT) develop their own solutions that are
not trained in programming or software development
• Needs to be managed and guidelines established
• Advantages:
– Development is closer to those that will use them
– May receive it sooner than from IT
• Disadvantages:
– Several applications may perform the
same functions which may or may not
have same results
– May not be fully tested and bug-free
– Data is not always backed up
Testing
• Critical part of any development project to
detect and fix bugs before the system is
implemented
• Process:
• Done by programmer for their standalone
Unit Test
modules

• Done once the individual units are bug free


System Test • Integrated with other bug-free modules and tested as
a whole
• Conducted by end users on meeting
User requirements
Acceptance
• Any bugs, errors, or problems are
Test
retested
Implementation Methodologies
Several implementation methodologies exist:
– Direct cutover – new system is turned on and old system turned off
• Riskiest but least expensive – no need to support 2 systems
– Pilot implementation – a small group uses the new system
• Small impact on organization is something goes wrong – still have old
system running
– Parallel operation – all transactions are entered in new and old
system
• Very expensive to maintain 2 systems
• Least risky that you can identify bugs and
go back to old system if needed
– Phased implementation – new
functions are implemented as parts of old
system are turned off
• Slowly move from old system to new one
Implementation Methodologies Support

Every implementation requires support in 2 key areas:


1. Change management
– All proposed changes should be communicated to all
affected personnel, including IT
– IT should be managing which code has been tested and
signed off by the end users prior to implementation
2. Maintenance
– Often newly implemented systems still need
changes for fixing bugs
– Management needs to ensure that the
system continues to runs and is aligned
with business priorities
Summary
• Explained the overall process of developing a new
software application
• Explained the differences between software
development methodologies
• Understand the different types of programming
languages used to develop software
• Understand some of the issues surrounding the
development of websites and
mobile applications
• Identified the four primary
implementation policies

You might also like