tags:

views:

1579

answers:

35

I am toying with the idea of giving agile software development teams budgets that they can spend to improve velocity. A typical agile team has 5-9 people.

I want to get a sense of how they might spend the budget.

If you wanted to improve software development on your team (no matter what software process/framework you use) and you had $1000 to spend, how would you spend it?

Similar questions: How would you spend $150 on developer tools?

+7  A: 

Buy a lot of coffee.

Zanoni
i vote red bull
Jon Erickson
Damn, I just wanted to write that!
Gumbo
I prefer Brawndo, The Thirst Mutilator.
stevedbrown
+31  A: 

A second, 20+ inch LCD monitor for each person or, if that's already the case, better chairs.

AlbertoPL
+1 for the better chairs. Every place I've worked I've had to fight for a better chair. Unfortunately I haven't always succeeded.
ChrisF
I'm already sitting in as good a chair as I'd expect to get from Office Max, considering that we'd be ordering 7-9 and paying $1K. Are good 20+ inch monitors available at that price? I love mine, but it didn't come that cheap.
David Thornley
20" - 22" monitors go for a little more than a hundred a piece. If you buy 9 that'd be a little over 1k.
AlbertoPL
My monitor, purchased just 8 months ago, was like $180 CAD so 5-8 seems reasonable
Nathan Koop
Actually, I'm not too sure on 20" monitors. When you go from 19" to 20" the max resolution jumps up, a 20" has some pretty small pixels. Not all programs cleanly handle scaling up the font and icons are generally of fixed pixel width no matter what the screen is like.
Loren Pechtel
@Loren Huh? 20" is the minimum I would recommend to any dev these days. Standard is 1680x1050 for 20" widescreen. I'm using a 27" 1920x1080, which has a bit higher dot pitch (bigger pixels). Most IDEs respect the systems DPI, which should be set so that 12pt font is the same physical size regardless of the screen size.
Mark Renouf
+17  A: 

I'd get the team:

  • headphones, to remove distractions
  • better keyboards & mice, faster typing etc
  • bigger monitors, better workspace but maybe not feasable with 1k
  • memory as possible, pauses cause context switches, productivity falls

In that order (unless there is a marked lack of memory, then it's first).

stevedbrown
How do headphones remove distractions? Are these noise canceling?
If you have headphones on playing music or whatever, you won't hear the noise around you and people won't talk to you.
stevedbrown
Save on headphones and buy them some Cherry G80-3000 keyboards, the keys are so noisy they cancel ambient sound.
Luper Rouch
Do they come in dvorak?
stevedbrown
+40  A: 

$1000 isn't a lot (eg. to spend on training or something similar). So i would invest it in the tooling and hardware.

  • ReSharper for everyone (if you're a .NET dev group). If you are tight on budget, you can consider just using the free CodeRush Xpress from DevExpress, which is better then nothing.
  • Dual Monitors.
  • Max Memory (this is so cheap nowadays).
  • Books!

Some Various and inexpensive software that I personally use:

  • Beyond Compare - file comparison tool
  • Snag It - screen capture tool
  • RegexBuddy - regular expression helper
  • Ultramon - Enhanced multiple monitor environment, such as having a taskbar for each monitor
  • TeraCopy - faster file copying/moving tool that integrates with windows shell
  • Grep Tool such as WinGrep or BareGrep, although both have free non-registered versions

I would definitely go and ask the team this question though, chances are they know the tools or hardware that they need that will make their jobs easier. After all, they will be the ones using whatever is purchased.

Jon Erickson
+1 for ReSharper. Money well spent.
mgroves
+1 for all top 4 options.
Dmitri Nesteruk
+1 for "go and ask the team". They probably have a much better idea of what is going to help them than we do. We can say "get a big monitor!", but if they're running on machines with 1GB of RAM then improving that first is going to be a much bigger win. Ask them. They know.
Beska
+1 for Beyond Compare...so worth the money.
Jonas
+1 for each of BeyondCompare and RegExBuddy, awesome cheap software. I'm almost embarrassed to admit I've never used ReSharper.
cgyDeveloper
+8  A: 

I'd spend the $1000 on a banner that says "$1000 is not a significant amount of money in software development!" Licensing pretty much any tools you'd want or need is going to be more than that, and while you can buy a low-end computer that way, if your teams need hardware that badly, you're already starving them to death.

It MIGHT be enough for a book budget for a short while for a small team. MIGHT.

McWafflestix
What is a more reasonable budget then?
$ 25,000
John Rasch
$2,500 per person per year would be more reasonable.
BrianG
Actually, $1K per person could do a lot of good. You could buy a really good chair, for example, and that could do a whole lot of good.
David Thornley
That sounds great. But in the real world, many people have budgets. I think if you look around, you'll find a lot of development teams that could use $1000 very productively.
Beska
+2  A: 

This really depends on your team.

Depending on the size of the team, $1000 isn't much. Developer tools go a long way - ie: things like Resharper can do wonders to increase productivity, and are inexpensive.

That being said, if your culture supports it, $1000 can be a very effective motivator as a bonus.... I'd argue that it can bring more results per dollar than any other single thing, if handled property. This is a tricky thing to manage, though, so it really depends on your team.

Reed Copsey
Offering a $1K bonus can also really hurt morale and make the team less effective. Don't do this without thinking it over very carefully. You can't measure contributions well enough to make it seem fair.
David Thornley
That's why I was saying to really pay attention to you team, and it really depends on how you handle the situation.
Reed Copsey
+1  A: 

As everyone else has noted $1000 isn't going to do a lot in terms of better software. So I'd concentrate of the morale of my developers.

Pizza, Mt. Dew and a nice Espresso machine.

EDIT

Actually I did think of something $1000 would buy. Some testing systems running some kind of VM software. The hardware would probably be around $250 a pop, and you can find CRTs for free. Since no one is going to be using them for prolonged periods this should be fine. Back when I was using Ardence Smart Clients each license went for $125 per system so you could probably get 3 testing systems with $1000.

Spencer Ruport
What is a more reasonable budget?
A Wii, collection of games/controllers and a reasonably-sized LCD TV.
GalacticCowboy
A budget for what? If there's something they don't have that they need to do their job effectively the budget should be big enough to purchase that. If you're just trying to improve morale of the team $1000 will improve it some, $2000 will probably improve it more.
Spencer Ruport
+4  A: 

Wrist-rests for keyboard and mouse.

mgroves
+1  A: 

"So I'd concentrate of the morale of my developers."
Me too - how much do tazers cost?

Martin Beckett
The tazing will continue until morale improves.
mgroves
+3  A: 

For agile teams, you might be interested in agile-oriented project management tools. From what I hear (not having used them myself), both Mingle and Scrum'd are pretty good. If you're not interested in that, ReSharper is an indespensible tool for a .NET developer. You might also look into setting up some sort of continuous integration system.

Brad Gignac
+1. ReSharper is fantastic. Also, use SkinnyBoard instead of Scrum'd!
Matt Grande
+8  A: 

You could buy a dozen or more books with that. Has everyone on the team read The Pragmatic Programmer?

khedron
I just started reading it yesterday, its indeed a fine book. Most of it I already read somewhere else, but it always helps to revisit important topic from different angles
Emile Vrijdags
Getting a decent public library in your office sounds a good thing to do with only 1000$
Janusz
+2  A: 

Some flowers and a air humidifier, and a pen if I didn't just break the budget.

Daniel T. Magnusson
+3  A: 

If you have a sufficient number of developers, have a voluntary weekend coding contest to solve some appropriately sized problem relevant to your business. The $1K (or whatever is leftover after paying for pizza, etc.) goes to the winners (or maybe have 1st, 2nd, 3rd prizes). If you group people into teams for this, you will (hopefully) build some esprit de corps.

PTBNL
Asking folks to come in on the weekend, even voluntarily, can hurt morale as much as it might help. At best, you're drawing a distinction between those with a life outside of the office (e.g. those with families, those involved in volunteer organizations) and those with nothing better to do. At worst, you're setting an expectation that weekends belong to the company as well.
Richard Dunlap
You have valid points. Unfortunately, any sort of bonus program can end up lowering morale in one way or another. Hopefully you'll be able to avoid weekend work most of the time.
PTBNL
+4  A: 

Remember, the fundamental, slowest and most expensive problem in software has nothing to do with tools or productivity - it is knowing that you are building the right thing. Everything else is easier than this.

As far as improving the velocity, you have to know that there are obstacles, then what are they, and how can you remove them, and can the $1000 be used to do this? If there aren't any obstacles, what makes you think the team can increase velocity?

A lot of things which cost almost nothing can improve the environment: reducing pointless meeting requirements, taking out phones, improving stakeholder involvement, etc. All the best practices have been covered in the literature: PeopleWare, Mythical Man-Month, Code Complete, Writing Solid Code, etc.

$1000 won't go far, but it will start a library, so I think books are your best bet. I would let the developers decide how to stock the library. I would also give each developer a marked part of the shelf where there own personal favorite books can be stored, just like a bookstore where the people recommend their favorites. There is also the possibility of Safari subscriptions or ACM or IEEE memberships which come with digital bookshelves.

Cade Roux
I'm with you, and you did a good job saying _why_ books are valuable (which I skipped on). Also, ACM/Safari is really nice when I want to look up something but don't actually want to own the book.
khedron
+21  A: 

If the team doesn't already have whiteboards in every workspace, both private and shared, change that.

Richard Dunlap
I'm all for that
HLGEM
+1  A: 

Put a high-end SSD and 4GB RAM in every machine. With the $500 you'll have left, get everyone at least 2 20" flatscreens.

Philippe Leybaert
Find me 5 high end ssds, 20gb ram, and ten 20" flatscreens for $1000...
statenjason
yeah, I want your hardware supplier, on second thought, whoever it is seems uber sketchy.
Nathan Koop
The question wasn't entirely clear if it was $1000 per team or per developer. OTOH, what's $1000 per developer? Two man-days worth?
Philippe Leybaert
I work in the Upper Midwest (north center part of the USA), where salaries and cost of living are a lot lower than in a lot of places. That *might* be two days of my work. Certainly less than 1% of what I cost the company in a year.
David Thornley
+1  A: 

I'd take that money and create more incentives for your programmers. If they have some sort of bonus for making some level of measurable improvement in some aspect of your business, then that can motivate them in a unique way.

Steve Wortham
+3  A: 

Oh come on now... no one has said this yet?

Without a doubt, get a copy of FogBugz up and running for your group.

Paul Hooper
Sorry, but if the team is budget-challenged (my assumption given only a $1K budget), I'd set up a Trac installation and spend the money elsewhere.
Richard Dunlap
Uh, You are refering to this?http://trac.edgewall.org/roadmap?show=allOpen source software in progress for 5 years, they're 3 weeks late on version 0.11.5, and they don't plan to support multiple projects until v1.0? Not to mention much else...
Paul Hooper
Well, I've got firsthand experience with a Trac server I set up when I first joined my current company and a FogBugz server (granted, running a dated 4.0) that I inherited last year along with an off-site development team as part of a merger. Over the last year, we've slowly been migrating out of FogBugz -- the two key issues have been the lack of flexibility of FogBugz as compared to Trac and the per-user licensing cost that prevents us from giving out casual access to FogBugz (a non-issue with Trac, Bugzilla, or any commercial system where you pay for a server license).
Richard Dunlap
I would really like to see a host-your-own, single-server, unlimited-user FogBugz license option, I'll give you that.
Paul Hooper
+1 to that last comment -- had there been such an option, I'd have bought an upgrade to the latest FogBugz version as part of the post-merger spending. Instead, as you might guess from my two answers to this question, I bought lots of books and lots of whiteboards. :-)
Richard Dunlap
+23  A: 

Take the team out to lunch to a mid-priced restaurant (not pizza, out to lunch) once per week. When the $1000 runs out (that duration depends on your area), fight for more money.

The point being that morale has a huge impact on development speed. Knowing the people you work for/with care about you as a person and not just a resource means you care about them, and what you're doing for them, in the same way. Being motivated to do good work at a good pace can provide just as much speed/velocity/whatever as the best tools (and you can't afford the best commercial tools for $1000)

It's worth consulting the team to see what they prefer, if you have a couple options. If you can take them to lunch every week, or a baseball game twice, ask them what they think. The baseball game outing may sound extremely fun to you if you like baseball, but could be the most boring thing in the world to half the team. (speaking from experience on this one)

RHSeeger
+1 for morale, not sure that lunch does boost morale that much but it can't really hurt either
Eric
Fair enough. Lunch is a big one for me, but it depends on the team members.
RHSeeger
This answer is post number 1,111,111.
Daniel Daranas
+1  A: 

If your teams running on Windows Vista, pre-order Windows 7 and give them the relief that they are finally free.

ChronoXIII
+1  A: 

Divvy the money up into a book budget for each team member and send them to this question for ideas. Particularly if they're willing to use AddAll to look for bargains, that'll go at least a little ways to supplementing libraries.

Richard Dunlap
+1  A: 

I would check out Axure, http://www.axure.com/, I haven't treid the free download yet, but I will be soon, and a prototyping tool for even a single person to go through and work out the requirements with the customer would probably help you a lot, and I know that a license is around 500 bucks. Proper design to fit the needs of the customer will probably give you the most bang for your buck.

Egamadeus
+1  A: 

AgileZen

mgroves
+3  A: 

At a thousand dollars, about the best you could do is invest in moving your developers into a dual monitor arrangement. It sounds silly to management, but even if you realize a 1% performance increase that is a pretty great rate of return on a developer's salary.

The interesting part of course, is that research has shown the figure is actually closer to 20-30%!

http://lifehacker.com/software/dual-monitor/dual-monitors-increase-productivity-168488.php

I personally have a 3 monitor arrangement in my home office (a 26" 1680x1050 Samsung that I use to read papers, a 30" 2560x1600 Dell that I use for code and a 42" 1920x1080 HDTV that I run a browser on and keep little bits of clutter on or use when watching presentations. By completely filling my peripheral vision, I don't get distracted nearly as easily. I can always have whatever I need at my finger tips and can cross reference and compare different sources without losing my place or dragging windows out of the way to see.

In the office I use a much less flashy dual monitor arrangement, but it is still a net win over just hunching over the laptop display.

Edward Kmett
+1 for actually siting a reference.
Beska
+1  A: 

$1k isn't enough to make a dent in some of the tools we would benefit by at the office (for example, altova's link text runs $1700 per person.

If all I had were $1k to spend, I'd spend it on books. Like the above folks, I'd ask the crew/team what they're interested in. All our developers have dual monitors already.

Tangurena
+1  A: 

A good quality coffee machine which would be free to use.

Eric
+1  A: 

I would definitely invest in a big monitor, nice chairs and headphones...

bigodines
+1  A: 

Take each development team out for drinks on a Friday and use the $1000 to buy rounds. It will go a long way to cement your leadership and team morale.

Any team will follow a leader to the gates of hell if they know that he/she has their back!

Eric
+2  A: 

$1000 seems to be enough to buy Visual Assist for 5-7 team members in two months. That's only for Visual Studio teams.

Kirill V. Lyadvinsky
+1  A: 

If I have $1000, i would like to invest to buy Ebody chair

That chair is so cool and good for entire body during the programming.

Tiger

Tiger
+1  A: 

RAM, RAM, and more RAM.

These days it's cheap.

Hardryv
+1  A: 

Beer. Sweet, delicious beer.

Eric
+1  A: 

Personal fridge.

Nothing says you care more than one refrigerator per developer. You'll gain another level of respect if you fill them up with beer first.

How would that improve development? A personal fridge has the same effect to a developer as a "manager" title to a sales person. It makes coming to work early and leave late that much easier.

It also makes developers care more about the code they write, after all, the programming desk is like a home away from home...with fridge and beer...throw in lots of t-shirts and pizzas, the entire dev team is practically your children.

Shing Yip
+1  A: 

You should buy a foosball table for the team. Nothing builds team morale better than letting them have fun once in a while. And let them play a game or two in business hours each day. It is very refreshing for both mind & body!

We have a table where I work and it is a pretty good reason for staying at the company. The team has much fun (and would you believe it, but we even won the town championship!).

PS - Put the table in a room where it does not disturb too much if possible.

Halvard
+3  A: 

Tell your team they can give out a $25 (gift card) bonus to anyone at any time for doing exceptional work. This might be for giving you a 30 min code review, helping you fix a nasty bug, or finishing a work assignment in above average time. With $1000, this is enough for 40 awards. Average about 0.5-1.0 award/person/week.

The time/date/reason should be recorded by single party to reduce the risk of abuse. I had this at my last job, and I was not aware of any problems.

Some people might think that using a bonus is a poor way to encourage morale, but $25 is really not that much, so its more of the recognition thing. When the awards come from co-workers instead of managers, it will usually have a larger impact to the receiver. I think its important that people are not left out, even the newest employees, so there should be a different scale for different workers.

I would try it out for a few weeks, if there are problems, then make an adjustment or try something else.

Casey
I like this. The amount is low enough that it shouldn't raise resentment up from people who aren't getting it, but would be a nice incentive for some people (and, perhaps more importantly, a clear indicator that someone is recognizing the work they're doing). Of course, this assumes that you have enough information to make good choices. If you misfire, rewarding someone who doesn't deserve it, while ignoring someone who has done well, it will be remembered.
Beska