介绍
软件是由那些拥有不同兴趣和技能的人所共同创造。
发展那些培养健康团队环境的实践。一个健康的团队环境保证了高效的协作,这些协作使项目的参与者(开发团队、质量保证、产品利益相关人以及客户)保持一致的利益,并帮助项目参与者发展共享的理解。
实践
维护共同的理解
项目参与者的高效合作需要拥有对项目的共同理解。否则,在紊乱的情况下,团队成员无法保持一致的理解和兴趣,将怀着各自不同的目标一起工作。
项目参与者要主动沟通并分享信息。不要认为每个人都能找到他们所需要知道的,或者每个人都和其他人一样有对项目同样的理解。使用工作产品(如愿景、工作项列表以及需求)保持利益关系人和开发者之间的一致理解。使用架构聚焦并保持开发者一致的兴趣。在每个迭代的末尾,获得对迭代目标是否达成的认可,如果没有,必须采取什么行动。
培养高度信任的环境
如果没有沟通人们将感到不安,应该积极主动,或者承认自己的无知。在低信任度的工作环境中,必须费力的列出所有详细的计划,小心的监控,并进行广泛的审核。在低信任度环境中工作的团队无法跟上快速变化的脚步。
采用下面的行动培养高信任度的工作环境:
-
管理目标 - 创建团队自我管理的环境,管理者作为导师指导团队帮助他们完成目标。
-
拆除城墙 - 移除不利于在项目参与者中发展共同理解的物理和心理上的障碍。
-
穿别人的鞋走一英里(或1.6公里)- 在批评他人想法或回应他人批评时,尊重并试着去理解他人的观点。
-
响应相关对话 - 人们尤其是技术工作者, 经常回应争论和分歧,这将导致竞争,并出现只有少数人发言贡献讨论的等级环境。发展并鼓励增强好奇心以及相关的争论和分歧的行为。
-
面对沟通问题的原因时首先审视你自己 -
要理解每个人都有自己不容易发现的隐藏观点(虽然对他人来说常常很明显)。培养识别那些导致争论或缺乏沟通的假定与偏见的习惯。这需要练习。有时,他人很难对此提供帮助,但这些问题常常能够通过和自己的观点辩论而解决。
-
理解职场文化的约束
- 某些组织允许人们承认错误、提出问题以及进行尝试。一些组织则对此有所限制,但随着时间和努力,这种情况可以被改变。某些组织不能容忍错误,如果员工承认错误或尝试将把自己陷入危险的境地。了解你所在的环境并保护好你自己。要知道低信任度的组织在达成目标时存在诸多的问题,而且提供了一个无法让人满意的环境。
分享责任
个人独自工作是不利的。与团队的沟通将变得零散,甚至停止。人们可能陷入困境而没有请求帮助,或者没有意识到团队处在困境中需要他们的帮助。他们对项目的理解将变得和团队其他成员不一致。在最坏的情况下,人们看见团队为了各自的利益而工作,信任将被打破。
当个人对他们的工作产品负有基本责任的同时,其他人也分享着对工作产品的责任。“没有什么是别人的责任”(注:意思是认为什么都是自己的责任或原因,和他人无关),这可能意味着缓慢松弛、由于某些原因出现了滞后,或者需要寻求帮助。有经验的员工应该高度警惕,并且观察经验不足的员工,鼓励他们在必要的时候寻求帮助。
持续学习
软件开发不仅是一个快速发展的领域,在其中技术技能迅速陈旧。同时软件开发也是一个试验验证的过程,在其中有时开发的方式类似于试验和错误。此外,软件开发是依靠团队成员共同努力的结果。
持续发展你的技术和人际技能。学习你同事的例子。三人行必有我师。提升你的个人能力克服对其他团队成员的敌意。
围绕架构进行组织
随着项目规模的增长,团队成员之间的沟通变得日益复杂。当所有团队成员理解了整个系统,他们可以主要关注于他们所负责的一个或多个子系统。围绕架构组织工作,通过为团队提供统一的术语表和系统共享的心智模型,有助于沟通。
围绕架构组织团队,以及术语表和贡献的系统心智模型。不过,小心这种方式组织的个人和团队不会形成“筒仓心态”,在那里他们过度关注于自己的子系统而对其它子系统一无所知。
一个反映了组织结构的架构并不是围绕架构成功组织团队的证据。如果组织和团队没有围绕架构进行组织,而架构自然的符合组织结构,通常是政治和文化的影响。最后,架构和组织结构通常总是相互影响。目标是引导团队尽可能多的从架构出发设置组织结构。
|