The widespread adoption of Agile development methodologies over the past decade indicates a new direction in project management. Agile’s lightweight framework – designed for rapid delivery and evolving functionality – has curtailed preference for the traditional waterfall approach and opened up new possibilities for project-oriented businesses. Though these methods are not inherently new to project management, Agile repackages and reprioritizes practical processes to create a highly effective and streamlined approach to project management.
The Agile Manifesto embraces four overarching tenets:
- Individual and interaction over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
These principles eschew the notion of a firm scope and a set final deliverable, encouraging instead continuous collaboration between the customer and design team to construct a highly tailored and beneficial final product. Requiring continuous planning, testing, and integration, Agile methods provide a lightweight and adaptable framework for creating, refining, and delivering new software.
Agile teams are responsible for constantly assessing how much of a project they have already completed, where the project is headed, and how their to-date investment substantiates future work. Time tracking guides this complex project analysis and enables teams and organizations to effectively complete projects with intelligent foresight.
The Agile environment, though it may not seem conducive to time tracking, actually benefits significantly from accurate time recording. Here are 5 ways in which time tracking can be used in an Agile environment:
Estimating Project Length
Estimation for Agile projects cannot – and should not – be performed as if it were for a traditional project. Defined by fluid scopes, continuously evolving deliverables, and short and adaptable iterations, the Agile environment makes concrete deadlines implausible. Though each upcoming iteration may be estimable within a range of +/- 5%, examining several months ahead may only achieve a +/- 30% range for eventual completion dates and costs.
Developers, possessing an intimate understanding of ongoing project status and work required for completion, should play a leading role in the estimation process. Rather than solely relying on a project manager or PMO to weigh statistics and produce roughly calculated estimates, the developers themselves should be able to lay out evolving iteration schedules and predictions for time required to complete each stage of the process.
These projections can be made more accurate by utilizing past project completion rates, but they also require continuous refinement as the project matures. Estimation therefore needs to bridge the traditional analysis of past project performance with unforeseen project variables and likely scope changes.
By requiring team members to either 1) allocate time in their schedules for daily or weekly events or 2) record events after they transpire, developers cultivate a more factually-grounded perspective of time investments for each deliverable feature. Promoting a culture of time-tracking can help streamline this estimation process at every stage.
For companies performing dozens of simultaneous projects, management needs live time and resource reporting to keep project performance in check. Though firsthand reports from individual project managers and developers may work for small organizations, these practices do not scale well and need a more sustainable solution.
Centralized time reporting practices help large organizations stay on top of developer availability, future assignments, and ongoing project performance. With continuously updated estimates provided by Agile teams, management has all the visibility necessary to minimize developer bench time and optimize resource utilization.
Determining Project ROI
Rarely do companies have a solid grasp of individual project costs, and this gap can cause organizations to tackle unprofitable ventures and squander money in ineffectual areas. Project performance knowledge allows management to determine the precise amount of money and resources invested into each project. With the right information, management can measure ongoing project value, cut failing projects before they become a drain, and schedule only those projects with the greatest chance of success.
To create an ongoing database of project knowledge, time needs to be recorded in per-task detail by those performing project work. Time divided between projects, spent on unrelated tasks, or performed as overtime need to be recorded as separate entities and used to determine precise resource allocation.
By aggregating this information, executives can more accurately determine the ROI and IRR of particular undertakings and tailor project selection to organizational goals. While the Agile environment may make project definitions less concrete than the traditional project approach, general features can be isolated as profitable ventures or money pits and be used to select the chances with the highest possibility for profit realization.
Though not the most glamorous explanation for tracking time in an Agile development, the fact remains that increasing compliance requirements mandate accurate time recording. The Sarbanes-Oxley act requires finance departments to track hours, and government audit agencies such as the DCAA require time breakdowns by task. To satisfy auditors and comply with new regulations, it’s imperative for all organizations to foster a culture of time tracking.
Hourly billing has become an increasingly common practice in the Agile workforce. With fluid scopes and changing features, organizations can avoid the pitfalls of flat bidding by charging the customer for the precise amount of time invested in each project. This allows customers to modify their demands as the project progresses and saves the developers from engaging in unprofitable ventures. If your organization does not practice hourly billing, it is still important to assign resource hours by department and separate overtime from regular pay.
The Ongoing Relevancy of Time
Agile methodology is not an excuse for chaos; it is merely project execution packaged in a new box. Though this approach has adaptability built into its core and maintains a high level of inherent uncertainty, it does not suggest that the Agile team should be left unaccountable for their actions. It is precisely because of the fluidity and ever-involving nature of the team that time tracking is so vital.
As with all projects, the development team is responsible for producing a finished good and billing for the time invested in its development. Time still stands as the fundamental unit of measurement for that performance and should not be ignored as an inconvenience. Providing valuable information for project completion estimates, future resource availability, compliance issues, and billing, tracking time remains an integral part of Agile project management.