SPM-week4

Software Project Planning

Step Wise Overview

  • Step 0: Select Project

    • Decide if the project is worth undertaking.

  • Step 1: Identify Project Objectives

    • Define project objectives and practical measures for effectiveness.

    • Establish a project authority to ensure unity of purpose.

    • Identify stakeholders and their interests; modify objectives based on stakeholder analysis.

    • Set up communication methods among parties involved.

  • Step 2: Identify Project Infrastructure

    • Understand the project's relationship with strategic planning.

    • Determine installation standards and procedures.

    • Identify project team organization.

  • Step 3 to 10: Remaining Steps

    • Analyze project characteristics.

    • Identify products and activities.

    • Estimate effort for activities.

    • Identify activity risks.

    • Allocate resources.

    • Execute plan and review publicized plan.

    • Lower-level planning for activities.

Project Planning Significance

  • Project planning is crucial at the beginning of the software project process.

  • Recognize uncertainties in project plans due to:

    • Project complexity

    • Project size

    • Understanding of project/system

    • Changes in requirements

Project Plan Components

  • Statement of Work (SOW):

    • Detailed descriptions of work products and personnel involved.

  • Resource List:

    • Capture all necessary resources (hardware, software, services).

  • Work Breakdown Structure (WBS):

    • Breakdown of project into manageable sections.

  • Project Schedule:

    • Timeline detailing duration, dependencies, and critical activities.

  • Risk Plan:

    • Identification and management of potential risks.

Estimating an Effective Plan

  • Avoid obsession with estimation; be flexible with shifts in requirements due to iterative approaches.

Project Planning Differences

  • Planning: Identify activities without specific dates.

  • Estimating: Determine size and duration of activities.

  • Scheduling: Define specific dates, relationships, and allocated resources.

Inputs and Outputs of Project Planning

  • Inputs:

    • Project Charter, Software Requirements, Standards, Development Process.

  • Outputs:

    • Project Plan covering time, cost, scope, quality, schedule, budget, and quality management plan.

Life Cycle Model Definition

  • Projects require tailored approaches based on:

    • Development, enhancement, maintenance characteristics.

    • Familiarity with various models is advantageous.

  • Life Cycle Framework Development:

    • Familiarize with various models.

    • Analyze project criteria and establish minimum phases and deliverables.

Requirements Analysis

  • Requirements categorize user-requested functions/features. Key considerations include:

    • Clarity of requirements

    • Timeliness of defining requirements

    • Need for proof of concept or demonstration.

Selecting a Life Cycle Model

  • Evaluate project characteristics against potential life cycle models:

    • Waterfall, Prototype, Spiral, RAD based on defined requirements and user engagement.

Project Team Criteria

  • Assess team characteristics before selecting life cycle models to ensure successful project completion.

User Community Engagement

  • Understand user representative availability and expertise levels in system definition.

Project Schedule Development

  • Link tasks to resources effectively via a comprehensive schedule.

Risk Planning

  • Compile and mitigate a risk plan, addressing:

    • Team member input and brainstorming.

    • Estimation of risk probabilities.

  • Characteristics of Risk:

    • Risk involves uncertainty of occurrence and potential loss.

Risk Plan Example

  • Illustrates the assessment of specific risks, team member involvement, and actionable responses to mitigate identified risks effectively.