Proof of My Efforts

05 May 2025

Making my Effort Estimates

Software development projects take a bunch of effort, but it is good to know how much effort exactly. While working on one of my projects called the Campus Resource Scheduler (CRS) application, I frequently found myself surprised at the amount of time it took to complete seemingly simple tasks. As a result, I started to estimate the time it takes to complete each of my tasks and compile them in a spreadsheet. The process for making effort estimates was not always discrete. I used prior experience gathered from past projects and the experiences of my peers to try and construct an accurate effort estimate for every task I was set to complete. These effort estimates were made based on other tasks that were similar to the task being estimated.

Making my Effort Estimates Early

My effort estimates were rarely accurate. Sometimes I overestimated the time it took to complete a particular task, and other times I found myself working on the assignment for substantially longer than I estimated. However, I still found these effort estimations beneficial as I could plan my schedule around these estimates to finish tasks effectively and without interruptions. These effort estimations served to set my expectations as a first step of finishing a job, for which later steps would quickly follow.

Making me Effort Estimates Beneficial

Tracking the actual effort expended on my project tasks was a very important part of not only my effort estimation efforts but also my software development journey. Seeing which tasks took what amount of time greatly helped in the effort estimations of the next tasks to be completed, allowing me to set more accurate estimations that helped me plan my course of action concerning the project. Although tracking effort took additional time that could have been used for development, it served as an important lesson in effort estimation and project planning, for which the experience will be used in future projects.

Making my Effort Estimates Accurate

There were a variety of ways in which I tracked my efforts. For the coding effort, I used a timer extension for VSCode (WakaTime) that accurately displayed the time I spent in VSCode working on the project tasks. This method of effort tracking was extremely easy to do and also very accurate, as the extension accurately marked the exact amount of time I was actively coding in the project repository. For non-coding effort, I used my best guess that I analyzed from many sources. This was because numerous sources of non-coding effort could be analyzed, such as researching and discussing design choices, analyzing requirements, and long rounds of communication between team members. For this reason, the tracking of the non-coding effort was only somewhat accurate.

Making my Effort Estimates Worthwhile

There was little to no overhead in tracking my effort. Tracking both the coding and non-coding effort only took less than 5 minutes to calculate, and was easily completed. In the end, effort estimation and tracking actual effort expended did not inhibit me while I worked on the project, and served as an important lesson in time management and project planning.