`

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

阅读更多

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

 

   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封以上和自己无关的邮件,就说明信息开始泛滥了.

相关推荐

    国家标准——软件开发规范

    《国家标准——软件开发规范》是一份详尽的指导性文件,旨在为软件开发过程提供一套统一的、标准化的流程和规则。这份规范涵盖了从项目启动到交付使用的整个生命周期,包括了多个关键阶段的文档制作与管理,对于提高...

    汽车软件开发报告——通过汽车软件调查报告了解汽车行业开发现状

    《2022年汽车软件开发现状报告》揭示了全球汽车软件开发领域的最新趋势和挑战。本报告基于Perforce公司与Automotive IQ合作收集的近600位专业人士的见解,涵盖了汽车软件开发的关键议题,包括源码软件研发、行业报告...

    vs2008视频教程13:团队协作开发利器——如何提高团队开发效率

    在本节“vs2008视频教程13:团队协作开发利器——如何提高团队开发效率”中,我们将深入探讨如何利用Visual Studio 2008这一强大的集成开发环境(IDE)来提升软件开发团队的工作效率。Visual Studio 2008提供了多种...

    车载电子电器架构 —— 应用软件开发(中).docx

    ### 车载电子电器架构——应用软件开发(中) #### 一、应用软件开发 在现代汽车工业中,电子技术扮演着越来越重要的角色。随着技术的进步,汽车不仅仅是交通工具,更是一个集成了多种先进功能的智能平台。汽车电子...

    自己整理 GJB438B 软件开发文档模板

    GJB438B标准,全称为《军用软件开发文档通用要求》,是中国军用软件开发过程中的一个重要指导文件。它规定了软件开发各阶段所需的文档格式、内容和编写规范,旨在提高软件开发的质量和效率。本文将对GJB438B中的关键...

    所见即所得的APP软件开发工具——lae软件开发平台.pdf

    这款软件开发平台以其“所见即所得”的特性,简化了界面开发过程,极大地提高了开发效率。 1. **所见即所得的开发方式**:LAE允许开发者直接在工作区内对界面元素进行实时调整,如大小、位置、布局、颜色、字体等,...

    程序猿如何进化——云上的开发运维一体化.pdf

    文档中提到了三种不同类型的软件开发:创新业务、差异化软件及核心系统。每种类型都有其特定的开发周期、失败时机和方法论: - **创新业务**:这类业务更注重发现新的商业机会,通常采用敏捷开发方法,追求快速迭代...

    《软件开发规范》——需求分析与管理

    《软件开发规范》中的需求分析与管理是软件项目成功的关键环节。...总之,需求分析与管理是软件开发的基石,涉及到各个参与者的协作和沟通。只有深入理解并妥善处理需求,才能确保软件项目的顺利进行,达到预期的效果。

    软件开发与管理——可行性分析.pptx

    【软件开发与管理——可行性分析】是软件工程中至关重要的一个环节,主要目的是评估和确认一个项目是否具备实施的技术、经济和社会条件。本篇内容详细介绍了进行可行性分析的步骤、目的以及所需掌握的知识。 首先,...

    常用软件术语——软件工程

    在IT行业,尤其是在软件开发领域,掌握专业术语是理解、沟通和执行项目的关键。下面将对标题“常用软件术语——软件工程”所涉及的核心概念进行深入解析,旨在为读者提供一个全面而细致的软件工程词汇表,帮助大家更...

    软件项目管理期末大作业——10个系统PPT展示.zip

    【标题】:“软件项目管理期末大作业——10个系统PPT展示.zip”指的是一个包含10个关于不同系统的PowerPoint演示文稿的压缩文件,这些PPT可能用于软件项目管理课程的期末作业,旨在展示学生对软件项目的理解、规划和...

    关于——软件工程思想概述

    林锐通过轻松幽默的语言风格,传达了一个重要的理念:成功的软件开发不仅仅是技术层面的精通,还需要良好的团队协作、高效的沟通能力以及持续的学习态度。这本书鼓励读者不仅要成为技术专家,还要成为一名懂得团队...

    国家软件开发标准(doc文档)

    总结,GB8567——88国家软件开发标准提供了全面的软件工程指导,对于提升软件开发的专业性和规范化具有重要意义。无论是学生进行课程设计,还是专业开发者进行实际项目,都应该深入理解和应用这些标准,以确保软件...

    软件开发文档规范国家标准

    这些文档是软件开发过程中的核心元素,遵循《软件开发文档规范国家标准》能确保开发过程的规范化,提高团队协作效率,降低理解成本,同时也有助于软件的持续维护和升级。它们不仅适用于新项目的开发,也适用于已有...

    软件工程——程序员进阶

    他还强调了软件开发中的人员协作与团队建设的重要性,认为增加人员并不总是能按比例提高生产力,甚至可能导致沟通复杂性增加,这被称为“布鲁克斯定律”。 其次,《软件工程——实践者的思考》是另一本关于设计和...

    计算机软件开发行业——程序员的竞升之路感悟.pdf

    ### 计算机软件开发行业——程序员的竞升之路感悟 #### 一、引言 在计算机软件开发行业中,程序员的职业发展路径具有明显的层次性。本文档试图通过一个简化的模型来探讨程序员从入门到高级阶段的成长过程。该模型...

    软件工程思想——林锐

    - **程序员与程序经理的角色定位**:讨论了软件开发团队中不同角色之间的职责划分,以及如何有效地沟通协作。 - **项目管理**:介绍了项目计划制定、进度跟踪、风险管理等项目管理方面的知识,帮助确保项目的顺利...

Global site tag (gtag.js) - Google Analytics