引言:小型技术团队,10人团队,4名phper后端工程师,2名设计师,1名前端,ios/android各一名,移动端主管1名,目前主要的工作内容是在维护项目,版本迭代,app 升级。
质量管理蓬勃发展于大工业时代,在美国,日本,德国大力推动下,给我们消费者带来了无数的优秀的产品和服务,同时也创建了责任分明的企业质量文化,今天的主题就是软件质量,软件的主要生产过程主要还是人,有人参与的地方,就会出错,在软件开发中,有些公司严重依赖测试部门的同学,导致开发人员出错率比较高,以前团队中我也遇到过这种问题,工作中自检能力下降,很明显的边界错误,不在考虑,等待测试人员反馈。我想说的是软件质量不能太依赖测试部,软件的质量是靠团队来保障。
开发中的责任程度区分:
1、需求开发人员的质量责任最大,编程开发人员的质量责任最小。这个观点可能会被许多人反对。原因有两点:一是上游的工作对下游工作影响性大,所以上游的工作责任也就应该大。这里只是举了需求和编程开发人员的例子,在实际工作中,程序员严重依赖前端的工作,前端依赖UI设计的工作,这可以是一个三角的关系,也可以是单线关系,三角关系就是以程序为主导,负责所属模块功能,需要监督和规范UI设计和前端的工作,出现了软件质量问题,程序担责比例较大,前端和UI设计担责比例事情况来定。单线关系中,下一级工作依赖上一级工作,责任是递减的,UI设计工作不到位,比如图片有错别字,效果图误差高,这种情况UI设计担责比例最高。实际项目中 UI设计扣三分,前端扣二分,程序扣1分。如果项目更严格的话,UI的设计效果图,在前端出页面后,两人需要确认,方可转移到到下一阶段,同样程序的工作结束之后,也需要ui,前端来确认,来确保质量问题。
2、单纯程序功能上的实现,需要保证每一个功能程序代码有至少2人以上的阅读和逻辑分析,出现问题,担责比例递减,有人可能比较反对这样来做,我的理解是,一是能保证团队成员一人离职或者请假,还有人熟悉他所写过的功能模块,二是相互阅读他人的代码,对比自己的代码,结果就是团队风格越来越保持一致。
3、app开发中的问题就不在叙述了,以后有时间会单独整理。
4、有些管理者认为,软件质量出错了,一定是流程不合理或者制度不对,流程执行不到位,首先要了解流程的目标,流程只是软件管理的一个工具,管理目标是否可以通过流程能够达成或者优化?一但走流程势必会增加工作内容,增加管理成本,流程需要人去检查,需要人去维护,需要人去优化,流程需要长时间的改进和沉淀才能稳定,而不是永远不变,外部客户环境和内部团队环境都会影响到流程的执行效率,不同的项目性质应该采取不同的管理方式,流程可轻可重,亦可全流程或针对某一个过程进行流程化管理,小型、业务变更快的项目不适合全流程,这样的周期会很长,并且需要配置的资源比求较高,如果是项目要求稳定性高,精确度高复杂项目,可以走全流程,以确保项目从需求到运维的全生命周期可控。
以上就是我的在工作的一点点感悟,团队规模比较小,更深的道理目前也无法领悟。最后一个软件是由不同功能的集合,假如每个功能的第一任责任人,能做好自检,自测,控制好自己的产品质量,现实中,由于团队人员的自身职能素质是不能做到的,就需要项目管理者,根据部门实际情况来定。
原文章写于2014年,2021.6重编。