You should have done the Reading on IDPM Effort Estimation before starting this Experience. The objective of this Experience is to set up and perform effort estimation to help manage your project. You will use the GitHub project board to track your effort and report at each project milestone. At the end of the project, you will report on your exprience on performing effort estimation and tracking. You get credit for providing high-quality data and how you used this date to manage your project. You will not be graded on the accuracy of your estimates or actual effort expended. You should be truthful about your effort and misestimates are expected and a normal part of the process. However, you will be graded on the quality of your data collection (i.e. not making stuff up) and the quality of your reporting.
For each project milestone project board M1,M2,M3, add Estimated Effort (hours) as number, Estimator as text, Coding Effort (hours), Non-Coding Effort (hours) as number as number fields to your GitHub project issues board. See the GitHub documentation for how to add custom fields to your project board.
When you add an issue to your project milestone board, give an estimate of total effort (in time not schedule) that it will take to address the issue. Add this estimate and who estimated it to the issue description on your project board as illustrated below (click to enlarge):

Use whatever basis for estimating you believe is best. You do not need to justify your estimate, but you should have some idea of how you came up with estimate e.g. “This issue is similar to issue #1 which took 3 hours to address.” Add this as a comment to the issue as illustrated below (click to enlarge):

Your estimate will surely be wrong! But it’s useful for planning and managing your progress.
When you (or anyone) works on the issue, update the Actual Effort field with the actual effort expended on the issue to this point. Carefully track the effort spent on the issue and update this field when you update the status of this issue!
When the issue is completed i.e. status is changed to “Done”, add the final total amount of effort expended on the issue.
You may find adding a timer extension for VSCode such as WakaTime helpful in tracking your actual coding effort (search VSCode extensions for more options). However, any method you use to track your effort is acceptable so long as you can provide a reasonable accounting of your time spend coding (i.e. it does not mistakenly include breaks or other time you are not actually working on code).
When working on a particular issue within a software development project, non-coding tasks can include various activities that support the implementation and completion of that issue. Some examples of non-coding tasks when working on a particular issue include:
Requirement Analysis: Analyzing the specific requirements associated with the task to gain a deep understanding of what needs to be accomplished.
Design Planning: Planning the design and approach for implementing the requirements, including breaking down the task into smaller subtasks if necessary.
Research: Conducting research to gather information, find solutions, or explore best practices relevant to the task at hand.
Prototyping: Creating prototypes or mockups to visualize and validate design ideas before implementing them in code.
Collaboration and Communication: Collaborating with team members, stakeholders, or subject matter experts to discuss the requirements, clarify ambiguities, and gather feedback.
Documentation: Documenting the design decisions, implementation details, and any other relevant information related to the task.
Testing Planning: Planning the testing approach for verifying the correctness and quality of the implemented solution.
Task Tracking and Reporting: Tracking the progress of the task, updating task status, and providing regular updates or reports to stakeholders.
It can be difficult to accurately track non-coding effort. A simple method is to note in the comments for your issue the start-time and stop-time that when performing any of the above activities. If this is too cumbersome, you can keep a file open in your VSCode project or perhaps a spreadsheet to record this information. You may also find it helpful to use a time tracking tool such as Toggl to track your non-coding effort. Whatever method you use, you should be able to provide a reasonable accounting of your time spent on non-coding tasks. Avoid just using your “best guess” for non-coding effort.
Your effort estimates and tracking will be assessed in your project board with each milestone. There is no need to submit anything individually until the end of the project.
If you or your team uses AI tools (LLMs, Copilot-style assistants, code-generation, etc.) during implementation, you must try to accurately record AI use for coding versus non-coding effort. The following should counted as coding effort:
When using copilot within VSCode the timer should capture these. However, if you use AI outside of copilot in VSCode you will need to manually account for the coding effort done outside VSCode.
When using AI for non-coding tasks such as documentation, design analysis, learning/tutorial, meetings, etc. you will need to account for this manually as you would for non-coding effort without AI.
Note: Please understand that the reporting of AI assistance will not prejudice or penalize you in any way. It is expected (and encouraged) for you to utilize AI in the development of your application. AI use had rapidly become integral to software development. Unfortunately, we do not fully understand its impact on productivity (ie. effort) and quality. Therefore the best we can do is to monitor its use and adjust our management accordingly. This is why we ask you to be especially considerate of use of AI when managing your effort on the project.
At the conclusion of Milestone 3 you will complete this experience with the following:
Your team must prepare a spreadsheet reporting the estimates and actual effort expended on each issue. The spreadsheet should have the following columns:
Create a spreadsheet with the following columns:
| Issue # | Summary of tasks | Estiamte (mins) | Coding Effort (mins) | Non-Coding Effort (mins) | Estimator | Implementors |
| 1 | Creating the Login Page | 30 | 40 | 40 | Joe Schmoe | Joe Schmoe |
| 2 | Set up the Requirements for Login Page | 60 | 96 | 60 | Jerry Springer | Annie Hu |
| 3 | Creating the Registration Page | 30 | 30 | 0 | Joe Schmoe | Annie Hu |
| 4 | Email validation | 40 | 57 | 15 | Jane Doe | Annie Hu, Joe Schmoe |
| 5 | Password validation & confirmation | 30 | 23 | 0 | Jane Doe | Annie Hu |
| 6 | Full name validation | 30 | 12 | 0 | Jerry Springer | Jerry Springer |
| 7 | Viewing and editing registration data | 90 | 16 | 55 | Joe Schmoe | Annie Hu |
Add a new worksheet to the spreadsheet reporting the total development experience for each team member as exemplified below:
| Team Member | Software Development Experience (months) | How was coding effort tracked | How was non-coding effort tracked? |
|---|---|---|---|
| Jane Doe | 36 | WakaTime | recorded start time and end time |
| Jerry Springer | 26 | WakaTime | Google Timer |
| Joe Schmoe | 13 | WakaTime | Best guess |
Put this spreadsheet in your project repo and post a link to it on the #effort-estimation channel on Discord.
NOTE: full credit will only be given for providing high-quality data. Do not make up your actual effort data as it will throw off your management! We have a way to check if actual effort data was made up. While technically your effort estimates are “made up”, they should be based on your best guess from your understanding of the task and your experience with the kind of work involved. Do not simply put down random numbers! We have a way of checking for this too!
Each team member must write a technical essay addressing the following questions with specific examples and details. If you used any AI assistance for effort estimation and tracking, answer the AI-specific questions as well.
There are two Lamaku submissions for this experience, one group submission report and one individual essay submission.
In the Lamaku assignment for the group report, one team member should submit:
If a team member did not participate in effort estimation and tracking, they will not receive credit for this assignment.
Each team member must post a link to their essay to the #effort-estimation channel on Discord. Do not delete this essay as part of your final exam experience.
In the Lamaku assignment for the effort estimation essay, each team member should submit: