Foundations of Information Systems - Acquiring Information Systems and Applications
13.1 Planning for and Justifying IT Applications
- Organizations must conduct a cost-benefit analysis to justify new IT purchases.
- Establish an application portfolio by prioritizing existing and potential IT applications based on organizational needs.
- The planning process begins by analyzing the organizational strategic plan, which informs the Information Systems (IS) strategic plan.
Key Components of IT Planning
- Organizational Strategic Plan: Guides the development of the IS strategic plan.
- IS Strategic Plan: Outlines long-range IT goals and initiatives necessary to meet organizational objectives.
Evaluating and Justifying IT Investment
- Companies must evaluate limited resources and justify IT investments through a cost-benefit analysis.
- Assessing Costs:
- Fixed costs: One-time costs that do not change over time.
- Ongoing costs: Recurring costs involved with system operation.
- Assessing Benefits:
- May include both tangible (quantifiable) and intangible (difficult to quantify) benefits.
Cost-Benefit Analysis Methods
- Net Present Value (NPV): Compares the present value of cash inflows and outflows.
- Return on Investment (ROI): Measures profitability by comparing the gain from an investment relative to its cost.
- Break-even Analysis: Determines when a project will start to generate profit.
- Business Case Approach: A structured proposal for business improvements.
13.2 Strategies for Acquiring IT Applications
- Following a justification for IT investment, businesses must decide on acquisition strategies.
Key Decision Factors
- Amount of custom coding desired.
- Method of payment for applications.
- Preferred environment for application operation.
- Origin of the application (custom, purchased, etc.).
Acquisition Methods
- Purchase a Prewritten Application:
- Advantages: Quick deployment, known software capabilities, potential cost savings.
- Disadvantages: May not fit exact needs, limited control over modifications.
- Customize a Prewritten Application:
- Allows for tailoring software but can be complex and challenging.
- Lease the Application:
- Options to lease for local installation or through Software as a Service (SaaS).
- Open-source Software: Access to modify software base as needed based on expertise.
- Outsourcing and Custom Development: Hiring external vendors for custom builds based on organizational requirements.
13.3 Traditional Systems Development Life Cycle (SDLC)
- Stages of SDLC:
- Systems Investigation
- Systems Analysis
- Systems Design
- Programming and Testing
- Implementation
- Operation and Maintenance
Systems Investigation
- Explore three basic solutions to business problems:
- Maintain the status quo.
- Modify the existing system.
- Develop a new system.
- Conduct a feasibility study on potential solutions, analyzing technical, economic, and behavioral factors.
Systems Analysis
- Analyze the business problem with a focus on user requirements.
- Methods for finding requirements include surveys, interviews, and observation.
Systems Design
- Create technical system specifications detailing system components and integration methods.
Programming and Testing
- Transform design specifications into executable code and validate through rigorous testing procedures.
Implementation
- Transition from old to new systems using various conversion strategies:
- Direct conversion
- Pilot conversion
- Phased conversion
- Parallel conversion
- Proper management of the switch is critical for success.
Operations and Maintenance
- Ongoing maintenance activities include debugging, updating, and adding functions as required.
- Computer-Aided Software Engineering (CASE) tools streamline the SDLC:
- Upper CASE Tools: Assist in the early stages (investigation, analysis, design).
- Lower CASE Tools: Aid in later stages (programming, testing, maintenance).
- Integrated CASE (ICASE) Tools: Bridge upper and lower CASE tool functionalities.
13.4 Alternative Methods for Systems Development - Agile Development
- Agile development emphasizes flexibility and iterative progress through short cycles known as iterations.
- Teams collaborate to adjust to changes easily and produce working software continuously.
- Successful implementation requires strong communication and regular development feedback.