Get some background on software effort estimation in the “real-world”

9 Principles of Software Estimation

How Do I Estimate Tasks Correctly? How Do I Estimate Time Accurately?

IDPM and Effort Estimation

Effort estimation can be useful in Issue-Driven Project Management (IDPM) as it can help project teams plan, schedule, and allocate resources effectively.

Effort estimation involves predicting the amount of time, resources, and work required to complete a task. It provides project stakeholders with valuable insights into the scope, complexity, and feasibility of a task. When done effectively, effort estimation can help project teams set realistic expectations, identify potential risks and challenges, and make informed decisions about project planning and execution.

Here are some ways effort estimation can be used in IDPM:

Initial Planning: Effort estimation is typically performed during the initial planning phase of a project. It involves breaking down the project scope into manageable tasks or work packages and estimating the amount of effort required to complete each task. These estimates serve as the basis for developing project timelines, allocating resources (people), and setting project milestones.

Baseline Creation: Effort estimates provide a baseline against which actual progress can be measured throughout the project lifecycle. Once tasks are estimated, the total effort required for the project can be calculated, providing stakeholders with a clear understanding of the project’s scope and scale.

Resource Allocation: Effort estimates help project teams allocate resources effectively by identifying tasks that require the most time and effort. Based on these estimates, project teams can assign resources (such as personnel, equipment, and budget) to specific tasks and activities, ensuring that the right resources are available when needed.

Risk Management: Effort estimation also supports risk management by identifying potential bottlenecks, dependencies, and resource constraints early in the project lifecycle. By understanding where the most effort is required, project teams can proactively address risks and develop mitigation strategies to minimize their impact on project success.

Progress Tracking: Effort estimates serve as a benchmark for tracking project progress and performance. Throughout the project lifecycle, actual effort expended on tasks is compared to the initial estimates, allowing project teams to monitor progress, identify deviations from the plan, and take corrective actions as necessary.

Issue Management: Effort estimates provide valuable insights into the impact of issues and challenges on project timelines and resource requirements. When issues arise (such as scope changes, technical difficulties, or resource constraints), teams can assess their impact on effort estimates and adjust plans or issue scopes accordingly to minimize disruption and delays.

Continuous Improvement: Effort estimation is an iterative process that improves with experience and feedback. As projects progress and new data becomes available, project teams can refine their estimation techniques, update baseline estimates, and incorporate lessons learned into future projects, thereby improving the accuracy and reliability of effort estimates over time.

How to Estimate Issue Development Effort

Effort estimation for a given issue in Issue-Driven Project Management (IDPM) involves assessing the amount of time, resources, and work required to address the issue effectively.

IMPORTANT When estimating effort for an issue you are not estimating the calendar time to complete the issue, but rather the amount of work that needs to be done to complete the issue. The estimates will look like “5.5 hours to complete Issue-xxx”. Do not estimate dates such as “Issue-xxx will be completed by ” or calendar time such as “Issue-xxx will be completed in 3 days”. It is up to the implementor to determine when they will complete the issue within the project timeline. However note that the project timeline is a constraint on when the issue can be completed e.g. “We have 1 week to complete Milestone 1, so we need to complete Issue-xxx within that time frame”. Also note that some Issues may be dependent on other Issues being completed first. Such dependencies should be noted in the Issue description.

Here’s a step-by-step approach to estimating effort for an issue in IDPM:

  1. Understand the Issue: Begin by thoroughly understanding the nature and scope of the issue. Review the issue description, gather relevant information, and clarify any ambiguities or uncertainties with stakeholders. Ensure that you have a clear understanding of the problem to be addressed.

  2. Break Down the Work: Break down the issue into smaller, manageable tasks or activities. Identify the specific actions that need to be taken to resolve the issue and achieve the desired outcome. This may involve analyzing the root cause, developing a solution strategy, implementing changes, testing the solution, and documenting the results.

  3. Consider Dependencies: Assess any dependencies or constraints that may impact the effort required to address the issue. Determine whether the issue is dependent on other tasks, resources, or external factors, and factor these dependencies into your estimation. Consider potential risks and uncertainties that may affect the effort required.

  4. Estimate Time and Resources: Estimate the amount of time and resources needed to complete each task or activity identified in the work breakdown structure. Consider factors such as the complexity of the tasks, the skills and expertise required, the availability of resources, and any potential obstacles or challenges.

  5. Use Historical Data if possible: Draw on historical data (if available) and past-experiences (if available) to inform your effort estimation. Review similar issues or projects that have been tackled in the past, and use data from previous efforts to guide your estimates. Look for patterns, trends, and lessons learned that may be applicable to the current situation.

  6. Involve the Team: Collaborate with team members and stakeholders to gather input and insights into the effort estimation process. Engage subject matter experts, technical leads, and other relevant parties to provide their perspectives and expertise. Leverage the collective knowledge and experience of the team to improve the reliability of your estimates.

The above steps are general guidance. You can adjust these steps to whatever works and is useful for your team. Try not to get overly concerned about accuracy. Your estimates will always be wrong! However, providing estimates will get you to think through the IDPM issue in more detail which will help you better manage and address your IDPM issues.

Here is an example of tracking effort for issues

picture

Optional: Watch two screencasts about the Mythical Man Month

For a classic perspective on software development effort, consider learning about the “Mythical Man Month”:

Mythical Man Month: Why More Manpower Doesn’t Mean Faster Work

Lessons From “The Mythical Man-Month”

You can explore the Mythical Math Month