Software Project Scheduling and Delivery Strategies

Classified in Other subjects

Written on in English with a size of 2.96 KB

Project Timing and Monitoring

Common Causes of Late Software Delivery

Although there are many reasons why software projects are completed late, the most common include:

  • Unrealistic Deadlines: Delivery dates set by individuals outside the software engineering team.
  • Requirement Changes: Customer requirements change without being reflected in the project plan.
  • Underestimation: Insufficient assessment of the effort and resources required.
  • Technical Difficulties: Unforeseen technical challenges.
  • Communication Gaps: Lack of effective communication within the project team.
  • Management Oversight: Failure by project leaders to acknowledge delays or implement corrective measures.

Recommended Mitigation Strategies

Given that software engineering often involves aggressive delivery pressures, we recommend the following steps:

  1. Detailed Estimation: Provide a comprehensive estimate detailing the necessary effort and project duration.
  2. Incremental Development: Use incremental process models to deliver critical functionality by the deadline, deferring non-essential features.
  3. Client Negotiation: Meet with the client to explain unrealistic deadlines and propose an alternative incremental development plan.

Defining Project Timing

Timing is the activity where a manager distributes estimated effort over the expected project duration, allocating effort to specific software engineering tasks.

Basic Principles for Time Planning

The concepts that underpin effective planning include:

  • Division: Splitting the project into manageable activities and tasks.
  • Interdependence: Determining the relationship between activities (sequential vs. parallel).
  • Time Allocation: Assigning effort, start dates, and end dates to each task.
  • Effort Validation: Reviewing resources allocated to an activity over time.
  • Responsibility Allocation: Assigning specific deliverables to project team members.
  • Milestone Definition: Establishing major landmarks throughout the project lifecycle.

Temporary Programming

This involves calculating the time, resources, costs, and personnel involved in development to manage the implementation process effectively.

Defining a Task Network

A task network defines individual tasks and subtasks based on their interdependencies. Because a common project involves several people, activities can often be performed in parallel. This requires strict planning control, as interdependent tasks should not start until the preceding tasks are completed. A task network serves as a graphical representation of the project's workflow.

Related entries: