time tracking is essential to agile development

Download Time tracking is essential to agile development

If you can't read please download the document

Upload: intervals

Post on 16-Apr-2017

226 views

Category:

Software


4 download

TRANSCRIPT

PowerPoint Template

Time Tracking is Essential to Agile Development

Time tracking has been a point of contention between developers and managers for as long as Ive been working in the web design and development industry. Thats sixteen years. Ive been on both sides of the issue working as both a web developer and as a manager. Tracking your time as a web developer is an essential practice for any small business practicing agile development. And Ive got some pretty good reasons to back it up.

Timesheets have historically been the bane of developers. Lets take a look at Jeff Sutherlands rant on the lameness of timesheets to see why:

Actually time sheets are worse than lame:

they demotivate developers

10-15% loss of productivity is the minimum

developers have to fake the time to fill them out properly

erroneous data is used for reporting and management makes bad decisions

customers are deceived

they have nothing to do with quality code production

they focus the whole organization on phony data instead of production

Nevertheless, this is not enough for many managers to give up time sheets. Just like the waterfall process, there is a psychological dependency so strong, it is as if they are on drugs.

Im guessing that this rant comes on the heels of larger companies trying to enforce a time tracking policy onto an agile development team without fully understanding the agile workflow. A small business, however, definitely needs to incorporate time tracking if they are going to empower developers to manage themselves. Time tracking is also essential for a small business who wants to know where their most precious commodity, time, is being spent.

Pelago would be the first to admit that the waterfall method does not work in the web-based software development industry. We just so happen to be a web design and development agency that practices agile development and uses timesheets. Weve encountered several reasons why managers of smaller development teams should not give up timesheets reasons based on real-life experiences running an agile software development business.

Its not all about the developer

The points made by Jeff feed directly into the ego of the developer. First of all, developers should not be faking time. They should learn how to track their time accurately. Its not that hard to do and weve worked with many developers over the years who have found it quite easy to track time once they make it a priority. When running a small business, you are accountable to more people than just your developers. If the developers are too demotivated by the process or cant find the time to track their time, find new developers. The other points about erroneous data, deceiving customers and focusing on phony data all stem from the assumption that a developer cant track their time accurately. Developers may be a stubborn bunch, but they are perfectly capable of accurately tracking their time. Besides, there are so many great time tracking apps available online that make time tracking really easy. There really isnt any good excuse for developers not to track their time.

Its not all about the code

Its true that time tracking takes time, but a 10-15% loss of productivity seems exaggerated. All that we ask of our developers is that they start a timer at the beginning of each task and stop the timer when the task is completed. They can apply the timers to their timesheet at their convenience. At our web design and development agency, Pelago, our billable hours increased by 30% when we introduced time tracking. That increase covers whatever minimal loss of productivity we may have introduced when we started requiring developers to track their time. The only realistic point made above is that time tracking has nothing to do with quality code production. This is true that there is no direct correlation between time tracking and code quality. But thats not why we track our time.

We track our time because we have a business to run.

Better planning through time tracking

When it comes to running a small software development business, planning is everything. Youve got to plan your sprints and your project deliverables. Once youve started tracking developer time it is quite easy to pull up historical data for planning out future sprints and projects. If you know how long a developer will require to get through his list of three pointers you can plan more accurate sprints that wont burn out your developers. Developers may think it will take then a given number of hours to complete a task, but our time tracking data has shown that you have to double the developers estimate for a more accurate idea of how much time a task will require. In other words, time tracking data gives you a more accurate picture of how efficiently your team will perform a set of tasks.

Accountability

A small business practicing agile development is accountable to more than just its developers. You have managers, owners, and in the case of startups, shareholders; all of whom have expectations. The software development process, in the context of a small business, encompasses so much more than just the finished product. Managers will want to know how much time certain features required so they can report back to other managers, owners, and shareholders. They will want to know which features inundated the development team and which features were developed without a hitch. Why? Because if a project is behind schedule it helps to have a good reason for it. Or, if a feature needs to be added to your product, good historical time tracking data will give you a good idea how long the development will take.

In addition, developers have expectations of one another. Some developers may be working their asses off while others are hitting up the ping-pong table every hour. If developers are tracking their time, you are one report away from knowing who is doing their job and who isnt. Disparity in effort among developers may not have any effect on the quality of code, but it will kill morale and may ultimately take the product down with it.

Accurate Flat Bids

Just because agile development makes us faster at web development doesnt mean we are immune to inaccurate estimates and scope creep. Having estimated over 300 projects in the last 10 years, we strongly believe in the predict, track and learn cycle of estimating projects. Weve honed down our estimating skills to the point we can estimate a project to within 10% of its final outcome. We could not have done this if we did not track our time. The win-some-lose-some mentality behind flat bidding is not a very sound business practice. It leaves you open to underestimating projects and scope creep. Disciplining developers to track their time gives your business a much higher probability of accurately estimating future projects and takes the guess work out of flat bidding.

Billing Hourly

In our case, we are a web development agency that does agile development and bills clients at an hourly rate. We gave up on flat bidding long ago because they required too much work up front; defining a bulletproof scope when neither the client nor ourselves had a clear picture of what the finished product looked like. Billing hourly allows us to quickly develop a web application that will inevitably change as the client watches it come to life. Changes in scope are easily tracked and billed without interrupting the agile development process.

Short-term gain, long-term loss

Lightning McQueen learned this lesson the hard way. He was all gas-n-gos and was positioned to win the Piston Cup when his two back tires blew out. He didnt win the race. If an agile software development business decides not to track their time, they will likely not suffer any consequences in the short-term. However, they will experience long-term repercussions as a result of their decision. Developers will burn out while cramming to complete poorly planned sprints, managers will struggle to quantify why a given feature is taking longer than it should, and shareholders will start making uncomfortable inquiries. Had a time tracking system been in place, many of these problems go away.

The discipline of accurate time tracking is getting more and more simple to accomplish with the advent of so many great online time tracking apps. Intervals, for example, will let you toggle timers on and off whenever you start or stop a task. You dont have to recollect your workday at 5pm because the app has already done it for you. It also seems that other online agile project management tools are beginning to come around and add time tracking as a feature.

Meanwhile, there are some additional conversations on this subject over at StackOverflow.com:

Time Tracking and Agile Methodology

Time Tracking in Scrum

Check out the Intervals blog for more articles

The Intervals Blog

A collection of useful tips, tales and opinions based on decades of collective experience designing and developing web sites and web-based applications.

www.myintervals.com/blog

Click to edit the title text format
When they two lines?