Most software development projects have developers as the largest group of people within it, and they are engaged for the longest time on the project. They also tend to do the same things over and over again many times every day. Write a test, write some code, update from source control, run a build, check in. Rinse. Repeat. Good developers will do this up to tens of times per day.
All of these things mean that minute changes in productivity on a single task for your average developer on the project can have dramatic impacts across the project as a whole. On a project with 10 developers that do 10 builds a day each, improving the build speed from 5 minutes to 4 minutes saves over 13 hours every week.
For these reasons, I'm very wary of compromising on even the finest details around productivity for developers, and aggressively seek out improvements where possible. The biggest culprits that I see are in the IDE, source control system, and automated build. Be proactive about constantly improving these things and you'll be well on the way to a productive environment.
Comments
> On a project with 10 developers
> that do 10 builds a day each,
> improving the build speed from 5 minutes to 4 minutes
> saves over 13 hours every week.
Hmm, you guys have some weird maths down on your side of the border :)
10 devs, 10 builds each, 5 days a week == 500 builds.
Dropping a minute off each build saves 500 minutes.
500 minutes = 8 hours, 20 minutes.
Posted by: Tim Vernum | September 5, 2005 03:27 PM
Hmmm. How did I do that? Oh well, it definitely sounds much better if you say 13 hours. Lets see if anyone else notices...
-- Marty
Posted by: Marty Andrews | September 5, 2005 04:48 PM
Biggest single improvement in productivity for most projects I've worked on would have been to eliminate useless meetings. After that, the next biggest would be to reduce or eliminate unecessary interuptions (phone, email, noisy/inconsiderate co-workers). That's my experience, at least.
Posted by: John | September 5, 2005 10:36 PM
What you're missing is Marty that rather than doing all those fancy-pants builds and having good tools helping you write good code, it's much easier to just do things once each day.
So, 10 devs, 1 build each (at 5.00pm) = 10 builds
Dropping a minute doesn't matter
So, doing it this way completely saves 8h20 or 13h (depending on where you are).
Same with source code control. If you only checkout/update once a week, and checkin once every 2 weeks, then there are some more savings to be had.
Don't worry about conflicts etc, just check your changes in over the top of the other developers, because after all, your code is newer, and must be more important.
Simple when you think about it this way, isn't it.
;-)
Posted by: Jon Eaves | September 6, 2005 03:05 PM