沟通涉及到软件文化,涉及到我们关心的软件进度、设计水平、程序员的绩效、程序员的发展道路,几乎可以说程序员的生活无处不存在沟通的问题。
沟通的方式:
1、 上下级的沟通
a) 接受任务
i. 聆听任务
ii. 提出问题,置疑任务的前提条件
iii. 承诺任务完成的时间
iv. 了解任务完成的质量要求
v. 任务完成时间,要流出充分的检查时间。ISO9000的原理?任务完成时,要提交测试代码。
vi. 任务完成时间,包括完成操作手册、软件文档等的时间。
vii. 及时回报
2、 同事之间的沟通
a) 如何达到默契
i. 了解整体项目的计划、进度要求
ii. 每周工作开始前,提交本周的工作计划,并且告知全部项目相关人员。重点是自己任务涉及到的前后工序中负责人。
iii. 每日抽出时间与项目组成员充分沟通
iv. 自己的工作交付物,的使用者,就是自己的客户。
v. 与团队成员沟通项目,不断确定对任务目标的共识,并交流测试的方法,保证测试过程是有意义的,而且是双方认可的。
vi. 提交测试文档、表达测试思路、提交测试报告。需提前将这些与自己项目团队中至少1名团队成员相互交流。
b) 会议沟通:进度沟通,质量沟通,讨论沟通
i. 进度会议
1. 关注进度
2. 不关注具体做事方法,不要太多的讨论问题如何解决,陷入交流会议中,没有形成快速有效的决策。
3. 关注风险,关注影响进度的事情,以及造成的影响
4. 落实各个子任务的完成时间,以及需要条件,不关注问题的复杂度。
5. 检查任务完成的顺序是否合理,任务完成的质量标准是否确定,等。
ii. 质量会议,讨论沟通
1. 1个人做事情,可以拥有较高的质量,3个人做事情,就会降低质量要求
2. 技术能力高者,做质量监督和设计、以及技术指导。
3. 技术能力差者,做具体工作。
4. 设计要进行评审,需要提前阅读所有文档,并详细列出存在问题。
5. 代码要进行小组评审,代码评审。
6. 不符合质量要求的代码,必须被推翻,重新开发,不能将问题带入后期的集成阶段。
7. 测试方案、测试计划必须经过评审,类似设计文档的评审。
8. 集成阶段的质量会议,将主要来分析问题所在,并不断提高团队对该类问题的解决经验。
c) 会议上的沟通
会议中出现的问题:没有人发言,要么就一言堂,圆桌会议的价值,每个人的价值。交流的流程,交流的方法。问题:无法形成统一的决议,无法实现知识和经验的融合,无法形成1+1>2。
i. 提出问题?
ii. 聆听的原则
iii. 讲解自己的想法
iv. 不要重复制造车轮,不要争论,不要自卫。
v. 回答问题?
vi. 表达要清楚、明白(提出观点、提出问题、提出解决方案、提出总结)
vii. 会议进行记录
3、 与客户的沟通
a) 基本礼仪
b) 了解用户的需求
i. 角色
ii. 用例
iii. 特殊性能要求
iv. 业务流程图
v. 各种表格、报表