Project Planning - KU-SKE17/Software-Process GitHub Wiki

CMMI: Planning steps

  • Step 1: Establish Estimates
  • Step 2: Develop a Plan
  • Step 3: Obtain Commitment to the Plan

Pain Curve

good planning

  • plan heavily at first
  • no planning 18%-36% before the deadline

Step 1: Establish Estimates

  1. Identify the Scope of the Project (output -> WBS)

    • Develop a WBS (Work Breakdown Structure)
    • Define the work packages in detail
      • after has user stories
    • Identify products and components from external Identify work products to be reused
  2. Identify Work Product

    • decide database, tools, language, etc.
    • think about Attributes
      • Inputs an Outputs -> What it want to be
      • Functions -> What methods to be use
      • Volume of Data -> How large of the data
      • Performance Load -> ...ability
  3. Define Project Lifecycle Phases

    Traditional Lifecycle

    • Scope -> Develop and gain approval of a general statement of the goal and business value of the project.
    • Plan -> Identify work to be done and estimate time, cost, and resource requirements, and gain approval.
    • Launch -> Recruit the team and establish team operating rules.
    • Monitor -> Respond to change requests and resolve problem situations to maintain project progress.
    • Close -> Assure attainment of client requirements and install deliverables.

    Agile Lifecycle

    Software Development Life Cycle (SDLC)

    • Requirements
    • (IU ->) Development
    • Testing
    • Delivery
    • Feedback

    5 Levels of Agile Planning Onion

    • vision (update least freq, heavy involvement)
    • roadmap
      • should have multi goal for each release, but step to the final goal
      • slicing story to tasks -> slicing to handle outputs (ex.login -> re-pwd, success, fail-> wrong-username, wrong-pwd)
    • release -> contain Iterations
    • iteration -> contain User Stories, Tasks, or Bugs
    • daily (update most freq, minimal involvement)
  4. Estimate Effort and Cost

    • in reality do this step first
    • will focus in week5

Step 2: Develop a Plan

  1. Establish the Budget and Schedule

    • Gantt Chart [Horizontal Bar Chart]
      • Tasks (first lists all Tasks)
      • Horizontal time axis
      • The start and finish dates of each task (bar area)
      • Dependencies !important
      • Status
      • Ownership of that task
      • Milestone -> end of the phase
    • Dependencies in Agile
      • table of Task lists vs Iteration#
      • with dependencies line (do task step-to-step)
      • Status (card color?)
  2. Identify Project Risks

  3. Plan Data Management

    • How to manage data
  4. Plan the Project’s Resources

  5. Plan Needed Knowledge and Skills

    • Subpractices
      • Identify the knowledge and skills needed to perform the project
        • skills to use tools (management tools)
      • Assess the knowledge and skills available
      • Select mechanisms for providing needed knowledge and skills
      • Incorporate selected mechanisms into the project plan
    • Example Work Products
      • Inventory of skill needs
      • Staffing and new hire plans
      • Knowledge & Skill Datasheet -> to know/use people in team to teach/work for others
        • how to use sheet (backup, load, ...)
        • how to network working
      • Training Plans
  6. Plan for Stakeholder Involvement

  7. Establish the Project Plan

Step 3: Obtain Commitment to the Plan

  1. Review Plans that Affect the Project

    • Example Work Products
      • Record of the reviews of plans that affect the project
  2. Reconcile Work and Resource Levels

    • Example Work Products
      • Revised methods and corresponding estimating parameters
      • Renegotiated budgets
      • Revised schedules
      • Revised requirements list
      • Renegotiated stakeholder agreements
  3. Obtain Plan Commitment

    • Subpractices
      • Identify needed support and negotiate commitments with relevant stakeholders
      • Document all organizational commitments, both full and provisional, ensuring the appropriate level of signatories
      • Review internal commitments with senior management as appropriate
      • Review external commitments with senior management as appropriate
      • Identify commitments regarding interfaces between project elements and other projects and organizational units so that these commitments can be monitored
    • Example Work Products
      • Documented requests for commitments
      • Documented commitments