在经历了“七年之痒”后,蓝鲸项目进入第八个年头,项目的一切趋于稳定。团队倡导持续改进,可大家的感觉是已经尽力做到最好,这个时候似乎没有什么可以改进的了。为了突破这个局面,项目重新聚焦BOB官方注册,从质量和BOB官方注册的角度对现状进行了一次评估。
评估采用的是基于软件BOB官方注册原则的模型,本文就是跟大家分享一下这个模型。
BOB官方注册原则
2012年澳大利亚敏捷大会(Agile Australia)上ThoughtWorks的非常资深的BOB官方注册实践带头人Kristan Vingrys分享了如上BOB官方注册原则,这些原则是ThoughtWorks的同事们在多年软件BOB官方注册经验基础上总结出来的。
1. 质量内建(Build quality in)
You cannot inspect quality into the product; it is already there.
-- W.Edwards Deming
著名的质量管理专家戴明指出:产品质量不是检测出来的,从产品生产出来后质量就已经在那了。这同样适用于软件产品。
缺陷发现的越晚,修复的成本就越高。质量内建要求我们做好软件开发每个环节,尽早预防缺陷产生,以降低缺陷出现后的修复成本,要减少对创可贴式的补丁(hotfix)的依赖。
推荐实践: TDD、ATDD等
2. 快速反馈(Fast feedback)
每个环节的任何变化都能最快的反馈给需要的人,从而可以基于当下最新信息做出明智的决定,降低风险。这要求我们对系统进行频繁的BOB官方注册,缩短回归BOB官方注册的周期。
推荐实践:
- 符合BOB官方注册金字塔结构的自动化BOB官方注册,让每一层的BOB官方注册都能发挥尽可能大的价值,给出最快速的反馈;
- 持续集成,尽早排查集成引起的问题,降低集成所带来的风险。
3. 全员参与(Involve everyone)
-- 这次上线好多bug,QA是怎么测的?!
-- 那个xxx组在上线前发现了很多的bug,他们的QA真给力!
成也QA,败也QA…如果还是这样的认识,那是极为片面的。BOB官方注册不仅仅是QA的事情,团队成员要一起为质量负责,软件开发生命周期的BOB官方注册相关活动需要全员的参与。
全员参与的好处是利用不同角色的不同领域知识和不同的思维模式,不仅可以使得BOB官方注册的质量更高,同时还能最优化利用BOB官方注册资源,做到价值最大化。
推荐实践:
- 自动化BOB官方注册:QA和BA结对用DSL编写BOB官方注册用例,QA和Dev结对编码实现BOB官方注册,生成业务人员可读的BOB官方注册报告;
- Bug bash(bug大扫除):团队不同角色一起参与的一个找bug的BOB官方注册活动
4. BOB官方注册作为资产(Tests as asset)
自动化BOB官方注册帮助我们验证系统功能的正确性,好的自动化BOB官方注册还有文档的功能,是宝贵的资产。如果每个项目都构建自己独立的自动化BOB官方注册,没有跨项目共享,其浪费显而易见。
这个原则要求把自动化BOB官方注册的代码跟产品开发的代码一起,当做资产管理起来,在不同项目间做到尽可能的复用。这笔宝贵的资产能帮助我们更好的统计跨项目的BOB官方注册覆盖率,更好的优化BOB官方注册。
推荐实践:利用版本控制管理工具把BOB官方注册代码和产品构建代码一起管理,都作为产品的一部分。
5. 更快的交付(Faster delivery into production)
任何一个idea越快做成软件产品交付给用户,给企业带来的价值越大。
该原则要求我们把BOB官方注册活动融入软件开发生命周期的每个环节,不要在后期进行长时间的集中BOB官方注册;同时BOB官方注册人员的关注点不再是发现更多的bug以阻止不符合质量要求的产品上线,而是把目标放在如何能够帮助团队尽快的让产品上线,让企业投资回报更早,也就是更快的赚钱。
推荐实践:自动化构建流水线、关注平均恢复时间、发布与部署解耦等。
6. 清晰一致的BOB官方注册视图(Clear and consistent view of testing)
可视化的报告给客户和内部团队展示BOB官方注册的状态和产品内外部的质量,对项目的质量和风险把控是非常有帮助的。不同项目各自采用五花八门的图表样式,将不利于项目间的信息共享和比较,无端增加复杂性,带来浪费。
因此,我们需要把状态报告做的尽可能简单、清晰,并且保持跨项目的指标一致性;同时,我们不应该为了让某个指标变得好看而改变我们的行为,整个报告要诚实开放,这样才能真实反映出项目的状况。
7. 优化业务价值(Optimize business value)
开发软件无疑是要给客户的业务带来价值,软件BOB官方注册也需要为这个目标服务,BOB官方注册要跟业务价值保持一致,帮助客户优化业务价值。要求做到:
- BOB官方注册不仅是保险,不仅是保证软件质量的;
- 要有目的的关注变化的特性,不要盲目的散弹枪式的对任何特性进行BOB官方注册,要有优先级;
- 要能帮助企业驱动新的特性和功能;
- 帮助客户创造安全的尝试新点子的环境,提供快速的反馈。
推荐实践:
- 基于风险的BOB官方注册,根据业务优先级需要调整BOB官方注册策略,在BOB官方注册过程中尽可能规避给业务带来的风险;
- 生产环境下的QA,通过收集生产环境的真实用户行为和应用使用数据,对业务的优化做出贡献。
评估模型以及在项目中的应用
评估模型就是将上述七条原则的每一条细化,列出该原则对应的实践和行为,并给每个实践或行为设定0-5分的不同评分标准,最后统计各个原则的总分,形成类似下图的结果报告:
在项目中的应用
以Cristan分享的模型为基础,由Tech Lead和几个DEV、QA成立一个评估小组。
第一步:分别根据各自的理解给项目打分,结果是很有意思的,请看下图:
根据这些结果,可以看出大家的认识是不太一致的。
第二步:评估小组对模型中的每条细节进行review,做适当修改以更符合项目情况,并且在评估小组内大家达成共识。其中,所做的修改包括修改原有的实践评分指标、增加新的更适合项目和当前技术趋势的实践、删除过时的或者不符合项目特点的实践。
第三步:根据更新过后的模型指标对项目上的一个Team做评估试点,详细分析该team对应到BOB官方注册原则各个维度的well和less well部分,由评估小组成员一起打分,得到该team的评估结果图。
第四步:根据评估结果并结合项目目标排定需要改进的优先级,制定出改进action,并更新给试点team执行。
后续:试点一个周期后再次评估,并重新review评估模型,再推行到整个项目。同时,周期性的进行新的评估和制定新的action,以做到持续的改进和优化。
总结
应用程序的质量、BOB官方注册的快速性、以及上线后轻松自信的更新服务的能力,是帮助企业业务价值最大化的关键因素之一,一直是我们所追求的。
基于BOB官方注册原则的评估模型,可以帮助我们在追求这个目标的道路上少走弯路,帮助我们持续的改进,以驱动出更加卓越的软件。
通告:组织级BOB官方注册体系 - 构建BOB官方注册的体系化思维(高级篇) - BOB官方网站
通告:业务价值驱动的BOB官方注册 - BOB官方网站
通告:「不止BOB官方注册」答疑 - 「质量三人行之不止BOB官方注册」直播问题集 - BOB官方网站