注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

避免bug代代传  

2013-07-26 08:50:59|  分类: 专业 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       中小型公司,需要照顾的东西比较多,每天救火都来不及,谈什么迭代改进?特别是自力更生发展起来的公司,除了一堆需要维护的老产品,还有一堆将要开发的产品特性。怎么弄?整天都在救火, 研发人员疲于奔命。难有心情和时间去总结。这都致使问题从一个版本继承到下一个版本,bug代代传。
类似的项目做多了,也有一些小心得。总结如下:
1.通过合理的设计简化业务模型。我们曾经设计一个RTOS系统的项目,原来的设计中大大小小用到了几十个信号量。通过深入的理解项目的需求,重新优化设计,将信号量的个数降低到十个以内。大大降低了系统同步的复杂度,减小了出错的可能性。 另外一个方面,同步要求的降低,实际上是模块间耦合程度的降低,降低带来的直接好处,调试、开发难度都大大降低。 接下来的好处就是项目交付质量的提高。
2. 过程是工具、方法、技术和人的有机结合。这个结合过程的关键是人。人的素质和格局决定了很多东西。有朋友曾今对我说过,软件的质量是测出来的。我不这么认为,质量应该是一场人民战争。设想一下,程序员的写得质量很糟糕,一堆问题交付到QA,QA测试用例能覆盖到所有问题吗?就算是能覆盖,一堆问题打回给研发,研发再改,又是一堆问题。收敛速度慢,QA面对大量的问题和有限的开发时间。只能是挑选主要的测试用例进行测试。 这么一来,怎么保证最终的质量?况且 QA的测试用例本身也有一个发展的过程,不可能测试到所有的问题。所以发动人民战争,群众的眼睛是雪亮的。
从需求开始,提高每个环节的人员素质。集思广益,不要把问题抛给QA,给兄弟部队减少负担。提高整个团队的战斗力。
3.项目要想缩短时间,就是要合理利用资源。很多企业里资源无法复用,效率较低。可以从一些核心的资源开始做起,如建立统一的业务平台。如应用RTOS的公司,一套RTOS肯定是不够的,产品高端的要用好的系统,低端的可能要用低端的系统。代码可能要维持两套。可以通过构建一套兼容库,或者中心库,完成对两个系统的兼容。中心库慢慢添加,以可靠,通用为前提,慢慢添加自己的业务模型,抽象出标准的业务模型,严格的测试。可以大幅度缩短项目的交付周期。统一的研发流程,统一的开发方法都能规避下个项目中可能出现的风险。
不一定一下子就上CMMI,敏捷。CMMi本身只是一个流程的指导,并不牵涉到具体细节的操作。并且在实践中,由于对cmmi的不熟悉和曲解,造成本浪费,成效甚微。可以从CMMI抽出一些好的方法,逐步去实践,以稳为主,慢慢地迭代改善。
无意中看到了一段话:“技术只是一种实现方法,特意强调某种技术,乃至于为了某种技术辩护的人其实是虚伪的……”。这段话我读过后,在心中不断的发酵。非常有感触。
一个技术人从自身出发,很容易追求自我实现。很多时候, 实现自己往往要证明自己的存在,自己的存在往往用独一无二,别人不能替代来证明。这一指导思想下,很容易在技术上,采用一些自己熟悉而别人不熟悉的。采用难的而不采用简单的。总之能证明自己就好。私下里聊天,说起谁谁,先肯定其他方面,然后否定专业能力,说其与自己的差距很大云云。又或者肯定专业方面的差距,其他方面说得一文不值。
其实技术只是一种知识,经验的高度抽象总结。生活经验告诉我,智慧、知识、能力是不能划等号的。
在企业中,其实更需要的是从大局出发, 从全局的角度,从项目的角度,从人的角度选择最合适的方法。 这个方法有可能是简单的,成本低廉的。但提出的思路和大局观确是不俗的。东边日出西边雨。不要以为失去了技术,就失去了一切。真想用牛的技术,可以在开源世界一展抱负。
  评论这张
 
阅读(326)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016