在一个新团队中,您如何处理自己?在这个团队中,您是最高级的开发人员,而团队中的其他大多数人都比您小很多。团队之前的任务是其他人(包括您在内)在他们的职业生涯中没有完成的。
管理层坚持要提高整个团队的工作效率,作为高级开发人员,您有责任。
在这种情况下胜出的任何技巧?显然,整个团队需要时间来学习,我们不要忘记团队的新成员。但是,截止日期也要提前...
在一个新团队中,您如何处理自己?在这个团队中,您是最高级的开发人员,而团队中的其他大多数人都比您小很多。团队之前的任务是其他人(包括您在内)在他们的职业生涯中没有完成的。
管理层坚持要提高整个团队的工作效率,作为高级开发人员,您有责任。
在这种情况下胜出的任何技巧?显然,整个团队需要时间来学习,我们不要忘记团队的新成员。但是,截止日期也要提前...
Answers:
不要让时间紧迫或项目的新颖性干扰良好的工程实践。设置软件存储库,同意编码风格,提供测试套件,等等。只要您有愿意干的高素质人才,任务的新颖性就不那么重要努力工作并学习他们前面的任务。
或者换一种说法:您之所以负责,是因为管理层认为您的背景和经验为您提供了构建高质量软件所需的工具。不要因为这个任务现在看起来艰巨而突然忘记您的技能。
首先,从代码的第一行开始使用源代码控制系统。养成及早且经常检查代码的习惯。
其次,确定测试策略。当然,这应该意味着单元测试,但是您还应该考虑如何自动化验收测试。
第三,建立一个持续集成服务器,以便定期构建代码并进行定期测试。
了解这些内容后,请团队建立一些简单的编码标准。您希望每个人都易于阅读您的代码。标准是什么并不重要。用制表符缩进,用空格缩进,同一行上的花括号,等等。不管是什么,只要每个人都一致地应用它们即可。
由于团队主要是初级开发人员,因此请经常计划审查代码,以确保他们不会给您的系统增加太多技术负担。
最后,考虑使用SCRUM。如果这样做,请雇用教练或接受一些培训。由于您都在做从未有过的事情,因此确定实际的截止日期根本是不可能的。使用SCRUM,您的管理人员可以了解您每天的工作,以便他们查看正在(或没有)取得的进展。而且,由于您的截止日期显然是给您的,因此SCRUM至少可以保证,如果您无法按时完成任务,至少可以按增量方式提供完整的故事,这可能比与巨人告终更好系统根本不起作用。
除了@chrisaycock的答案以外,请不要小看您需要花费的时间来进行辅导/培训等。作为领导,您将需要学会放弃细节并信任您的团队。您的工作是成为推动者,障碍消除剂,并在管理层戳进那里时产生干扰。在“正常”团队中,大约7或8岁时,领导不再编程,在您的情况下,下降到3或3岁。 4(甚至更少),您不是项目的编程资源。
我所做的就是确定有能力的人并分而治之。我选择前2名或3名,并任命他们为队长。然后将其他人按照队长平分给自己的小队。
我给队长块或模块做一个程序。
船长在向自己解释自己在做什么的同时,始终给新手以较小的编程或研究任务,因此指导是在做时进行的。
我试图安排房间,以便每个人都在同一个开放空间中,但是每个团队都有自己的计算机圈子。我喜欢与所有人大喊大叫,所以事情发展很快。
到目前为止,这对于大约10-20个程序员来说效果很好。较小的小组最好在一起,而我还没有处理更大的小组。