如何才能让一个团队开发出高质量的软件; 如何进行质量管理?
第一个要做的事情是定义你的目标,也就是质量,什么样的质量是你想要的, 有一系列的KPI; 比如你要开发个质量高的浏览器,可以定义一下质量, a. 产品的特点:速度快,兼容现有的网页等等 b.收集用户反馈,要达到怎么样的满意度, c.市场占有率在几年之内要达到多少; 这个也是整个团队的Vision和Mission
当你定义了这些质量标准以后, 接下来就是4个P;
第一个P, People,其实人永远是最重要的,你要选择什么样的开发,产品经理,项目经理还有测试,因为最终所有的事情都是由人来完成的, 如何更好的motivate团队, 如何打造一个实力强大的团队, 如何让团队朝着一个方向努力,如何让团队有很好的行动力,解决问题的能力,以及执行力等等;
第二个P, Process, 流程, 其实流程是为了固化好的Engineering Practise, 当我们发现这样做的时候, Productivity最高,那么我们就约定俗成下来, 以后这样做; 而且形成了大家沟通的一种协议;整个团队的行动力就可以更高,所谓没有规矩不成方圆; 但是注意,不要让流程阻碍了你的人员的积极性;不要用一成不变的流程来约束你的团队,每隔一段时间看看哪些流程是否需要修改; 特别是在互联网时代, 更加强调敏捷以及快速的发布;那么就要去团队在流程和敏捷之间做个平衡;
第三个P, Product,团队中要有人对产品有很深刻的理解,我们的产品要实现哪些功能,哪些功能对用户来说是最重要的,哪些次之,哪些是可以忽略的,比如Chrome浏览器,速度很快,可是它也有缺点,比如说很耗内存,而且有内存泄漏,有些插件也偶尔会Crash,但是这些对用户的体验的影响不是很大(可以在后续慢慢解决),哪些功能应该先推出,哪些可以后推出等等,竞争对手是谁, 如何夺取竞争对手的市场份额, 卖点在哪里等等;
第四个P, Project, 项目管理, 多久Realease一次, 怎么release方法, release的标准是什么,你不能质量太差,因为太差用户的口碑就不好; 你不能太慢,因为太慢了,用户会投向别的产品的怀抱;需要用到什么样的工具,比如项目管理的工具,开发测试的工具, 所谓工欲善其事,必先利其器;
最后强调的还是人,只有选中合适的人,从选人,育人,用人,留人打造一个优秀的团队(好的team work),其他的才能变成可能。