我将和我的一些朋友一起做一个软件项目,我被任命为技术主管。这些人中没有一个是糟糕的程序员,但我确实比他们有更多的经验。我需要能够将工作分配给团队中的每一个人,同时也要确保我们之间不会触碰对方的脚趾头;确保他们达到了相对较高的质量和可伸缩性标准,这是我们使这个项目成功所需要的,而不需要我审查他们所承诺的一切。
如何在避免微观管理的同时保持标准?做一些图表,安排一些代码评审,并相信我能够修复任何可能破坏的东西,或者我是否应该走TDD路线并为团队编写显式测试以满足这些需求?
发布于 2011-02-13 02:27:04
您应该检查他们的一些代码,让他们互相检查。这并不是说你想成为警察的结账员,而是想尽可能经常地提供反馈。作为一个审查员可以加强他们的理解。让他们也检查你的代码。做模特儿。
备注:在回顾过程中,不应该有任何意外。
发布于 2011-02-13 02:16:15
最重要的是:以尽可能多的不同方式传达你的期望和设计。图表对一些人有好处;定义的接口也适用于其他人;对编程也有效;正式的代码评审也可以帮助一些人。
我还建议尽可能多地使用自动化:
很难与失败的测试用例或自动检查工具争辩,只要它们设置得很好。
发布于 2011-02-13 02:33:22
如果你真的在同一个项目中使用各种不同的技能水平,就会出现一些问题。问题是你什么时候处理他们?他们会写这么糟糕的代码吗?如果没有他们的帮助,你会更好吗?这会造成个人的紧张吗?你要结束友谊吗?除了你,没有人能回答这些问题。
假设每个人都会留在团队中,我建议将任务分解成小块(更大的分配给更熟练的人),并在您完成任务后让最熟练的开发人员重构。确保在一定的时间间隔内运行QA。不管怎么说,这与现实中发生的事情非常接近。
https://softwareengineering.stackexchange.com/questions/47305
复制相似问题