软件的性质决定了人的重要作用,因此有效的沟通显得尤为重要。
一、文档很重要吗?
传统的软件开发过程强调文档的沟通作用,他要求每个阶段都要产生详细的文档,他希望通过文档不同的涉众可以更好地理解系统的内容,了解系统的进展。
然而,文档真的能起到预期的效果吗?
事实证明,能真正潜下心来,认真阅读文档的人并不多。如果一个人能够潜下心来阅读那些枯燥的文档,我们完全有理由相信,他是一个富有专研精神的人。然而,现实生活中这样的人其实并不多,更不可能要求所有的涉众都具备很强的专研能力。因此,文档的命运可想而知了,通常,他们被费力地写出来,然后成了摆设。
因此,我们说,不要指望文档有太多的效果。
二、工件或工作产品
目前被广泛使用的Rational统一软件开发过程(RUP),并不强调文档,而是强调工件(artifact),工件指模型、模型元素、文档、源代码和可执行程序。RUP更强调组织内部利用模型工具使用模型进行交流。这样也充分发挥了UML的优势和作用。
敏捷开发过程强,这里以XP为例,强调代码的重要作用,主张代码即设计。这种思想虽然有些极端,但在实施过程中仍然会利用UML进行建模,只不过未必是正式的,可能只是一张草图。因此,我们说,实施XP实际上也是需要建模的,只是形式上更随意。
所以,敏捷的工作产品其实和RUP的工件没有本质上的差别,他们的共同点是,文档的作用在沟通交流中的作用已经明显下降。
三、有效的沟通方式-面谈
这在管理学上是一条很普通的定律,但随着科技的发展,电话,电子邮件的广泛使用,面谈反而被人们轻视了。因为只有在面对面的交流过程中,我们才能获得更多的信息,语言,肢体,表情和语气所传达的信息。而通常表情和肢体语言所传达的信息往往更准确。一个人可能会说谎,但同时他的肢体语言可能会暴露他内心的秘密。
对于软件团队成员之间,有效的沟通和交流可以提高工作的积极性。尤其是一定要让每个成员知道团队的工作目标,每个成员在这个团队中处于什么样的位置,他的工作对于团队有怎样的重要作用,大家共同需要面对的问题,重要的是要让他知道,你知道他的各种优点。所有的这些信息,很难想象不通过面谈能很好地完成。
四、有效的沟通让生命更精彩
加强有效的沟通,不仅仅是可以使软件项目进行的更顺利,同时,也可以提高员工的归属感,责任感,让他们积极主动地来完成团队的使命。
为什么中国的两弹一星比世界上任何一个的研制都更快,那时的状况是资源缺乏,凭借着的是使命感,荣誉感,强大的精神食粮比任何的物质都更重要。
尽管,在经济发达的,人们可以更好地强调享受生活,但是,精神的充实,完成使命的成感仍然是每个人都需要的精神食粮,没有这些,生命一样不会辉煌。