当前课程知识点:软件工程 > 第5章 团队开发管理 > 5.2 项目沟通管理 > 讲课视频
沟通
在现代社会里是非常重要的
它对人们的职业发展影响很大
人们通过沟通
可以拓展个人关系的网络
发展人际关系中的支持系统
普林斯顿大学研究发现
智慧 专业技术 经验三者
只占成功因素的25%
其余75%
决定于良好的人际沟通
美国著名成功学专家
卡耐基认为
一个成功的企业家只有15%
是靠他的专业知识
而85%是靠他的人际关系
和处事技巧
由此可见
沟通能力是个人发展的关键因素
一个不善于沟通的人
很难创造佳绩
沟通 是为了达到一定的目的
将信息 思想 情感
在个人或群体之间
进行传递或交流的过程
人们通过沟通
交换有意义 有价值的各种信息
以便高效率的把事情办好
沟通的目的
是取得对方的理解和支持
所以
沟通是你被理解了什么
而不是说了什么
我们平时的很多工作
都需要通过团队协作来完成
那么 成员之间的沟通复杂性
会对任务的推进产生什么影响
我们先来看一下
几种不同的工作情况
第一种情况
一个农夫可以在10天内
采摘完一块草莓地
那么 同样的草莓地
是否可以用10个农夫
在1天之内采摘完
这种情况应该可以做到的
第二种情况
一头大象需要孕育22个月
才能生下一头小象
那么 增加大象的数量
是否可以加快这个过程
显然 增加人手
对于生产小象完全无济于事
第三种情况
假设开发某个模块
需要一个程序员两个月的工作量
那么 是否可以认为
两个程序员
在一个月内就可以完成
一般情况下
两个人开发一个模块的效率
不可能是各自开发效率的叠加
在协作过程中
个人的工作效率都会有所降低
而产生这种情况的
根本原因在于
人们需要对分解后的子任务
进行更多的沟通和交流
对于摘草莓这种任务来说
它可以完全分解给
不同的参与人员
而且他们之间不需要相互的交流
所以
增加人手确实可以
大大加快任务的进度
对于生产小象这种任务
由于次序上的限制
完全不能分解
增加人手对于进度没有任何帮助
软件开发中也有这种任务
对于可以分解
但子任务之间需要相互沟通
和交流的任务
必须在计划工作时
考虑沟通的工作量
虽然增加人手可以加快进度
但是 每个人的效率会有所影响
对于一些关系错综复杂的任务
沟通增加的工作量
可能会完全抵消对原有任务分解
所产生的作用
软件开发
是一项关系错综复杂的工作
随着人员的增加
沟通与交流的工作量
也会极大地增加
它很快会消耗掉任务分解
所节省下来的个人时间
人与人之间的沟通渠道
看起来像联系所有参与者的
电话线的数目
随着项目成员数量的增加
沟通渠道的数量
是按照N(N-1)/2的方式递增
例如两个人之间的沟通渠道
是一个
三个人增加到三个
这时如果再增加一个人
那么沟通渠道会达到六个
沟通的工作量增加了一倍
《人月神话》中有这样一条法则
向一个进度延迟的
软件项目增加人员
可能会使其进度更加推迟
所以 赶进度最好的方法
不是增加人手而是通过加班
增加工作时间
由于沟通的复杂性
一个软件开发团队的规模
在3到7人之间比较合适
最多也不要超过10个人
在沟通的基本模型中
发送者和接收者
是沟通的两个主体
发送者在向接收者
传递信息的时候
需要将发送的信息
翻译成接收者能够理解的
一系列符号
并通过合适的方式
传递给接收者
接收者接收符号之后
需要将所接收的符号
翻译成具有特定含义的信息
并理解被翻译的信息内容
发送者可以通过反馈来了解
他所传递的信息
是否被接收者准确的接受
在整个沟通过程中
还有来自距离 语言
和文化背景等噪音的影响
从这个模型可以看出
发送者对信息的表达
接收者对信息的理解
以及他们在经验认知上的差异
还有沟通方式和渠道的选择
噪音因素等
都会造成信息的失真
所以 要实现有效的沟通
应该选择合适的沟通方式
提高沟通表达的能力
有效的管理项目沟通过程
沟通是一种实践的艺术
不同的环境
适合采用不同的沟通形式
常见的沟通方式
包括
面对面的口头沟通
书面沟通 电话沟通 网络沟通等
下面
我们分别介绍这几种
方式的特点和适用场合
口头沟通是面对面的
以口头语言来实现
信息交流的活动
它是日常生活中
最常用的沟通形式
包括谈话 讨论 演讲 口头汇报
谈判和会议等
这种沟通方式
通过肢体语言 声音语言
文字语言全面的传递信息
双方通过自己的视觉
听觉以及心灵
直接接受或感知对方发出的信息
特别适合于复杂问题的
沟通和交流
口头沟通的互动性比较强
可以迅速获得对方的反馈
有利于培养感情
建立友好关系
但是这种方式
对时间和地点的要求比较高
相对比较费时
不利于掩饰和控制情绪
在口头沟通中
肢体语言信息
可以起到重要的辅助作用
所谓肢体语言
是指能够传递
某些特定信息的面部表情
手势 眼神 姿态 仪表
甚至小动作等
它往往是潜意识的外在表现
我们可以通过肢体语言
更真实的了解他人的内心状态
也可以利用恰当的肢体语言
更好的表达自己
书面沟通是一种比较正式的
以书面或电子为载体
利用文字和图形
进行信息传递和交流的形式
例如合同 报告 会议纪要 报表
备忘录 便条等
书面沟通虽然不如口头形式
使用频率高
但传播的信息量很大
相对于口头方式来说
书面内容严谨 有条理
具有更强的规范性
准确性和权威性
适合于存档 查阅和引用
但是这种方式
对于书写人的要求比较高
需要花费较多的时间
和精力进行准备
互动和反馈比较差
随着信息技术的发展
人们更加喜欢
借助于电子媒介进行信息传递
主要包括 电话和网络两种形式
电话沟通
是借助电话媒介来传递文字
和声音信息
它不受距离的限制
但相比口头沟通
缺少了通过视觉和感觉
来感知到的肢体语言信息
网络沟通
是通过计算机网络
来实现信息的传送和接收
例如电子邮件 网上论坛
博客 即时通讯工具
像微信 QQ等
以及其他团队协作工具等
这种形式
跨越了时空限制
沟通的内容更加丰富 广泛
信息交互能力强
信息的管理和查询也比较方便
项目沟通管理
是为了确保项目信息
及时而且恰当地收集和传递
对项目信息的内容
传递方式和传递过程等
进行管理的活动
项目经理很多时间和精力
都用在与人的沟通上
这些人员可能来自于组织内部
如团队成员 高层管理者等
也可能来自于组织外部
如客户 供应商等
有效的沟通是在他们之间
架起一座一桥梁
把不同文化和组织背景
不同技能水平
不同观点和利益的各种人
联系起来
从而对项目的执行
起到积极的作用
对于项目团队内部的沟通来说
团队成员需要清楚的知道
自己的分工和职责
以及与其他部分的关系
所以 在进行任务分配时
应该说明需要完成的工作成果
评价标准和完成期限
在项目进展过程中
需要定期召开会议
实现信息共享和作出决策
例如项目启动会议
成员工作进度汇报
以及项目阶段进展会议等
一次富有成效的项目工作会议
可以及时通报项目的进展情况
发现潜在的问题
或者讨论问题的解决方法
有利于增强团队的凝聚力
和实现项目目标
在所有与项目有关的
利害关系人中
管理层和客户是最关键的
我们应该考虑
如何将信息传递给他们
从何获得及时的决策和支持
我们要知道和谁沟通 为什么
对方需要什么类型的信息
详尽的程度和频率如何
沟通的目标是什么
采用什么方式比较好
在项目遇到困难时
与管理层和客户沟通的最好方式
就是把事实呈现给他们
在项目延期
或者超出预算时
问题发现的越早就越容易解决
常见的项目会议
包括项目启动会议
项目计划会议
项目阶段进展会议
项目技术评审会议
和项目组内部会议等
项目启动会议是项目立项之后
第一次召开的全体会议
必要时
也可以要求客户和主管经理参加
项目启动会议的内容
涉及到项目的基本情况
如目标 意义 规模 完成时间等
项目的主要成果
总体进度和管理制度等
要确定项目团队的角色分工
和工作模式
建立关于计划制定
变更控制 进展检查
以及汇报关系等
一系列的基本规则
项目计划会议
一般发生在一个阶段的开始
项目团队要共同制定
当前阶段的项目计划
把工作任务明确分配给团队成员
并要求对完成时间作出承诺
使整个团队对项目的进度
达成共识
项目阶段进展会议
主要是向客户和高层管理者
汇报项目进展情况
解决一些需要他们支持的问题
项目阶段进展会议应该定期召开
一般是每个月
或每个季度召开一次
项目组内部
还应该在每天或者每周
检查团队成员的工作情况
了解成员在工作中遇到的困难
并寻找资源进行解决
如果问题解决方案
涉及到计划变更
还要对整个项目的计划进行修订
召开必要的会议是很重要的
会议可以分享信息
明确方向 消除分歧
它是一种集体解决项目问题
和获得机遇的重要手段
但是会议也是有成本的
如果管理不好
会议有可能是低效的
或者完全是浪费时间
三星公司曾经提出了
召开有效会议的三项原则
和七项规定
其中三项原则是
第一 周三不开会
因为周三是人们
工作效率最高的时期
开会将打断正在进行的工作
降低工作效率
第二 要开短会
一般是在一个小时之内
最长不超过一个半小时
第三 会议结束之后
要把会议的内容
整理成一页纸 记录下来
对于召开会议
三星公司明确规定
会议要设定时间
准时开始 准时结束
要写明会议经费
去除不必要的浪费
参加会议的人
只是必要的人选和负责人
会议的规模要尽可能小
要明确会议目的
不要转移到其他主题
或者成为闲谈
要做好充分的准备
事先分发会议资料
在参加会议之前进行讨论
以便顺利召开会议
在召开会议期间
要防止
以某个特定的人为主进行发言
应该让所有参加者参与发言
并且相互尊重所发表的意见
为了尽可能的减少会议记录
仅仅是记录
决定了的事项并进行保存
在项目管理过程中
我们需要不断跟踪项目的
进展情况
汇总项目在进度 成本
工作量和产品质量等
方面的绩效数据
形成项目绩效报告
绩效报告通常使用文字说明
曲线图形和报表等形式进行描述
现在有许多软件工具
可以用于管理和显示
项目的各种信息
例如 这个图形中的曲线
表示了敏捷项目中
已经完成的工作情况
这是一个敏捷项目管理工具
它直观的显示了
已经完成 正在进行
和尚未开始的开发任务
并且标明
承担任务的项目成员
随着网络的发展
远程协作开发
成为一种普遍的做法
这种方式没有时空的限制
比面对面在一起工作
更为高效和自由
但是由于缺少了直接交流
通常存在着缺少亲切感
不经常交流 反馈比较慢等问题
在团队
没有建立起足够的默契之前
成员之间的交流
可能会有负面影响
要想克服远程给协作开发
带来的障碍
就要在日常交流中
尽可能清楚地表达
自己的所有需求
否则就要花更多的时间
去解释误会
无论是各自完成任务
还是通力合作
成员之间都要不断地沟通
让他人了解你的工作价值
这些沟通非常重要
所以 不要用邮件
要保持交流的及时性
使用电子方式进行交流时
缺乏及时反馈
会导致工作的断层
要保持立刻反馈的能力
这样变动才能被及时处理
还要把所有文档
放在大家都能进入共享的位置
总之 一切的关键点
就是交流 交流再交流
在这门课中
参与项目的团队
可能很多是远程协作开发
这就需要大家积极沟通
努力克服网上交流的不足
-1.1 软件无处不在
--讲课视频
-1.2 软件的本质特性
--讲授视频
-1.3 软件工程的产生与发展
--讲授视频
-1.4 软件工程的基本概念
--讲授视频
-1.5 软件质量实现
--讲授视频
-1.6 业界人士谈软件工程
-测验题--作业
-讨论题
--讨论题
-作业题
--第一张 作业题
-2.1 编程过程与规范
--讲课视频
-2.2 良好的编程实践
--讲课视频
-2.3 Python集成开发环境
--讲课视频
-2.4 代码静态检查
--讲课视频
-2.5 代码性能分析
--讲课视频
-2.6 结对编程实践
--讲课视频
-2.7 刘贺谈软件工程
--讲课视频
--讨论
-测验题--作业
-作业题
--第二章 作业题
-3.1 单元测试概述
--讲课视频
-3.2 黑盒测试方法
--黑盒测试方法
-3.3 白盒测试方法
--基本概念
--代码覆盖标准
--基本路径测试
-3.4 单元测试工具
--单元测试工具
--html
-测验题--作业
-作业题
--第三章 作业题
--作业题附件
-4.1 软件过程
--讲课视频
-4.2 软件过程模型
--讲课视频
-4.3 敏捷开发过程
--讲课视频
-4.4 微软公司开发过程
--邹欣经理自我介绍
--微软开发过程之一
--微软开发过程之二
-测验题--作业
-5.1 团队组织与管理
--讲课视频
-5.2 项目沟通管理
--讲课视频
-5.3 软件项目计划
--讲课视频
-5.4 软件项目估算
--讲课视频
-测验题--作业
-讨论题
--讨论
-6.1 敏捷开发之Scrum
-- 敏捷开发之Scrum
--html
-6.2 用户故事与估算
--讲课视频
-6.3 团队协作工具Tower
-6.4 配置管理
--讲课视频
-6.5 配置管理工具Git
--讲课视频
-测验题--作业
-作业题--作业
-7.1 需求工程师
--讲课视频
-7.2 需求定义
--讲课视频
-7.3 需求的类型
--讲课视频
--讲课视频(2)
-7.4 需求工程过程
--讲课视频
-7.5 需求的主要来源
--讲课视频
-7.6 需求获取技术
--讲课视频
--讲课视频二
--讲课视频三
-7.7 撰写需求文档
--讲课视频
-测验题--作业
-讨论题
--讨论
-8.1 用例建模概念
--讲课视频
-8.2 用例建模过程
--讲课视频
-8.3 用例建模精讲
--讲课视频
-8.4 建模工具介绍
--讲课视频
-8.5 微信抢票应用案例
--讲课视频
-测验题--作业
-讨论题
--讨论
-9.1 面向对象分析
--讲课视频
-9.2 CRC卡片分拣法
--讲课视频-1
--讲课视频-2
-9.3 面向对象设计
--讲课视频-1
--讲课视频-2
-9.4 类图建模
--讲课视频-1
--讲课视频-2
-第9章 面向对象分析与设计--测验题
-讨论题
--讨论
-10.1 顺序图概念
--讲课视频
-10.2 顺序图建模
--讲课视频
-10.3 顺序图风格
--讲义视频
-10.4 状态建模
--讲课视频
-10.5 状态图
--讲课视频
-10.6 状态图精讲
--讲义视频
-测验题--作业
-讨论题
--讨论
-11.1 软件体系结构概念
--讲授视频
-11.2 软件设计原则
--讲授视频
-11.3 软件体系结构风格(一)
--讲授视频
-11.4 软件体系结构风格(二)
--讲授视频
-11.5 软件体系结构风格(三)
--讲授视频
-11.6 软件设计过程
--讲授视频
-11.7 Web系统架构设计
--讲授视频
-11.8 数据库选择策略
--讲授视频
-测验题--作业
-作业题
--html
--html
--html
-作业题--作业
-12.1 交互设计概述
--讲授视频
-12.2 交互设计目标
--讲授视频
-12.3 GUI设计原则
--讲课视频
-12.4 KLM效率模型
--Video
-12.5 Fitts定律
--讲授视频
-12.6 交互设计过程
--讲授视频
-测验题--作业
-13.1 软件测试概念
--讲课视频
-13.2 软件测试类型
--讲课视频
-13.3 软件功能测试
--讲课视频
-13.4 软件性能测试
--讲课视频
-测验题--作业
-14.1 软件部署与交付
--讲课视频
-14.2 软件演化与维护
--讲课视频
-测验题--作业
-第一部分:基础知识
-第二部分:编程与测试(选做)