您可能在这里专注于错误的领域,您有机会看到您的流程中的一些弱点。
- 在他自己的主目录的小区域中工作,而不是在公共 CVS 存储库中工作
在这里简单的聊天可能就足够了,版本控制的好处不言而喻,任何“聪明”的人都可能对这些好处充满热情。然而,这也可能是一个很好的机会来研究允许更大易用性和灵活性的替代版本控制系统(看看 bzr 和 git)。更好的是,让他参与选拔过程,如果他真的是一个“明星”,他可能会有很好的投入,并且更加投入使用。
听起来文档不是您流程的一部分。人们会抵制必须做额外的工作,如果没有明确的流程,那么你就是在谈论很多额外的工作。真的需要文档吗?如果是这样,是否定义了创建它的过程?你应该有一个完全致力于它的人吗?您是否应该至少有一个工具来促进它(也许像 mediawiki 这样简单)?
- 不评论他的代码,例如 3,500 SLOC 的 C 没有评论,也没有空行来说明问题
三个词:同行代码审查。除了明显的错误捕获好处之外,这也可以提供一些同伴压力,这是一种强大的力量,可能是一件好事。想要被你的同龄人很好地感知会自我产生所有权和质量。
- 经常使事情变得过于复杂,例如使用三个相互调用的 shell 脚本来完成一个简单的 shell 脚本可以完成的工作。
再次,同行代码审查。你提到管理层知道这个程序员的缺陷。他有吗?如果人们不认识到他们做事方式的问题,就很难改变和改进。
而且,也许最重要的是,通过制定改进您的开发过程的计划(这可能不仅会改善您的“明星”,还可能会改善团队中的其他人),您可能会从管理层那里为自己赢得一些金星。