听得见炮声的软件开发

来源:互联网 发布:现代远程网络教育 编辑:程序博客网 时间:2024/04/30 02:17

 2009年是不平凡的一年,金融海啸肆虐不可避免地冲击着软件行业。面对经济危机下的挑战,以往的高额利润在缩水,以往的大手大脚的花费在缩减,以往的高薪激励在降低。在目前这种情况下,我们更加需要打造高效软件开发的团队,以便在经济危机里度过艰难的日子,取得以往的战果,开拓新的市场。

我们开发软件最基本的目标,就是最大化地满足用户的需求。一切都是以用户为中心,一切都围绕着用户提高生产力而努力。就像GOOGLE公司一样的,任何用户提出的需求,都是可以接受,任何对用户有用的需求都是努力去满足的。在我们软件行业里,需求的来源一般有三种情况:一是来自用户;一是来自竞争对手;一是来自上级领导。在这三种的软件需求里,我们都会最大化地满足,但是时间是非常有限的,因此一定要有一个为中心,那么肯定就是以用户为中心,以用户的需求为最高优先级的需求。接着就是竞争对象的需求,最后才是上级领导的需求。

从华为任正非的讲话《要让听得见炮声的人来决策》来看,也是把用户的需求作为最高指令的,华为也是“从以技术为中心,向以客户为中心的转移过程中”。有一段讲话如下:

谁来呼唤炮火,应该让听得见炮声的人来决策。而现在我们恰好是反过来的。机关不了解前线,但拥有太多的权力与资源,为了控制运营的风险,自然而然的设置了许多流程控制点,而且不愿意授权。过多的流程控制点,会降低运行效率,增加运作成本,滋生了官僚主义及教条主义。当然,因内控需要而设置合理的流程控制点是必须的。去年公司提出将指挥所(执行及部分决策)放到听得到炮响的地方去,已经有了变化,计划预算开始以地区部、产品线为基础,已经迈出可喜的一步,但还不够。北非地区部给我们提供了一条思路,就是把决策权根据授权规则授给一线团队,后方起保障作用。这样我们的流程优化的方法就和过去不同了,流程梳理和优化要倒过来做,就是以需求确定目的,以目的驱使保证,一切为前线着想,就会共同努力地控制有效流程点的设置。从而精简不必要的流程,精简不必要的人员,提高运行效率,为生存下去打好基础。

  用一个形象的术语来描述,我们过去的组织和运作机制是“推”的机制,现在我们要将其逐步转换到“拉”的机制上去,或者说,是“推”、“拉”结合、以“拉”为主的机制。推的时候,是中央权威的强大发动机在推,一些无用的流程,不出功的岗位,是看不清的。拉的时候,看到那一根绳子不受力,就将它剪去,连在这根绳子上的部门及人员,一并减去,组织效率就会有较大的提高。我们进一步的改革,就是前端组织的技能要变成全能的,但并非意味着组织要去设各种功能的部门。基层作战单元在授权范围内,有权力直接呼唤炮火(指在项目管理上,依据IBM的顾问提供的条款、签约、价格三个授权文件,以毛利及现金流进行授权,在授权范围内直接指挥炮火,超越授权要按程序审批),当然炮火也是有成本的,谁呼唤了炮火,谁就要承担呼唤的责任和炮火的成本。后方变成系统支持力量,必须及时、有效地提供支持与服务,以及分析监控。公司机关不要轻言总部,机关不代表总部,更不代表公司,机关是后方,必须对前方支持与服务,不能颐气颇指。

面对众多用户的需求,我们需要打造第一支非常强大的团队,用来应对用户的软件需求,把所有用户的需求变成清晰文档,变成可理解、可执行、可测试的文档。

听得见炮声了,那就需地炮火支持。作为软件开发过程,就是不断地制造出更好的子弹,当然造出原子弹是最好的,但是那是需要机遇和时间的。一般软件开发的过程,就是不断地改进,不断试验。

系统架构师就需要把需求组的文档进行分析,把需求难度分级,把软件需求开发顺序制定,同进制订N个里程碑,每个里程碑有目标和时间限制。这样项目就基本制定好了,接着下来就需要把每个里程碑的任务分配到每周能完成的任务,一定要分配到每周可以完成的任务,如果一周不能完成的任务,就再细分。这样才便于考核和完成情况跟踪,还有利于控制任务的进度,以便调整不能完成的任务。

在每个开发任务里,都不能超过三个人一个团队。越小的团队,就越高效,就越能减少沟通成本,又可以相互讨论问题。如果人员过少,不利于交流,不利于相互竞争中前进,也就是缺少“鲶鱼效应”。鲶鱼效应来源于这样一个故事:挪威人爱吃沙丁鱼,不少渔民都以捕捞沙丁鱼为生。由于沙丁鱼只有活鱼才鲜嫩可口,所以渔民出海捞到的沙丁鱼,如果抵港时仍活着,卖价要比死鱼高出许多倍。一次偶然的机会,一个渔民误将一条鲶鱼掉进了装沙丁鱼的鱼舱里。当他回到岸边打开船舱时,惊奇的发现以前会死很多的沙丁鱼竟然都活蹦乱跳地活着。原来鲶鱼进入鱼舱后,四处游动,到处挑起摩擦。而沙丁鱼则因发现异已分子而自然紧张,四处逃窜,把整舱鱼扰得上下浮动,也使水面不断波动,从而氧气充分,这就保证了沙丁鱼被活着运到港口。

有了高效而小的开发团队,就需要不断地把需求变成产品,把产品不断完善,提供给用户使用。软件产品开发出来后,怎么样确保软件产品的质量呢?这是需要测试团队来确保软件的功能与需求是一致的。因此打造第三支团队,就是软件测试团队。测试团队需要两个开发人员就需一个测试人员的比例来保证测试的强度。把软件产品尽可能早地测试,开发组每开发一个模块都需要有可测试性,这样才可以提交给测试组测试。因此测试组的人员从软件编码开始,就需要了解需求,编写测试用例。测试组人员把测试所有BUG都填写到BUG的管理系统里,这样就可以不断提高产品的质量,不断地提高用户的满意度。

开发人员和测试人员应当永远记住杰克·韦尔奇的忠告:你要变成质量问题的疯子,否则质量问题将把你变成疯子。毒奶粉事件后,不仅国内奶企经历了滑铁卢,国内食品行业同样陷入“质量门”,这一影响甚至波及的不仅是食品行业,还让中国制造在国内外经受了巨大负面影响。所以软件行业的质量同样至关重要,不要把自己的软件产品变成“毒奶粉”。田文华作为企业家,成功于企业,也失败于企业,她的人生荣辱与企业息息相关,更进一步说,无论是作为企业还是个人,最终的荣辱都于只有一个原因——产品质量。可见,“产品质量是企业的生命线”这句平常的话不仅是口号,更是一种实践检验过的真知。如果企业和企业家不将产品质量当成生命,那么,质量问题就会将企业和企业送上绝路。田文华之走上被告席,三鹿集团之走向破产程序,都无不昭示着这一平凡真理的价值。那么,田文华当下的命运首先应当成为企业和企业家的一面镜子,她不仅应当成为牛根生们的一面镜子,还应当成为国内所有企业和企业家们的一面镜子,在这面镜子里清清楚楚地写着:企业和企业家要健康成长,一定要重视产品质量,质量问题开不得半点玩笑,产品质量就是企业和企业家的命运。软件企业的产品质量也是企业的生命线。

 

原创粉丝点击