0
5.0kviews
List down the activities required for scheduling and tracking software projects

Mumbai University > Information Technology > Sem6 > Software Engineering

Marks: 10M

Year: Dec 2015

1 Answer
1
40views

Project Scheduling:

Project Scheduling in a project refers to roadmap of all activities to be done with specified order and within time slot allotted to each activity. Project managers tend to define various tasks, and project milestones and they arrange them keeping various factors in mind. They look for tasks lie in critical path in the schedule, which are necessary to complete in specific manner (because of task interdependency) and strictly within the time allocated. Arrangement of tasks which lies out of critical path are less likely to impact over all schedule of the project.

For scheduling a project, it is necessary to -

  • Break down the project tasks into smaller, manageable form
  • Find out various tasks and correlate them
  • Estimate time frame required for each task
  • Divide time into work-units
  • Assign adequate number of work-units for each task
  • Calculate total time required for the project from start to finish

Software Project Scheduling Principles

  • Compartmentalization - the product and process must be decomposed into a manageable number of activities and tasks
  • Interdependency - tasks that can be completed in parallel must be separated from those that must completed serially
  • Time allocation - every task has start and completion dates that take the task interdependencies into account
  • Effort validation - project manager must ensure that on any given day there are enough staff members assigned to completed the tasks within the time estimated in the project plan
  • Defined Responsibilities - every scheduled task needs to be assigned to a specific team member
  • Defined outcomes - every task in the schedule needs to have a defined outcome (usually a work product or deliverable) -Defined milestones - a milestone is accomplished when one or more work products from an engineering task have passed quality review

Relationship between People and Effort

  • Adding people to a project after it is behind schedule often causes the schedule to slip further

  • The relationship between the number of people on a project and overall productivity is not linear (e.g. 3 people do not produce 3 times the work of 1 person, if the people have to work in cooperation with one another)

  • The main reasons for using more than 1 person on a project are to get the job done more rapidly and to improve software quality.

Project Effort Distribution

  • The 40-20-40 rule:
    • 40% front-end analysis and design
    • 20% coding
    • 40% back-end testing
  • Generally accepted guidelines are:
    • 02-03 % planning
    • 10-25 % requirements analysis
    • 20-25 % design
    • 15-20 % coding
    • 30-40 % testing and debugging

Scheduling

  • Task networks (activity networks) are graphic representations can be of the task interdependencies and can help define a rough schedule for particular project
  • Scheduling tools should be used to schedule any non-trivial project.
  • Program evaluation and review technique (PERT) and critical path method (CPM) ) are quantitative techniques that allow software planners to identify the chain of dependent tasks in the project work breakdown structure (WBS) that determine the project duration time.
  • Timeline (Gantt) charts enable software planners to determine what tasks will be need to be conducted at a given point in time (based on estimates for effort, start time, and duration for each task).
  • The best indicator of progress is the completion and successful review of a defined software work product.
  • Time-boxing is the practice of deciding a priori the fixed amount of time that can be spent on each task. When the task's time limit is exceeded, development moves on to the next task (with the hope that a majority of the critical work was completed before time ran out).

Tracking Project Schedules

  • Periodic project status meetings with each team member reporting progress and problems
  • Evaluation of results of all work product reviews
  • Comparing actual milestone completion dates to scheduled dates
  • Comparing actual project task start-dates to scheduled start-dates
  • Informal meeting with practitioners to have them asses subjectively progress to date and future problems
  • Use earned value analysis to assess progress quantitatively

Tracking Increment Progress for OO Projects

  • Technical milestone: OO analysis complete
    • All hierarchy classes defined and reviewed
    • Class attributes and operations are defined and reviewed
    • Class relationships defined and reviewed
    • Behavioral model defined and reviewed
    • Reusable classed identified
  • Technical milestone: OO design complete
    • Subsystems defined and reviewed
    • Classes allocated to subsystems and reviewed
    • Task allocation has been established and reviewed
    • Responsibilities and collaborations have been identified
    • Attributes and operations have been designed and reviewed
    • Communication model has been created and reviewed
  • Technical milestone: OO programming complete
    • Each new design model class has been implemented
    • Classes extracted from the reuse library have been implemented
    • Prototype or increment has been built
  • Technical milestone: OO testing complete
    • The correctness and completeness of the OOA and OOD models has been reviewed
    • Class-responsibility-collaboration network has been developed and reviewed
    • Test cases are designed and class-level tests have been conducted for each class
    • Test cases are designed, cluster testing is completed, and classes have been integrated
    • System level tests are complete

WebApp Project Scheduling

  • During the first iteration a macroscopic is developed by allocating effort to specific tasks (it is understood that this is changeable schedule)
  • The project is broken up into increments and the increments are refined in to detailed schedules as each is begun (some increments may be developed in parallel)
  • Each task on the task list for each increment is adapted in one of four ways as its detailed schedule is created

    • task is applied as is
    • task is eliminated because it is not necessary for the increment
    • new (custom) task is added
    • task is refined (elaborated) into a number of named subtasks that each becomes part of the schedule
  • This process continues until each planned increment is completed

Earned Value Analysis

  • Earned value is a quantitative measure given to each task as a percent of project completed so far.
  1. The total hours to complete each project task are estimated (BCWS - budgeted cost of work scheduled)
  2. The effort to complete the project is computed by summing the effort to complete each task (BAC - budget at completion)
  3. Each task is given an earned value based on its estimated percentage contribution to the total (BCWP - budgeted cost of work completed).
  4. It is compute the actual cost of work performed (ACWP) at any point in the project and to compute progress indicators for both schedule and costs based on these measures
Please log in to add an answer.