zoukankan      html  css  js  c++  java
  • 蜂巢 Thinking in Agile 我们需要怎样的软件过程(2)

    第一篇文章以蜂群作为引子,讲述了作为一个优秀的敏捷团队,蜜蜂们是如何工作的。得到了众多网友热情的回复,首先在此做谢!

    方法是靠不住的,人性才是永恒的

    到现在为止,所有的回复中还没有人反对蜂群是最优秀的敏捷团队这一观点。似乎我们可以简单的这样认为:所有人都认同蜂群是最优秀的敏捷团队,如果我们要组建一个敏捷的团队,我们就有必要从蜂群那里学习点什么。毕竟蜂群是一个活生生的成功样板呀!

    可是,我们可以简单的照搬蜂群模式么?Team Leader的作用就是代表一个唯一的价值观,从不向团队成员发号司令;不需要向团队成员分配工作任务,期待每个人都能鞠躬尽瘁;不需要为团队成员分配角色,让他们自己协调;不需要协调人力资源,让团队成员自己去做需要做的事。可以么?

    答案是显而易见的。许多网友敏锐的指出了问题所在:

    网友gonxi说:

    首先,他们一出生就有了自己的房子。其次,他们都只有一个女人 再着,他们没有那么多元化的文化差异, 他们没有那么多的物质和精神诱惑。

    网友sukaru说:

    相同的价值观是大前提 对于一个软件团队来说 这个大前提很困难 大部分人做他在做的东西不过是因为他所在的公司发工资给他

    网友xiaozhao0714说:

    有时候是人的性格决定的,很难说清,还是觉得最主要的原因是无知。

    网友huanok说:

    一个蜂巢里,蜂王代表了唯一的价值观,然而它从不发号司令,试图指挥工蜂们;每一只工蜂都一丝不苟的遵循着这个价值观,忘我的鞠躬尽瘁的为同一个目标而工作,从来不需要命令也不需要任务分配; 蜂王就好像封建社会的君王,而又有几个人能像工蜂一样不需要发号施令,就能绝对服从他们的首领呢?蜂们是为了共同的利益,就是让蜂群壮大繁衍,而在软件团队中又有几个人会为了团队的壮大发展不顾一切呢?这就是人和动物的不同,人总是自私的,想要让人的团队达到蜂群的效率,就一定要让所有人都觉得这样做对自己最有利。

    网友southwell说:

    蜂群毕竟是例外。工作多年,我觉得人类难以组建像蜂群那样的团队(但也有战斗单位等类似团队),主要原因还是利益诉求、个体差异等难以整合。简单和扁平化,提高效率,不仅仅是软件开发团队的目标。Google的模式为人向往,但国人也能如此组织起来么?我这几年带了几个徒弟,感觉到我们的教育模式带来很多问题,如习惯了被安排、喜欢PK成绩单...没有自己的职业追求,不想踏踏实实做实际的工作,何来自我驱动、自我管理呢?在浮躁中如何执着于自己的路,是很多人需要解决的问题。

    感谢这些网友说出了我想说的话。第一篇文章以蜂群做为引子就是为了引出今天的话题。从这些回复中我们可以清晰的看到阻碍我们不能够采用蜂群模式的原因究竟是什么。这些网友在说着同一个问题,人性。不是蜂群模式不好,不是蜂群不够成功,也不是我们不知道蜂群是怎样做的,我们只是非常清楚的认识到我们做不到。没有人反对蜂群是最优秀的敏捷团队,有着优秀的方法和模式,我们却不能也不敢采用。方法是靠不住的!不是好与不好的问题。只有人性才是永恒的。在人性面前,软件工程是无力的,软件方法是苍白的,甚至敏捷也只是虚张声势。蜂群模式的秘密在于蜂群模式符合蜂性,或者说蜂群的管理模式就是蜂性本身。蜜蜂们听从蜂性的召唤,自然而然建立了蜂群模式。蜂性是永恒的,蜂群模式千百万年来延续着蜂群的辉煌。

    而我们的软件方法呢?在敏捷之前,所有的软件方法都没有人性的位置。它们有意的回避人性的存在,在过程设计中故意的把人当成机器看待,希望通过对过程的管理来屏蔽人性的差异。这些软件方法声称过程是一切的保证,这里的一切当然包括人性,人性被过程保证了,当然也就不再捣乱了。然而转过身去不看它并不代表人性就不存在了。事实是从ISO到CMM,从RUP到敏捷,没有一个软件团队比蜂群做得更好。与蜂群相比,我们忽略了什么呢?

    我们忽略的就是我们对蜂群模式所疑虑的。其实,敏捷是第一个带着人性思考的方法。敏捷是一组原则,一种精神,一组世界观,一种价值论,一种社会结构和行为准则,偏偏不是一门可以照搬的管理技术。在这里,原则也好,精神也罢,世界观,价值论,所说的都是如何管理人性而不是如何管理文档和代码。但是,相当部分的组织却将敏捷当成可以复制的管理方法。各位看官,我们既然相信蜂群是最优秀的敏捷团队却又因为人性之不同于蜂性而清醒的认识到我们不能照搬蜂群的管理模式,那为何我们却相信Scrum,XP是优秀的敏捷方法而毫不怀疑我们能否做到它们所言之敏捷效果就坚定的实行之呢?难道是因为人性与蜂性之间的差别是截然不同的而人性与人性之间的差别是可以忽略不计的吗?

    方法是靠不住的!是因为首先有了敏捷的个人,组成了敏捷的团队,因而可以采用和创造敏捷的方法;而不是因为现成的敏捷的方法造就了敏捷的团队,因而塑造了敏捷的个人!冷冰冰的软件过程是不可能造就敏捷的团队的。要想敏捷起来,就要从人性开始。敏捷的精髓不在过程与模板,而在于人性管理。对蜂群模式有着疑虑的网友们,如果我们能够把人性管理得如同蜂性一样,你还会担心不能采用蜂群模式吗?当然人是不可能变成蜜蜂的,这里想说的道理是,团队精神、团队文化、团队价值观、团队社会结构和行为准则的建立和培养才是根本。如果把团队培养成蜂性,那自然有蜂群的敏捷,把团队培养成狼性,自然有狼群的敏捷。还记得亮剑里李云龙是怎么说的吗?一支部队的灵魂是由组建这支部队的创始者注入的,一旦这个文化形成,不论是否还是这个领导,也不论换了多少茬士兵,这支部队的灵魂一直都在。

    很抱歉,我的确在写技术文章,不是在写小说,我也不是文化人在讨论人性与文化。在0是0,1是1的计算机世界里,在实证主义的计算机科学里,人性似乎是不应该在这里讨论的。然而我认为这或许正是一切问题的根源。我即便不是第一个,也肯定是少数人把人性作为软件方法的前提来讨论的。然而,我说了那么多,一直在使用一个假设,那就是敏捷是好的,以前的方法是不好的,所以在往敏捷的方向努力。可万一这个前提错了呢?敏捷之前的管理方法借鉴于成熟的成功的工业管理方法,ISO,CMM,RUP都是。那为何这些方法在工业上能取得成功在软件上就举步维艰呢?提倡人性管理的敏捷真的是正确的吗?我们真的不能复制工业管理的成功吗?下一篇我将来讨论这些问题。在此之前,一如既往的希望网友们也随我一起就这些思考起来,多多回复。

    前一篇:

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

    后一篇:

    待续...

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

  • 相关阅读:
    Maven关于web.xml中Servlet和Servlet映射的问题
    intellij idea的Maven项目运行报程序包找不到的错误
    修改Maven项目默认JDK版本
    刷题15. 3Sum
    刷题11. Container With Most Water
    刷题10. Regular Expression Matching
    刷题5. Longest Palindromic Substring
    刷题4. Median of Two Sorted Arrays
    刷题3. Longest Substring Without Repeating Characters
    刷题2. Add Two Numbers
  • 原文地址:https://www.cnblogs.com/fengju/p/6173661.html
Copyright © 2011-2022 走看看