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.)
发布评论
评论(3)
这是很危险的,这样的事情会给你的公司和其他开发人员带来不必要的敌意。对于像 resharper 这样的东西,最好不要获得任何许可证,而不是只获得足够的许可证来覆盖一半的团队。即使做得“相当”,这也将归结为在开发人员查看时选择最喜欢的。应在组织层面对此进行评估并立即解决。如果这种事情继续下去,我预计前方会出现波涛汹涌的情况。
软件开发人员是一种独特的人。如果他们认为这些事情是公平的,他们会接受很多负面的事情。他们可能会说“我的机器确实不够快,但也没有其他人拥有快的机器。”他们不一定对此感到高兴,但这是可以接受的。然而,一旦所有在公司工作了 2 年的开发人员都获得了新的快速闪亮的盒子,而其他开发人员却没有,就会开始出现很多关于流程、决策和敌意的问题,这些问题都来自开发人员被排除在外,以及被包括在内的开发人员,因为这在团队中造成了紧张,而现在团队却因为他们自己的过错而针对他们。此类事情发生得太频繁,有时我们无法阻止它们,但如果您对此或类似的决定有任何权力,请为了您的产品而采取措施改进它以及你的截止日期。
作为最后的警告。如果我必须分解谁可以获得许可证,而绝对没有办法覆盖所有人,但我们仍然必须获得一些,那就是按团队分解。网站团队现在获得了 resharper 许可证,基础设施团队将在稍后获得。我会确保不要总是先与相同的团队部署新的闪亮的东西,而是稍微混合一下。通过这种方式,您实际上可以改善团队之间的沟通。因为其他团队会对 Resharper 如何提高试点团队的效率感兴趣。等等。
在我的脑海中,一些关于此类主题的作者是乔尔·斯波尔斯基(Joel Spolsky)和汤姆·德马科(Tom DeMarco)。
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.
我们的政策是所有想要 R# 的开发人员(和测试人员)都获得许可证。
如果这个工具有用,为什么不把它提供给所有人呢?如果成本是一个问题,那么考虑效率的提高将意味着它会在几天或几周内收回成本(恕我直言)。
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).
虽然我相信任何开发人员的生产力都可以通过 ReSharper 这样的工具来提高,但主要的好处可能是扩展的重构功能。我的建议是首先考虑开发人员的角色:他们是否需要架构/重新设计代码,或者他们是否根据其他人的规范从头开始编写代码?他们对其他人代码的整洁负有责任吗?
根据具体情况,我还会考虑开发人员之前是否接触过 ReSharper,当然,如果使用 ReSharper,他们会利用新增的功能吗? (有些开发人员就是不会,正如我亲身经历的那样。)
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.)