Unlike many of my office co-workers, I've done manual/physical labor in warehouses and what not. When I hear about office productivity and reporting, I often wonder just exactly what it is they're measuring because for software development, none of the metrics actually seem to apply. With physical labor, I never felt like I had a moment to breathe. Twenty eight boxes per minute was the standard, the goal, and the basis for all future performance metric evaluations (including raises and bonuses). Clock in. Start. Twenty eight boxes per minute. Small boxes. Big boxes. Heavy boxes. Broken boxes. reach, grab, place. reach, grab, place. No moments to think about life, what I want for dinner, what my professor talked about in my day classes. Box. Box. Box. Box. Box. Box. Twenty eight times per minute (my rate was around 35-40, though. I miss being young, but I don't miss wasting that youth on boxes). As I moved into the "white collar" world, the standards seemed to change. "File X papers/hour. Answer X phone calls per hour." Same sort of goals. I knew exactly where I stood at all times in the grand queue of things.
As a developer.. It's a completely different world. Lines of Code? Bullshit, everyone knows how to game that. Milestones? Same deal. Half the time we're completing projects in 1/8th the allocated time and browsing the web the rest, the other half we're scrambling because they only allocated 1/8th the time it actually requires to get the job done (Try working for the .gov as a software developer.. Estimates aren't really an art as much as a "what can I say to make the guy in charge of my contract happy?", apparently). Etc. Productivity as a measurement in software development is increasingly idiotic. Whenever I hear "agile" and "scrum" I hear "We're trying to make objective measurements on something that really has no objective measurements because we have to check this box right here that says I have to have objective proof I'm actually working and doing my job!" Bleh.