Systems Analysis and Design - Project Selection and Management
SYSTEMS ANALYSIS AND DESIGN
Project Selection and Management
© Copyright 2011 John Wiley & Sons, Inc.
TABLE OF CONTENTS
Project selection.
Creating the project plan.
Managing and controlling the project.
INTRODUCTION
CIO Responsibilities: Chief Information Officers (CIOs) are tasked with selecting projects aimed at achieving the highest return on IT investments.
Importance of Project Portfolio Management: Effective project portfolio management is critical for the success of IT departments.
System Development Projects: Each selected system development project is required to undergo a comprehensive project management process.
Critical Success Factor: A crucial factor for effective project management is conducting a realistic assessment of the work and managing the project according to that established plan.
PROJECT SELECTION
Evaluation Context: Systems projects are assessed within the broader context of a portfolio of projects.
Feasibility Study: The assessment of a project's contribution to the portfolio underscores the necessity of conducting a feasibility study.
Portfolio Management Considerations: The different attributes of projects must be considered during portfolio management.
Resource Allocation: An approval committee must be discerning in allocating resources due to the limited funds most organizations face.
Project Selection Criteria: In scenarios with multiple high-payoff projects that share similar risk profiles, typically only one project may be selected for advancement.
CREATING THE PROJECT PLAN
Phases of Project Management: The project management process consists of the following phases:
Initiation: The formal start of the project.
Planning: Detailed outlining of tasks, resources, schedules, and expected results.
Execution: Implementation of the project plans.
Control: Monitoring project activities to ensure adherence to the plan.
Closure: Finalizing the project and closing it out.
PROJECT METHODOLOGY OPTIONS
Methodology Definition: A methodology refers to a structured approach used for implementing the Software Development Life Cycle (SDLC).
Popular Methodologies Include:
Waterfall Development: Linear and sequential model.
Parallel Development: Multiple subprojects developed simultaneously.
V-model: A variation of the Waterfall, emphasizing verification and validation.
Rapid Application Development (RAD): Focuses on rapidly developing prototypes.
Iterative Development: Repeatedly refining and improving the project through cycles.
System Prototyping: Developing a working model to understand requirements.
Agile Development: Adopts iterative and incremental practices, focusing on customer collaboration and adaptable planning.
WATERFALL DEVELOPMENT PROCESS
Phases:
Planning: Initial phase where project scope and requirements are established.
Analysis: In-depth exploration of requirements.
Design: Crafting the architecture and detailed specifications of the system.
Implementation: Coding and putting the plan into action.
PARALLEL DEVELOPMENT PROCESS
Key Features: Involves multiple 'subprojects' each undergoing analysis, design, and implementation concurrently.
V-MODEL OF DEVELOPMENT
Structure:
Each development phase corresponds to a testing phase:
Unit Testing: Validating individual components.
Integration Testing: Ensuring components work together.
System Testing: Verifying the system meets requirements.
Acceptance Testing: Final confirmation from the user perspective.
RAPID APPLICATION DEVELOPMENT (RAD)
Phases of RAD:
Planning: Identify and outline project goals.
Analysis: Conduct necessary requirements analysis.
Design: Develop system designs iteratively with user feedback.
Implementation: Rapidly build the system and deliver in increments.
AGILE DEVELOPMENT
Definition: A group of software development methodologies that promote iterative development, focusing on collaboration, customer feedback, and adapting to change throughout the development process.
Extreme Programming (XP): A specific agile methodology that prioritizes customer satisfaction and teamwork through practices such as continuous feedback and frequent releases.
SELECTING THE APPROPRIATE DEVELOPMENT METHODOLOGY
Criteria for Selection:
Clarity of User Requirements: Determines the need for flexible or rigid methodologies.
Familiarity with Technology: Impacts the choice of development method based on staff expertise.
System Complexity: Complicated systems may require iterative or agile approaches.
System Reliability: Certain methodologies are better suited for projects needing high reliability.
Short Time Schedules: Time constraints may necessitate agile or rapid methodologies.
Schedule Visibility: The choice can depend on how visible and manageable the project schedule needs to be.
ESTIMATING THE PROJECT TIME FRAME
Methods for Estimation:
Using Industry Standards: Referencing historical data and benchmarks.
Function Point Approach: A method that quantifies the functionality provided to the user based on their interactions with the system.
DEVELOPING THE WORK PLAN
Essential Components:
Task Information: Must include task name, start and completion dates, assignment details, deliverables, completion status, priority, resources needed, estimated time, and actual time.
Example of Task Information:
Task: Perform Economic Feasibility.
Start Date: Jan 05, 2013
Completion Date: Jan 19, 2013
Assigned To: Mary Smith (Project Sponsor)
Deliverable: Cost-benefit analysis
Status: Complete
Priority: High
Resources Needed: Spreadsheet software
Estimated Time: 16 hours
Actual Time: 14.5 hours
WORK BREAKDOWN STRUCTURE
Task Hierarchy: The structure organizes tasks to represent the overall flow and dependencies of the project.
Example Structure:
1: Design Phase
1.1: Develop Database Design Document
1.1.1: Staging Database Design
1.1.2: Suspense Database Design
1.2: Develop Rejects-Handling Design Document
1.2.1: Rejects-Handling Engine Design
1.3: Develop OLAP Design Document
1.3.1: Universe Design
STAFFING THE PROJECT
Staffing Plan Considerations:
Staffing levels fluctuate over the project's lifetime.
Adding personnel may introduce overhead without proportional productivity benefits.
Effective team size is typically 8-10 members in a hierarchical structure, simplifies communication.
Roles in Project:
Functional Lead: Manages the analysts.
Technical Lead: Oversees programmers and technical staff progress.
MOTIVATION
Rewards Strategy:
Monetary Rewards: Should be used cautiously due to diminishing motivational returns.
Intrinsic Rewards: More effective methods include:
Recognition
Achievement
Responsibility
Advancement opportunities
Learning new skills
HANDLING CONFLICT
Conflict Resolution Steps:
Clearly defined project plans.
Acknowledging the project's importance to the organization.
A project charter listing norms and ground rules.
Developing schedule commitments in advance.
Anticipating and foreseeing other priorities that may impact the project.
COORDINATING PROJECT ACTIVITIES
Computer-Aided Software Engineering (CASE) Tools: Software that automates parts of the development process.
Upper CASE: Tools focused on the early phases of the SDLC (like analysis and design).
Lower CASE: Tools aimed at the latter phases (like coding and testing).
Integrated CASE: Tools that combine both functionalities.
Documentation Standards: Standards governing naming files, indicating goals achieved, programming guidelines, and keeping project binders updated.
MANAGING AND CONTROLLING THE PROJECT
Important Concepts: Project management involves trade-offs between:
System size
Project timeline
Project budget
Tools for Management: Gantt Charts are provided as a visual representation to manage timelines.
REFINING ESTIMATES
Typical Margins of Error for Estimates:
Planning Phase:
System Request: 400% Cost Margin, 60% Schedule Margin
Project Plan: 100% Cost Margin, 25% Schedule Margin
Analysis Phase:
System Proposal: 50% Cost Margin, 15% Schedule Margin
Design Phase:
System Specifications: 25% Cost Margin, 10% Schedule Margin
Source: Barry W. Boehm and colleagues, "Cost Models for Future Software Life Cycle Processes: COCOMO 2.0," Annals of Software Engineering Special Volume, 1995.
MANAGING SCOPE
Scope Creep: The most frequent cause of schedule and cost overruns; it is essential that only critical new requirements are permitted once development is underway.
TIMEBOXING
Definition: A project management technique to establish a fixed deadline and focus on essential functionalities only.
Steps in Timeboxing:
Set a delivery date for the system.
Prioritize required functionality.
Build the core functionalities first.
Defer non-essential functionalities that do not fit the timeline.
Deliver the initial system version.
Repeat the process to modify and enhance the system gradually.
MANAGING RISK
Risk Assessment: Identifying potential risks, establishing actions to mitigate them, and maintaining an ongoing risk assessment.
SUMMARY
Key Points:
The project selection process involves reviewing all organizational projects and applying project portfolio management principles.
The project plan delineates tasks, estimated timeframes, and all pertinent details.
Effective project management relies on staffing strategies and activity coordination.
Controlling the project encompasses strategies such as timeboxing and thorough risk assessment.