- Forward


Project Management (in Software Engineering)
An Introduction


Prof. David Bernstein
James Madison University

Computer Science Department
bernstdh@jmu.edu

Print

Getting Started
Back SMYC Forward
  • Projects:
    • A project is a one-time effort to achieve a particular goal, subject to time and/or budget constraints
  • In Contrast:
    • Ongoing activities and/or activities that do not have constraints are not projects
  • Management:
    • Management is the activity of assembling, directing, and/or supporting human and other resources in achieving substantial goals
Management Issues
Back SMYC Forward
  • Scope:
    • The work to be done in the project
  • Time:
    • A constraint (and, hence, a resource to be monitored)
  • Cost:
    • A constraint (and, hence, a resource to be monitored)
Management Issues (cont.)
Back SMYC Forward
  • Quality:
    • Either a part of the goal of the project or a constraint
  • Resources:
    • Things that must be "obtained" and ready when needed in order to complete the project
  • Risks:
    • Uncertain conditions/circumstances that have negative consequences
Management Activities
Back SMYC Forward
  • Plan:
    • Set goals, establish constraints, set requirements, determine tasks, estimate costs, formulate schedules, assign resources, manage risks
  • Execute:
    • Acquire resources, train/educate, establish processes
  • Control:
    • Collect data, analyze data, report on progress, adjust scope/schedule/budget
  • Lead:
    • Motivate, facilitate, resolve conflicts, remove obstacles
Management Responsibilities
Back SMYC Forward
  • Traditional Processes:
    • Management responsibilities are assigned to project managers who are given the responsibility and authority to collect data, make decisions, and control resources
  • Agile Processes:
    • Reduce the need for oversight and distribute authority and responsibility for most activities to the team, though there are exceptions (e.g., in Scrum leadership activities are the province of the Scrum Master)
Planning
Back SMYC Forward
  • Terminology:
    • Milestone - any significant event in a project
    • Deliverable - any document, program, data, service, or object produced for an internal or external customer
    • Scheduling - deciding when a task will occur
    • Resource Allocation - deciding which people/resources will be used for which tasks
  • Traditional Processes:
    • Most planning activities occur "up front"
  • Agile Processes:
    • Planning occurs at the start of each increment
Planning (cont.)
Back SMYC Forward
  • Work Breakdown Structure (WBS):
    • A hierarchical decomposition of the work needed to produce deliverables (where the leaf nodes are called work packages requiring between 8 and 80 person-hours)
  • An Example WBS:
    • work-breakdown-structure_example
Planning (cont.)
Back SMYC Forward
  • Scheduling Tools:
    • Help planners decide when tasks should occur
  • Examples:
    • Program Evaluation and Review Technique (PERT)
    • Critical Path Methods (CPM)
    • Gantt Charts
Execution
Back SMYC Forward
  • Traditional Processes:
    • Project managers are responsible for and have the authority needed for execution activities
  • Agile Processes:
    • The team is responsible for and has the authority needed for execution activities
Control
Back SMYC Forward
  • Traditional Processes:
    • Project managers are responsible for monitoring and making changes to the plan (though the changes should be made in consultation with stakeholders)
  • Agile Processes:
    • The team uses burn charts to track progress and makes changes usually at the end of an increment (e.g., during the Sprint Retrospective in Scrum)
Leadership
Back SMYC Forward
  • Traditional Processes:
    • Project managers are responsible for leadership activities
  • Agile Processes:
    • Vary in who has responsibility for leadership activities (e.g., in Scrum it is the Scrum Master)
There's Always More to Learn
Back -