`
ihuashao
  • 浏览: 4813553 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

面向未来的“协作开发”

阅读更多

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。
否则将追究法律责任。

引子
有一天我在QQ群里发起了一个话题:
“当你从三个以上不同的途径得知同一件事儿,意味着什么?”
我又自问自答的说:
“说明这件事儿要么已经众所周知,要么很快就要众所周知。”

问这样一句话有些莫名其妙?非也,那是因为近期我先后看到了三个词:
Eclipse ECF,IBM Jazz 还有 Google Wave。
其中:
Eclipse ECF,是一个基于Eclipse的分布式应用开发框架,可以用于建造Eclipse插件、工具或者RCP应用,并为这些工具或者应用提供 异步点对点 或者 发布-订阅模式 的消息机制。
Jazz,被IBM定义为下一代协作平台,面向全球化和跨地域团队开发,致力于改变人们协作构建软件的方式——提高软件交付的协作性、效率和透明度。
Google Wave,是一款基于WEB的通信和协作工具,定义为下一代的网络通信平台,虽然尚未公开发布,但其提供的DEMO已经让业界有颇多的猜测和期待。

三个来自世界顶级厂商的产品或者概念,背后传递着完全相同的信息:communication,collaboration。
这说明什么?
我个人认为,这意味着实时、远程协作马上就要变得“众所周知”,马上就要成为下一个大热点,它将借力网络通信的大发展,给我们的生活和工作的很多方面带来改变。作为一个从事软件行业的人,我的直觉告诉我,这可能从根本上影响软件开发过程和模式。

定义协作
协作:可以解释为协调、合作;协调人力和资源,联合起来,共同完成一件事情。

传统的协作(本文将其称为“合作”以示区分),强调计划有序、各司其职,参与者的工作应该尽量内聚,接口应尽量清晰。
而未来的协作,强调的是目标一致、共同参与、默契配合。

举个例子就可以很好的说明合作和协作的差异:
假如你是项目经理,用户发给你一个未完成需求列表,要求你答复每项需求的完成时间。

在合作模式下,你将需求列表转发给相关员工,要求他们在下班之前回复跟自己相关的条目。收到回复后,你需要审核大家填写的内容是否符合要求,对有问题的条 目需要再跟责任人进行确认。如此经过几次往复,你终于可以将统计完毕的表格反馈给用户,这时可能已经有一周的时间过去了。

而在协作模式下,你可以邀请相关员工发起一次协作会话,在简单讲述用户的要求后,请大家共同编辑这份文档(注意,是每个人都在自己的机器旁,但大家同时在 一份文档上工作),每个人都可以寻找跟自己相关的条目并填写意见。作为项目经理的你,可以实时浏览大家填写的情况,并及时给出意见。两个小时之后,你就会 得到一份漂亮的文档反馈给用户。

商业机会
我在群里讨论的时候提到:在一件事情还没有众所周知之前,先知先觉者可以从中寻找一些机会。 那么在“协作”还没有变得如火如荼之前,我们是不是可以寻找到一些机会呢?

答案是肯定的。
我们可以很容易的预见种种需求,其实我们每个人都希望在工作中与别人更好的配合,减少内耗和重复工作量。小到同事之间共同编写一份文档,共同调试一段代 码;再到开发团队远程帮助实施人员解决问题,分布在各地的团队之间合作策划产品和设计;再到公司之间的协作与交流,远程为客户演示解决方案等等,都可以因 为协作的深入而受益。

具体到软件研发领域,如果有足够强大的协同工具,能够将音频、视频、电子白板等媒体手段集成起来,将共同文档编辑、共同代码编写等手段有机整合,使得面对面的交流不再必须,那么软件研发团队实现SOHO也就不是天方夜谭。
一旦软件研发团队实现SOHO,那么以研发为核心的公司将大大节省办公成本,这对资金紧张的初创企业有莫大的吸引力,而一向注重企业文化,提倡弹性工作制的的跨国公司,对这种创新的工作模式,说不定也会有不少拥趸。

何时万事备?哪日东风来?
实际上,2005年的时候,NetBeans就开始向开发工具中加入协作特性,允许多人共同开发代码,但必须基于一个Collaboration Server。这给实战带来了不少麻烦,也许正是这个原因导致NetBeans这一项本来非常有创造性的功能并没有得到广泛流传。

Eclipse在这一点上做的比较巧妙,ECF只是一个框架,第三方可以开发各种插件来兼容目前的各种IM协议,从而使得协同变得更加容易。一年前,国外 的牛人Mustafa K. Isik展示了一段基于ECF的远程协作视频(http://www.vimeo.com/1195398?pg=embed& sec=1195398)更是让无数开发人员为之惊叹。

眼下,IBM和GOOGLE又纷纷加入这个阵营,大力推动“协作”的概念,Jazz致力于将整个软件交付过程变得更加“协作”,而Wave则雄心勃勃的要将协作推向无处不在。

不过还不够,目前产业链还没有形成,参与的厂商还不够多,用户的认知程度还远远不够,网络带宽和硬件水平还需要进一步提升,这一切都制约着“协作”的普及和应用。

可预期的未来
不过这并不影响我们对未来充满憧憬。

在五年内,如果无线网络带宽得到充分释放,而手机终端的能力得到大副提升,我们不难见到拿着手机,一边陪夫人逛商场,一边协作调试代码或者主持设计评审会议的情形。

而再过十年,也许对脑电波的分析技术已经成熟,我们或许可以抛弃键盘鼠标,直接进行“意念编程”或者“意念会议”,从而进入真正的“深层协作”时代。

本文出自 “思考-jinxfei” 博客,请务必保留此出处

分享到:
评论

相关推荐

    面向对象软件开发_V2

    综上所述,面向对象软件开发是一种系统化的、面向未来的软件开发方法,它通过对象的封装、继承、多态等特性,实现了软件的高效开发和灵活扩展,成为现代软件工程的基石。掌握面向对象软件开发,对于提升软件质量和...

    面向微服务软件开发方法研究进展_吴化尧1

    面向微服务的软件开发方法是近年来软件工程领域的重要研究趋势,它源于面向服务架构(SOA)的概念,但更强调服务的小型化、独立性和可部署性。微服务架构允许软件系统由一组小型、自治的服务构成,每个服务专注于...

    论述面向对象程序设计的必然性以及未来形势

    对于大型项目而言,这有助于团队成员更好地理解和协作开发。 #### 未来程序设计方法的形势展望 随着技术的发展和应用场景的变化,面向对象程序设计也在不断进化和完善: **1. 泛型编程的兴起:** - 泛型编程允许...

    Midway面向未来的基于IoC的Web框架

    综上所述,Midway是一个面向未来的Web开发框架,它的IoC设计、TypeScript支持、装饰器语法、MVC架构以及中间件集成等特性,使得开发者能够构建出高效、可维护且易于扩展的全栈应用程序。无论是在小型项目还是大型...

    面向智能化软件开发的开源生态大数据.pdf

    总之,面向智能化软件开发的开源生态大数据研究旨在利用大数据的力量提升软件开发的效率和质量,同时通过智能化工具和方法推动开源生态的持续繁荣和发展。这一领域的探索对于软件行业的未来具有深远影响。

    面向服务的分布式Agent CGF协作集成系统设计.pdf

    本文为分布式CGF集成协作系统的开发提供了参考,特别是在考虑系统设计时如何融入SOA和Web服务技术,实现异构系统间的有效集成和协作。通过对现有系统架构的创新和Web服务技术的利用,系统不仅解决了异构性问题,而且...

    体系结构、面向构件的软件开发方法.pdf

    ### 体系结构、面向构件的软件开发方法 #### 摘要解读与核心知识点解析 本文探讨了一种基于体系结构的、面向构件的软件开发方法(ABC),旨在提供一种有效的系统性解决方案,以促进基于构件的软件复用。当前,基于...

    中国IT领导者积极面向云未来.pdf

    为了适应远程办公和协作的新常态,64%的中国企业加快或启动了相关项目,尤其是在制造业、工业、交通、物流和电信、媒体、娱乐、游戏等行业。此外,企业在灾难恢复、业务连续性、流程自动化和产品服务开发等领域也...

    面向对象软件开发实训资料-22-23-1-本科.zip

    这些内容旨在通过理论学习和实践操作,使学生能够熟练掌握面向对象软件开发的核心技术,并能灵活运用到实际项目中,为未来的职业生涯打下坚实基础。在学习过程中,不断实践、反思和改进,将有助于深化理解,提升编程...

    面向对象软件工程设计课题

    面向对象软件工程设计是软件开发领域的一个重要主题,它涵盖了从需求分析到软件实现的全过程。这个课题旨在让学生深入理解并掌握面向对象的思想体系、方法和技术,以及它们在实际项目中的应用。 首先,面向对象...

    面向对象课程设计

    面向对象课程设计是一门着重培养学生使用面向对象的方法学进行软件开发的实践课程。报告样本通常包含多个章节,详细介绍了从系统...这些知识和技能不仅对于课程学习至关重要,对于未来从事软件开发工作也是必不可少的。

    《面向对象分析与设计》教学大纲.doc

    《面向对象分析与设计》是一门...总之,《面向对象分析与设计》是一门综合性的课程,旨在帮助学生掌握软件开发的关键技能,理解面向对象方法的本质,并能够利用这些知识解决实际问题,为未来的职业生涯打下坚实的基础。

    面向对象的框架设计 new

    ### 面向对象的框架设计 #### 一、框架的概念与特点 框架是一种软件设计模式,它由一组相互协作的类构成,旨在为特定...未来随着软件工程的发展,面向对象框架将继续发挥重要作用,并不断进化以适应新技术的需求。

    面向对象分析与设计大纲

    面向对象分析与设计课程正是基于这样的思想,为学生提供了一个系统学习和掌握面向对象软件开发的平台。 课程的初步内容涵盖了面向对象技术的基础知识,这是构建后续复杂概念的基石。在绪论部分,学生将会被引导了解...

    解析 SpringBoot 工作量统计系统:面向未来工作管理生态的创新展望

    为确保开发工作能够顺利开展,最终选定 Eclipse 作为开发工具,搭配 Mysql 数据库工具,二者相互协作构建起稳定高效的开发环境,进而逐步实现工作量统计系统的各项功能。在该系统架构下,管理员承担着管理用户信息...

Global site tag (gtag.js) - Google Analytics