助力开发团队

来源:互联网 发布:mean it 编辑:程序博客网 时间:2024/06/10 05:00

作者:蒂莫西·海伊(TimothyHigh)

诸事说易行难,而软件架构师“对未来之事特能吹嘘”这点己是“臭名昭著”。为了避免你的言辞最终变成蒸腾的热气(它通常是制造雾件(译注1)的关键无素),你需要一个优秀的开发团队。作为一名架构师,你的角色通常是去施加约束,但是,你也有机会成为推动者(enabler)。你应该在职责范围之内,尽量助力开发团队。

确保开发人员拥有他们所需的工具。工具不应该强行规定,而应当仔细选择,确保它们是开发人员处理手头工作的正确工具。应该尽可能地自动化那些重复和无须动脑筋(mindless)的工作。同是确保开发人员拥有一流的机器用于工作,拥有足够的网络带宽,可以访问到开展工作所必需的软件、数据和信息,这些也是非常值得的投资。

要确保开发人员拥有所需的技能,确保他们能够获得必须的培训。在书籍上进行投资,并促进在技术方面开展积极的讨论。开发人员在工作期间必须要动手和实践,但同时也要有活跃的学术研讨。如果有专项预算,请送团队去参加技术专题讲座和研讨会;如果没有,那么让他们参与到技术主题的邮件列表中去,同时在你所在城市里寻找类似的免费活动。

同时,也要尽可能地参与到开发人员的选拔过程中。挖掘那些热衷于学习,那些有那么一点“亮点(spark)”表明他们能真正去钻研技术(同时也要注意确保他们能够默契地融入团队……)的开发人员。一个充斥平庸之辈(duds)的团队很难产生爆炸性的巨响(a big bang)。

只要不违背软件设计的总目标,就让开发人员自己做出决策。但是,不仅为了确保质量,也为了能够对开发人员进行深度授权,我们要在总数上设置限制。为了一致性(consistency),也为了减少麻烦和无关紧要的决定(它们不是开发人员要解决的根本性问题的构成部分),我们要创建一些标准。创建一个清晰的路线图(roadmap),向开发人员说明应当如何放置源代码文件,如何对之命名,何时应当创建新文件等诸如此类的问题。这可以节省他们的时间。

最后,保护好开发人员,不要让他们卷入到不那么重要的工作中。过多的文牍工作和办公室杂务增加了总开销,降低了开发人员工作的有效性。你一般不会是管理人员,但你可以对周边的软件开发过程施加影响。无论使用的是何种过程,要确保它们的设计目的是消除障碍,而不是增加障碍。

0 0