`

沟通是个大问题——协作化软件开发

阅读更多

   沟通确实是一个大问题,特别是大的团队。存在问题:

 

   1) 信息孤岛,我应该知道的不知道,可是你知道。可是你也不知道我不知道。

 

   2) 知道有问题,但不知道有什么影响,忽视之。造成问题被埋下,种下了苦果。

 

   我们应该:

 

    1)知道别人需要什么样的信息。

    2)知道别人面临什么问题。

    3)每个人及时说出自己的问题。

    4)每个人提供别人应该知道的信息。

    5)让信息通畅起来。

    6)让问题暴露出来,无藏身之地。

 

    问题和信息的关系: 问题往往都是因为不知道某些信息导致的。 比如,你每月排队缴费感觉很困难,但是你知道支付宝可以网上缴水电煤,就可以解决这个问题。呵呵,给我们公司做个小广告了。

 

    解决办法,其实人家已经都说过了:

    1)强调原则,一有问题就上报,不能藏着掖着,当然团队也要有好的文化。 通过密集的交流使大家拥有一个共同的上下文。关于可理解性,可以参看我的另外一篇文章可理解性(Understandability)——一个扩展视角。

 

    2)Daily stand-up meeting ,每日站立会议。这是敏捷的一个最佳实践,每天早上15分钟之内沟通三个问题:

         a. 你昨天做了什么?

         b. 遇到什么问题?

         c. 今天计划做什么?

         通过会议,知道了别人需要什么信息,有什么问题,我能提供什么,我有什么问题。同时也知道了我们该往哪里去。

 

    3) 结对分析,结对编程,结对设计。 其实这样做的本质是Collaboartive Software Development(CSP)。不说天才,事实上天才没几个。每个人有很多自然的局限性,包括思维缜密性,拥有的知识多少,领域不同,特长不同,思考问题的角度也可能不同。强调协作化软件开发,其实就是利用合作,互补来处理软件开发的复杂性。 而这自然而然的解决了很多问题,包括信息孤岛,工作产品的持续Review,精神上的互相鼓励,知识转移,互相讨论等等。这里说一下互相讨论,其实很多问题和解决方案都是在讨论中得出来的。

 

    4)坐在一起。 距离确实是问题,开发,测试,需求分析最好都做到一起,当面沟通是最快的。You Must Believe That!

 

9
2
分享到:
评论
5 楼 gurudk 2009-03-06  
funcreal 写道

请问“结对编程”在国内的可操作性强吗?或者有没有什么变相的“结对”方式?

强不强,试过才知道。试过了,你就知道什么情况该用,什么情况不应该用。
4 楼 funcreal 2009-03-06  
请问“结对编程”在国内的可操作性强吗?或者有没有什么变相的“结对”方式?
3 楼 zigong 2009-03-05  
需要有效沟通 不要是应付性的!
2 楼 gurudk 2009-03-05  
liujunsong 写道

项目开发中沟通永远是不够的.
实际上,更重要的问题是:沟通什么,而不是如何沟通.
很多时候的交流问题,在于你不知道这个信息应该从那里来,应该到那里去,于是只能一一打听,既耽误自己的时间,也耽误别人的时间.
另外一个问题就是很多信息给了无关人员,这些人被信息淹没了,有用的反而找不到.
如果在公司里面,一天能收到3封以上和自己无关的邮件,就说明信息开始泛滥了.


关键是积极沟通的态度,如果每个人都这样,做一个可理解的人,别无所求了
1 楼 liujunsong 2009-03-05  
项目开发中沟通永远是不够的.
实际上,更重要的问题是:沟通什么,而不是如何沟通.
很多时候的交流问题,在于你不知道这个信息应该从那里来,应该到那里去,于是只能一一打听,既耽误自己的时间,也耽误别人的时间.
另外一个问题就是很多信息给了无关人员,这些人被信息淹没了,有用的反而找不到.
如果在公司里面,一天能收到3封以上和自己无关的邮件,就说明信息开始泛滥了.

相关推荐

    【高清完整pdf】高效程序员的45个习惯 敏捷开发修炼之道

    第1章 敏捷——高效软件开发之道 第2章 态度决定一切 1. 做事 2. 欲速则不达 3. 对事不对人 4. 排除万难,奋勇前进 第3章 学无止境 5. 跟踪变化 6. 对团队投资 7. 懂得丢弃 8. 打破砂锅问到底 9. 把握开发节奏 第...

    软件项目管理师大全(大纲+论文格式+经典案例)

    软件开发项目管理的简单方法 70 软件企业如何面对项目管理 71 软件外包项目管理3点体会 72 软件项目成功的要素 72 软件项目管理的成功原则 75 软件项目管理原则谈 77 软件项目管理中的一些误区 80 软件项目失败因素...

    信息系统项目管理师 论文 信息系统项目管理师范文

    软件开发项目管理的简单方法 70 软件企业如何面对项目管理 71 软件外包项目管理3点体会 72 软件项目成功的要素 72 软件项目管理的成功原则 75 软件项目管理原则谈 77 软件项目管理中的一些误区 80 软件项目失败因素...

    asp.net知识库

    一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP...

    汇讯WiseUC企业即时通讯软件 v5.2.0.0 运营版.zip

    汇讯WiseUC企业即时通讯软件融合了在线状态、即时消息、短信、电话、传真、邮件以及语音视频、文件传输、虚拟办公室等多种沟通方式,以沟通交流为核心、以企业管理为基础、以商务协作为应用,实现"随时、随地、随身...

    DevOps在公司项目中的实践落地

    DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布...

    ASP客户关系(CRM)系统源码

    公司多个部门与某个客户有工作关系和交叉,由于信息不共享,内部沟通不畅,有分工无协作,不能形成团队作战能力。 沟通效率低下 公司内部信息沟通不畅,影响工作效率,尤其是对客户反应能力。 工作思路紊乱 ...

    程序员需要经常刷题吗-agile-mdx:使用MDX平台的敏捷演示

    敏捷软件开发描述了一种软件开发方法,在该方法下,需求和解决方案通过自组织和跨职能团队及其客户/最终用户的协作努力而发展。 它提倡适应性规划、进化发展、早期交付和持续改进,并鼓励对变化做出快速灵活的React...

    协同设计的解决方案.pdf

    纬衡协同设计就是通过系统内建的协同机制,提供团队内部、团队之间、团队与管理层 之间的沟通、检查、信息传递手段,通过多元化的主动、被动协同机制,实现团队内部及时 有效地协作, 避免因信息不同步而导致的大量...

    智能制造.pptx

    1.3 美国工业互联网 三大元素:智能机器、高级分析、工作人员 智能机器:以崭新的方法将现实世界中的机器、设备、团队和网络通过先进的传感器、控制器和软件应用程序连接起来。 高级分析:使用基于物理的分析法、...

    《计算机网络技术》课程建设标准.doc

    该课程对于非计算机网络相关专业学生也很重要,因为这将是他们在大学阶段唯一系 统性了解这个改变时代的产物——计算机网络的唯一机会。在这门课程中,他们能了解计 算机网络的前世今生,了解计算机网络各个领域的...

    大数据时代我们不能抛弃“小数据”.pdf

    要将聚合、 协作融入媒体平台建设的全过程, 结 合互联网技术, 将业态进一步扩展至本地化服务, 优 化公共服务, 搭建政府和民众沟通的桥梁, 泰安的媒 体曾借助"政务服务热线一号通"平台的建设, 进 行过这方面的...

Global site tag (gtag.js) - Google Analytics