根据记载,魏文王曾求教于名医扁鹊:“你们家兄弟三人,都精于医术,谁是医术最好的呢?”扁鹊:“长兄最好,中兄次之,我最差。” 魏王不解地说:“那么为什么你最出名呢?”
扁鹊解释说:“大哥治病,是在病情发作之前,那时候病人自己还不觉得有病,但大哥就下药铲除了病根,使他的医术难以被人认可,所以没有名气,只是在我们家中被推崇备至。我的二哥治病,是在病初起之时,症状尚不十分明显,病人也没有觉得痛苦,二哥就能药到病除,使乡里人都认为二哥只是治小病很灵。我治病,都是在病情十分严重之时,病人痛苦万分,病人家属心急如焚。此时,他们看到我在经脉上穿刺,用针放血,或在患处敷以毒药以毒攻毒,或动大手术直指病灶,使重病人病情得到缓解或很快治愈,所以我名闻天下。”魏王大悟。
事后控制不如事中控制,事中控制不如事前控制,防病治病于未发、始发之时,待苗头尚在萌芽或刚刚崭露,便毫不留情斩草除根,效果最佳,否则,及至东窗事发后方动手术、下猛药惩戒、挽救,尽管对他人是一种最好的警戒,但对一些滑到深渊的个人来说,追悔方已迟矣。这个道理用在任何一个行业任何一件事情上都很适宜。
放在软件工程领域同样如此,而且随着项目的推进,越是往后,修复一个bug的成本呈指数倍的上涨,有数据表明在项目发布后发现和修复Bug的成本是需求和设计阶段所需的一百倍!来自网上的一张图足以支持这一论点:
只不过它缺少了前期需求调研及评审阶段,而这一阶段却是所有工作的第一步,它的成功与否决定了后面所有的劳动是否有意义。所以这一阶段调研需求和需求评审可想而知其重要性,那么对于需求漏洞和需求缺陷如果发生了,也可想而知如要修复所带来的成本有多么大。最关键一点就是如果市面上又不止这一款产品,那么用户是有选择余地的,如果用户被竞争对手抢走,重新召回用户是多么困难,而且如果错过了关键的时间点,可能竞争对手早已把自己甩了不知多少条街了。
关于新时代软件测试人员如何提前介入项目,又如何有效的推进产品快速迭代同时又保证高质量,在接下来的几篇文章中说说我们所做的尝试和思考。