蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(1)

 前言

Thinking in UML 系列文章是从2005年开始写的,至2008年终成《大象-Thinkin in UML》一书,江郎才尽矣,UML系列文章也该停下来了。一方面固然是因为《大象-Thinkin in UML》一书已经掏空了我关于UML和OO分析设计方面的积累,实在已经没有什么新鲜玩意儿值得一说了;另一方面,2005到2009已经发生了很多变化,我的关注点也有所转移,这次是敏捷。敏捷又一次让我开始思考起来,自以略有小成,似乎是时候说说我的想法了。

 

本系列文章是讲敏捷的,之所以继续套用"Thinking in XXX",主要是因为这一系列仍将延续由我之思考引起读者思考的风格。当然也有一点小小的私心,希望借助“Thinking in UML”的成功来吸引一下眼球。呵呵,毕竟花时间写了文章当然是希望越多人看到越好。

 

 

蜂巢的启示

在自然界中,大部分动物都是独居的,有一小部分维持着规模很小的群体社会,似乎跟人类社会相比简单得不值一提。然而,这里却有两个例外,一是蜂群,二是蚁群。从群体协作一致方面来看,人类社会是远远不及的,从来没有哪个人类社会可以象它们一样,庞大数量的个体可以进行着绝对一致的群体协作。实际上,蚂蚁本身也是从远古的蜂类进化而来的,一些蚂蚁至今还保留着一些蜂类的特点,比如到了交配季节一些蚂蚁会长出翅膀飞到空中。小时候我们叫它们飞蚂蚁,这时的它们跟黄蜂非常相似。所以,尽管有两个例外,我还是以蜂群作为引子来讲吧。

 

谈到敏捷,几个重要的特征就出现在我们面前:自我管理的团队,一致的价值观,自我驱动的个人,群体协作大于流程规范.....不论从哪个方面来看,蜂群都是最为优秀的敏捷团队!

 

一个蜂巢里,蜂王代表了唯一的价值观,然而它从不发号司令,试图指挥工蜂们;每一只工蜂都一丝不苟的遵循着这个价值观,忘我的鞠躬尽瘁的为同一个目标而工作,从来不需要命令也不需要任务分配;蜜蜂的社会结构和分工相当简单和扁平化,蜂王,雄蜂,工蜂,幼蜂,再无其它,然而这个社会却协调高效的创造出精美的蜂巢,从来没有哪只工蜂说OK,我是负责采蜜的,建蜂房is not my business;蜜蜂们自觉的在需要的时候转换它们的角色,侦察蜜源,采蜜,喂食幼蜂,建蜂房,保卫蜂巢...从来没有谁为它们规定角色和分工,蜜蜂们自我管理,每一类工作都有最适当的蜂力投入;蜜蜂们在需要的时候做需要做的事,从来不拘泥于条条框框,当蜂巢遇到威胁时,不论是在采蜜的蜂还是在建蜂房的蜂,都及时投入到保卫战斗中来,没有谁会要求走一个process!

 

够了,不需要再说了!相比于蜂群,我们的开发团队真的应该汗颜。你汗颜了么?我汗颜了。以前,为了让团队成员能够彼此合作,规定了无数的角色分工,制定了无数的规章制度;现在,我们又转向了敏捷方法。然而敏捷到底是什么?我们到底需要怎样的软件过程?从蜂巢中,我们不能得到一些启示么?

 

后一篇:

 

蜂巢 - Thinking in Agile - 我们需要怎样的软件过程(2)

 

 

转载请注明原始出处 http://blog.csdn.net/coffeewoo/ ,谢谢合作!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 24
    评论
. 软件介绍..蜂巢平台(OpenComb Platform)是一个基于 PHP5.3 实现的深度云计算应用框架。蜂巢采用了扩展模式,系统中的功能和特性,都由扩展提供。 因此,用户可以通过开发和安装扩展来部署各种类型的互联网应用。 “扩展驱动模式” 许多软件都提供了插件机制,允许加载由第三方开发的插件,对主程序的功能起到补充作用。 但是在插件模式中,相比起主程序,第三方插件仅仅扮演着“二等公民”的角色,只能对主程序起到有限的影响和作用。 而在蜂巢的“扩展驱动模式”下,扩展才是真正的主角,系统的所有功能都是由扩展提供的。 并且,一个扩展可以增强另一个扩展,而不只是孤立地提供功能。因此,您的所有需求,都可以由一系列扩展的组合来达成。 【网页自由布局】 “视图”就是网页里的显示区块,蜂巢允许你以拖拽的方式,自由布置网页上的视图。 同时,蜂巢还允许你将任何一个网页中的视图合并到另一个网页中显示。 【“拒绝修改源代码”】 改变系统的行为,不应该通过“篡改”源代码来实现,那样会导致系统或扩展无法平滑升级。 蜂巢提供了多项特别的技术(类如:OOD/AOP、模版编织、可覆盖的类/包以及资源文件等等),来确保对扩展的增强可以避开修改源文件,无论是系统还是扩展都可以平滑升级。 【面向二次开发】 您过去使用的系统,即使开放源代码,其功能的设计也是封闭的,基于这些系统进行二次开发,不但困难,而且常常会破坏系统的稳定和健壮。 能够允许第三方开发者来扩展和增强系统的功能,是我们在设计蜂巢的系统时首要考虑的目标。蜂巢无论是源代码还是系统设计,都是开放的。 【深度云计算】 蜂巢也是一个实现在软件层次上的云计算应用框架:基于蜂巢开发的不同应用,能够做为一个系统共同工作。 无论是财务软件、OA系统、客户关系管理、仓储/物流,还是在线商城、BBS/社区、CMS、Blog,以及您自己开发的应用, 如果您一开始就采用了蜂巢,那么将这些应用整合成一个统一的系统,就不再是一项招标工程,您自己在周五下午就可以搞定。 ---------------- 以下是开发人员感兴趣的内容: 【模版编织】 模版编织和AOP很像,但它是针对网页模版的。蜂巢没有采用流行的PHP网页模版引擎,而是设计了一个更高级的模版引擎:能够定位到模版中的任何一个元素,并在其上“织入”另一段模版代码。 当你需要开发一个新扩展来增强某个扩展时,模版编织是一项非常有用的技术。 【面向方面编程(AOP)】 蜂巢实现了PHP语言的AOP方案,允许你在系统中定义执行点,并在执行点上“切入”一些新的代码,从而改变或禁用系统已有的行为。 AOP是蜂巢扩展和扩展直接主要的增强方案之一。 【BEAN/POD 对象构建】 BEAN/POD 对象构建是一种通过PHP数组(array)来配置对象内部属性的接口,它的目标是简化 OOP中的对象创建过程。 Controller/View/Model/Widget/Verifier 等等业务逻辑中常用的对象,都可以通过一个 bean config 规范的数组(array)来创建,这使得在蜂巢中开发很像某些 js 框架的习惯。 【二次发布】 蜂巢采用了开放的授权协议,而且还提供了一些用于打包扩展和制作发行版本的工具,您可以基于蜂巢开发属于您自己的成品,并以您自己的名称和Logo重新发布。 【“代码即知识”】 蜂巢提供了一个文档编译引擎,用于分析源代码并生成对应 API文档、WIKI,以及例子。 这使得蜂巢的开发文档、例子的编写工作变的轻松了。文档的时效性也更强——它们都是从当前版本的源代码中编译出来的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值