COM 2229/COM2629 Lecture Note 4 2024 PDF
Document Details
Uploaded by GorgeousQuasimodo
2024
MR UD Anokwuru
Tags
Summary
This document is a set of lecture notes on introduction to information systems (system analysis), covering topics such as SDLC phases, planning, feasibility study, economic feasibility, and resource allocation. The lecture notes also include a feasibility study and simple cash flow projection.
Full Transcript
COM 2229/COM2629 Lecture Note 4 Introduction to Information Systems (System Analysis) Lecturer: MR UD Anokwuru SDLC Phases The SDLC model involves six phases or stages while developing any software. SDLC is a collection of these six stages, and the stages of SDLC are as follow...
COM 2229/COM2629 Lecture Note 4 Introduction to Information Systems (System Analysis) Lecturer: MR UD Anokwuru SDLC Phases The SDLC model involves six phases or stages while developing any software. SDLC is a collection of these six stages, and the stages of SDLC are as follows: 1. Planning 2. Requirement Analysis 3. Defining Requirements 4. Designing Architecture 5. Developing Product 6. Product Testing and Integration 7. Deployment and Maintenance of Products Planning Phase Cont… Project Goals and Objectives: This is crucial for setting the direction and scope of the project. These includes; Define the purpose of the project. Identify what the project aims to achieve. Scope Definition: Outline the boundaries of the project. Identify what is included and excluded. Feasibility Study: Assess the technical, financial, and operational feasibility. Determine if the project is viable and worth pursuing. Resource Allocation: Identify the resources required (human, technical, financial).Plan how to allocate these resources effectively. Risk Management: Identify potential risks and their impact. Develop strategies to mitigate these risks. Project Schedule: Develop a timeline for the project. Define milestones and deliverables. Stakeholder Identification: Identify all stakeholders (clients, end-users, team members). Understand their needs and expectations. 3. Feasibility Study (Planning Phase Cont. ) A feasibility study is a crucial part of the system development process. It assesses the practicality and viability of a proposed project, helping stakeholders decide whether to proceed with the development. Purpose of a Feasibility Study Evaluate Viability: Determine if the project is technically, economically, and operationally viable. Identify Risks: Highlight potential challenges and risks associated with the project. Support Decision-Making: Provide stakeholders with the information needed to make informed decisions about project initiation. Allocate Resources Efficiently: Ensure resources are used effectively by focusing on viable projects. Components of a Feasibility Study i. Technical Feasibility: ii. Economic Feasibility: iii. Operational Feasibility: iv. Legal and Regulatory Feasibility: v. Schedule Feasibility: Technical Feasibility Technical feasibility is the extent to which the system can be successfully designed, developed , and installed by the IT group. This technical risk analysis strives to answers the question, “can we build it” It is also enabled the successful delivery whereby if its an old technology, the chances of success is very high but if it is a new technology, the chances of success is more expensive and lower. Technical Feasibility Assessment of Technology: Determine if the current technology is capable of supporting the new system Expertise and Skills: Evaluate if the team has the necessary technical skills and knowledge. System Requirements: Assess whether the proposed system can be developed using existing hardware, software, and technical resources. Technical Risks: Identify technical challenges and risks that could affect project success. Economic Feasibility Economic feasibility is also called a cost –benefit analysis that identifies the costs and benefits associated with the system. This attempts to answer the question: “Should we build the system?” The total benefits should out way the total cost. This is derived from a simple cash flow projection. Simple Cash Flow Projection Year 0 Year 1 Year 2 Year 3 Total Total Benefit 45000 50000 57000 152000 Total Cost 100,000 10,000 12,000 16,000 138,000 Net Benefit (100,000) 35,000 38,000 41,000 14,000 (Total benefit- Total Costs) Cumulative (100,000) (65,000) (27,000) 14,000 Net Cash Flow Common Methods for evaluating a project’s worth Return on Investment (ROI) ROI = (Total Benefits- Total Costs)/ Total Cost Break- Even Point (BEP) = Where the Total costs equals Total benefits Steps to Conduct an economic feasibility analysis 1. Identify Costs and Benefits 2. Assign Valiues to cost and benefits Determine Cash flow Assess Projcts Economic Value - ROI - BEP - NPV Identify Cost and Benefits The costs and benefits can be broken down into four categories Development Costs Operational Costs Tangible Cost and Intangible Cost Assignment. Students are required to list and explain examples Economic Feasibility Cost-Benefit Analysis: Compare the projected costs with the expected benefits to determine if the project is financially viable. Budget Analysis: Ensure the project can be completed within the allocated budget. Return on Investment (ROI): Calculate the potential return on investment to justify the financial expenditure. Funding and Financial Resources: Assess the availability of financial resources and funding for the project. Operational Feasibility: Business Process Alignment: Determine if the proposed system aligns with the organization’s business processes and objectives. User Acceptance: Assess the likelihood of user adoption and acceptance of the new system. Impact on Operations: Evaluate how the new system will impact current operations and workflows. Training and Support Needs: Identify the training and support requirements for users and staff. Legal and Regulatory Feasibility Compliance: Ensure the project complies with relevant laws, regulations, and standards. Data Privacy and Security: Assess the project's ability to protect data privacy and ensure security. Intellectual Property: Check for any intellectual property issues or licensing requirements. Schedule Feasibility Timeline Assessment: Determine if the project can be completed within the desired timeframe. Milestones and Deadlines: Evaluate the feasibility of meeting critical milestones and deadlines. Resource Availability: Assess the availability of key resources and personnel within the project timeline. Task- Assignment Create a feasibility report for an upgrade on the Resident student app used within the campus 4. Resource allocation Resource allocation in system development is a crucial process that involves distributing available resources—such as personnel, equipment, and budget—efficiently and effectively to ensure project success. Proper resource allocation helps in optimizing productivity, minimizing waste, and ensuring that project goals are met within the set constraints. Types of Resources Various types of resources exist during system development projects and these resources needs to be identified and categorized accordingly: Financial Resources Physical Resources Human Resources Intangible Resources e.g. Goodwill, intellectual property etc Steps in Resource Allocation Identify Project Requirements: Determine the scope, objectives, and deliverables of the project. Identify the resources required to complete each task and milestone. Determine Resource Availability: Assess the availability of internal and external resources. Evaluate the skills, experience, and capacity of team members. Identify any constraints, such as budget limits, time constraints, and resource availability. Resource Planning: Develop a detailed resource plan that outlines the allocation of resources across different phases of the project. Use tools like Gantt charts, resource histograms, and resource leveling techniques to visualize and plan resource allocation. Assign Resources to Tasks: Allocate resources to specific tasks and activities based on their skills, experience, and availability. Ensure that each task has the necessary resources to be completed efficiently. Monitor and Adjust Resource Allocation: Continuously monitor resource usage and adjust allocations as necessary to address any bottlenecks or issues. Use project management software to track resource allocation and make real-time adjustments. Communication and Coordination: Ensure clear communication among team members regarding their roles and responsibilities. Coordinate resource allocation with stakeholders to align expectations and avoid conflicts. Tools and Techniques for Resource Allocation Project Management Software: Tools like Microsoft Project, Asana, Trello, and Jira can help plan, allocate, and track resources effectively. These tools offer features like Gantt charts, task assignments, and resource tracking. Gantt Charts: Visual representation of the project schedule, showing tasks, durations, and resource assignments. Helps in identifying potential overlaps and resource conflicts. Resource Histograms: Graphical representation of resource usage over time. Helps in visualizing the demand and availability of resources. Resource Leveling: Technique used to resolve resource over-allocation by adjusting the project schedule. Ensures that resources are used efficiently without overburdening them. Critical Path Method (CPM):Identifies the sequence of critical tasks that determine the project duration. Helps in prioritizing resource allocation to critical tasks to avoid delays. Resource Allocation Matrix (RAM):Also known as a RACI matrix (Responsible, Accountable, Consulted, Informed).Defines the roles and responsibilities of team members for each task. Resource Allocation - Task Assignment. Create a resource allocation Plan for the software development for off campus student allocation system 5. Risk Management Risk management in the Software Development Life Cycle (SDLC) is a crucial process that ensures potential problems are identified, analyzed, and mitigated throughout the development of a software project. Effective risk management helps in delivering a high-quality product on time and within budget. Risk management in the planning phase of the Software Development Life Cycle (SDLC) is critical as it sets the foundation for addressing potential issues throughout the project By incorporating these steps into the planning phase, project managers can proactively address potential risks, ensuring smoother project execution and higher chances of success. Risk Identification Sources of Risks: Identify all possible sources of risks. This includes technical risks, project management risks, organizational risks, and external risks. Techniques: Use techniques like brainstorming, expert judgment, checklists, and historical data analysis to identify potential risks. Project Scope: Risks related to unclear, incomplete, or changing project requirements. Schedule: Risks associated with unrealistic deadlines, time constraints, or misestimation of tasks. Resources: Risks concerning availability, skills, and performance of the project team. Budget: Financial risks including cost overruns and budget cuts. Stakeholder Expectations: Risks arising from miscommunication or misalignment of stakeholder expectations. Technology: Risks related to the adoption of new or unproven technologies, tools, or platforms. Risk Analysis Qualitative Analysis: Assess the impact and likelihood of each risk qualitatively (e.g., high, medium, low). Quantitative Analysis: When necessary, use quantitative techniques (e.g., statistical analysis, simulation) to measure the potential impact on project objectives. Impact Assessment: Determine the potential impact of each identified risk on the project objectives (e.g., scope, schedule, cost, quality).Probability Assessment: Evaluate the likelihood of each risk occurring. Risk Matrix: Use a risk matrix to plot risks based on their impact and likelihood, helping prioritize which risks need more focus. Prioritize Risks Rank the risks to focus on the most critical ones first. Use techniques like Failure Mode and Effects Analysis (FMEA) or weighted scoring models for prioritization Plan Risk Responses Avoidance: Adjust project plans to eliminate the risk (e.g., changing scope, extending deadlines). Mitigation: Develop strategies to reduce the impact or likelihood of the risk (e.g., training team members, conducting additional testing). Acceptance: Decide to accept the risk and prepare contingency plans (e.g., allocate reserve budget, create backup plans). Transfer: Shift the risk to another party (e.g., outsourcing, insurance). Develop Risk Management Plan - Task Risk Register: Create a comprehensive document listing all identified risks, their assessments, prioritization, and response strategies. Roles and Responsibilities: Assign specific roles for managing risks (e.g., risk owner, risk manager). Risk Monitoring: Establish procedures for ongoing risk monitoring and control throughout the project. Communication Plan: Develop a communication plan to regularly update stakeholders on risk status and response actions. Set Up Risk Monitoring Tools Implement tools and techniques to continuously monitor risks (e.g., dashboards, risk audits, status meetings). Use project management software to track risks and ensure timely response actions. Review and Update Regularly review the risk management plan and update it as new risks emerge or existing risks change. Conduct risk reviews at each major project milestone to reassess and adjust risk responses as needed. Project Schedule Project Schedule: Develop a timeline for the project. Define milestones and deliverables. Creating a project schedule in the planning phase of the Software Development Life Cycle (SDLC) involves detailed planning and organization to ensure that the project is completed on time and within scope Define Activities Break Down Work: Decompose the project into manageable tasks and activities. Work Breakdown Structure (WBS): Create a WBS to outline all tasks and subtasks required to complete the project. Sequence Activities Dependencies: Identify dependencies between tasks (e.g., task B cannot start until task A is completed). Network Diagram: Develop a network diagram (e.g., PERT, CPM) to visualize task sequences and dependencies. Estimate Resources Resource Requirements: Determine the resources (e.g., personnel, equipment, materials) needed for each task. Resource Availability: Assess the availability of resources and allocate them accordingly. Estimate Durations Task Durations: Estimate the time required to complete each task using historical data, expert judgment, and estimation techniques (e.g., analogous estimating, parametric estimating). Buffer Time: Include buffer time for uncertainties and potential delays. Develop the Schedule Timeline: Create a timeline using Gantt charts, which visually represent the project schedule, showing start and end dates for each task. Milestones: Define key milestones and deliverables to track progress and ensure alignment with project goals. Analyze the Schedule Critical Path Method (CPM): Identify the critical path, the longest sequence of tasks that determines the shortest possible project duration. Slack/Float: Calculate slack or float time for non-critical tasks to understand where flexibility exists. Optimize the Schedule Resource Leveling: Adjust the schedule to address resource constraints and ensure a balanced workload. Schedule Compression: Use techniques like fast-tracking (performing tasks in parallel) and crashing (adding resources) to shorten the schedule if needed. Review and Validate the Schedule Stakeholder Review: Review the schedule with key stakeholders to ensure it meets their expectations and requirements. Validation: Validate the schedule for feasibility, ensuring it aligns with project objectives and constraints. Baseline the Schedule Approval: Get formal approval of the project schedule from stakeholders and project sponsors. Baseline: Establish the approved schedule as the baseline for measuring and tracking project progress. Monitor and Control the Schedule Tracking Progress: Use project management software to track actual progress against the baseline schedule. Variance Analysis: Perform variance analysis to identify and address deviations from the schedule. Schedule Updates: Regularly update the schedule to reflect changes and keep it current. Stakeholder Identification Identifying stakeholders during the planning phase of the Software Development Life Cycle (SDLC) is a critical step to ensure that all relevant parties are considered, their needs are understood, and their expectations are managed By thoroughly identifying and understanding stakeholders during the planning phase, project managers can ensure effective communication, address concerns proactively, and align project outcomes with stakeholder expectations, thereby increasing the likelihood of project success. Identify Types of Stakeholders Internal Stakeholders: Project Team: Developers, designers, testers, project managers, and other team members directly involved in the project. Management: Senior management, department heads, and executives who have a vested interest in the project’s success. Users: End-users who will directly interact with the software. External Stakeholders: Clients/Customers: Those who have commissioned the project and will use or benefit from the software. Vendors/Suppliers: Third-party providers of products or services that support the project. Regulatory Bodies: Organizations that enforce legal and compliance requirements relevant to the project. Gather Information Project Documentation: Review initial project documents, proposals, contracts, and business cases to identify potential stakeholders. Organizational Charts: Analyze organizational charts to identify key individuals and departments involved. Stakeholder Register: Create a stakeholder register to list all potential stakeholders, their roles, and their interests. Categorize Stakeholders Influence and Impact: Assess the level of influence and impact each stakeholder has on the project. Categorize them as high, medium, or low influence/impact. Support and Resistance: Determine the level of support or resistance each stakeholder might have toward the project. Engage with Stakeholders Interviews and Meetings: Conduct interviews and meetings with identified stakeholders to gather their input, concerns, and expectations. Surveys and Questionnaires: Use surveys and questionnaires to collect structured information from a larger group of stakeholders. Analyze Stakeholder Interests and Expectations Needs and Requirements: Identify the specific needs and requirements of each stakeholder. Expectations and Concerns: Understand their expectations, potential concerns, and how the project outcomes will affect them Prioritize Stakeholders Stakeholder Matrix: Use a stakeholder matrix to plot stakeholders based on their influence and interest. This helps in prioritizing communication and engagement strategies. High Influence, High Interest: Key players to be closely managed. High Influence, Low Interest: Keep satisfied and engaged. Low Influence, High Interest: Keep informed and consult regularly. Low Influence, Low Interest: Monitor with minimal effort. Develop Stakeholder Management Plan Communication Plan: Define how and when to communicate with each stakeholder. Determine the frequency, methods, and types of communication. Engagement Strategies: Develop strategies to engage stakeholders effectively, address their concerns, and keep them motivated. Document and Review Stakeholder Register: Maintain a detailed register documenting all identified stakeholders, their roles, interests, influence, and engagement strategies. Regular Updates: Regularly review and update the stakeholder register and management plan as new stakeholders are identified and project dynamics change. Planning Phase The Planning phase is the most crucial step in creating a successful system, during this phase you decide exactly what you want to do and the problems you’re trying to solve. The planning stage include The deliverables of this phase include 1. Project Plan – A Sample Template (Assignment) 2. Feasibility Report, - A sample template(Assignment) 3. Risk Management Plan,- A sample Template (Assignment) 4. Resource Plan, - A sample Template (Assignment) 5. Project Schedule.- A sample Template (Assignment)