What Policies do Dev Teams use to Distribute ReSharper/CodeRush Licenses? [closed]
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this questionI've been tasked to create a policy for our organization to determine which developers receive a license of ReSharper (this could apply to other tools like CodeRush, etc.). For example, if the organization owns 10 licenses but the team has 20 developers, how to determine which 10 developers get the licenses when maybe all 20 want them.
What policies have othe开发者_JAVA技巧r people created in their organization to address this?
Based purely on seniority? Based on skill/experience level? How do you address taking away licenses (if necessary)?
I know there is no code in this question but (per SO guidelines) it relates to software tools commonly used by programmers and matters that are unique to the programming profession.
This is dangerous, it's things like this that create unnecessary animosity towards your company and fellow developers. It would probably be better to not acquire any licenses for things like resharper, than to only get enough licenses to cover half the team. Even done "fairly" this will boil down to picking favorites when viewed by the developers. This should be evaluated at the organizational level and addressed immediately. I see rough waters ahead if this sort of thing were to continue.
Software developers are a unique type of people. They will accept a lot of negative things, if they can view those things as fair. They may say something like "My machine isn't really fast enough, but no body else has a fast machine either." They aren't necessarily happy about it, but it's acceptable. However, as soon as all developers that have been with the company 2 years get new fast shiny boxes, and the other developers do not there starts to be a lot of questions asked about process, and decisions, and animosity, both from the developers that were left out, and the developers who were included, because it builds tension in the team that is now directed at them through no fault of their own. These types of things happen far too often, and sometimes we aren't at a level to stop them, but if you have any power at all over this decision, or decisions like it, take steps to improve it for the sake of your product and your deadlines.
As a final caveat. If I had to break down who would get licenses when there was absolutely no way to cover everybody, but we still had to acquire some, would be to break it down by team. The Website team gets resharper licenses now, and the infrastructure team will get them later. And I would make sure not to always deploy the new shiny stuff with the same teams first, mix it up a bit. In this way you could actually improve the communication amongst teams. As there will be some interest in other teams about how Resharper is improving efficiency with the pilot team. etc.
Off the top of my head, some authors to read on topics like this are Joel Spolsky, and Tom DeMarco.
Our policy is that all devs (and testers) who want R# get a licence.
If the tool is useful why would you not give it to everyone? If cost is an issue then consider that the increase in efficiency will mean it pays for itself in a period of days or weeks (IMHO).
While I believe any developer's productivity could be enhanced by a tool like ReSharper, the primary benefit is likely around the expanded refactoring functionality. My suggestion would be to first and foremost look at the developer's role: do they need to architect/re-engineer code, or are they writing code only from scratch, according to someone else's spec? Do they have any responsibility for the cleanliness of others' code?
On a case by case basis I would also consider whether the developer has previous exposure to ReSharper, and of course, if given ReSharper, would they take advantage of the added functionality? (Some devs just won't, as I've experienced first hand.)
精彩评论