需求、开发和测试的“三足鼎立”

在很多电影或电视剧中,大家经常会看到一种代表权利与威望的东西—鼎。古语曰“问鼎中原”,可见鼎在当时人们心中地位之高。下面是一张来源于互联网的鼎的图片。

不知大家注意到没有,鼎有三只“脚”。大家在几何课上学过,在所有的平面图形中三角形最稳定。看来古人也深知这个道理,做出了有三只“脚”的摆放稳定的鼎。当鼎的任意一只“脚”被去掉时,整个鼎必然会轰然倒下的。也就是说,“三足鼎立”是最稳定的。

在软件开发活动中,可以把鼎比作是一个软件产品,要保持产品的稳定,就需要有三只牢固的“脚”来支撑它。那么,这三只“脚”是什么呢?作为一个软件开发人员,我认为需求、开发和测试就是支撑产品的三只“脚”。

需求是需求工程师(有的地方也叫系统工程师)写出来的,它就是一个软件产品的文字实现,以文档的形式描述了产品所要实现的功能。当需求写出来并经过评审之后,就要由开发人员用程序来实现。

开发是由被称之为程序员(也有的地方称之为“码农”)的人所组成的群体,他们的主要任务就是参照需求来编写程序以做出软件产品。他们每天的大多时间都以电脑为伴,办公室和机房就是他们的休息场所。

测试是由测试工程师所组成的群体,他们不直接开发产品,但是,他们要对开发出的产品进行各种验证来确保其没有大的问题。在产品提供给用户使用之前,都要首先经过测试这一关。从另一方面来说,测试工程师就是软件产品的第一批用户。

大家都知道,三国时期的魏蜀吴之间战火不断、勾心斗角的故事已成历史经典,而需求、开发和测试之间的“恩怨情仇”如果要写成故事,估计比《三国演义》还精彩。

需求可以比作“魏国”。在三国中,魏国占了“天时”。曹操“挟天子以令诸侯”让天下有识之士纷纷投靠。对应到软件开发上来,需求工程师与用户靠得很近,他们写的需求代表了用户的意见(虽然有时候并不准确),他们挟用户这个“天子”来给开发和测试“发号施令”。同时,需求工程师一般都是在一个公司里面工作年限较长的人,他们对行业、对产品的认识比新入行的人要深一些,这就像是曹操身边的那些谋士,几乎个个都是一流的。

测试可以比作“吴国”。在三国中,吴国占了“地利”。长江天险阻挡了侵犯者的步伐,江东富饶的物产是吴国后勤的有力保障。对应到软件开发上来,测试部门拥有众多的测试机器和测试环境,任何其他部门的人想要用这些机器和环境,都要经过测试工程师的批准。这些资源就像是吴国那些富庶的土地,让别人垂涎三尺。测试工程师几乎不会主动对开发产品提意见,他们就等着开发人员主动找上门来要测试的环境,这就像是吴国几乎很少主动出击而采用的是以守为主的战略。

开发可以比作“蜀国”。在三国中,蜀国最为“苦逼”,在经过重重磨难之后,终于在偏远的四川占得了一席之地。蜀国能够成功,靠的就是“人和”。刘关张三兄弟靠三个人三匹马起家,在最困难的时候都是一条心,这才走到了最后。对应到软件开发上来,开发工程师就像是苦命的兄弟,谁有了问题,都可以向身边的人请教,大家努力来将事情做好,这和刘关张三兄弟的经历是何等的相似。同时,除了自己办公用的电脑之外,开发部门很少拥有多余的资源,需要测试环境的时候就要向测试部门申请,这就像刘备为了生存向孙权借荆州一样,区别就是开发部借了的资源是要归还的。

需求、开发和测试虽然各自做着不同的事情,所关注的点不一样,有时还有可能会出现意见不统一,但大家都有一个共同的目标:将产品做好。也正是这个共同的目标让需求、开发和测试之间的合作大于对抗、理解大于分歧,也正是这个共同的目标让软件产品这个“鼎”的三只“脚”永远平稳和牢固。



本文同步发布在本人的微信公众号里面,欢迎扫描关注:

时间: 2024-10-23 02:36:41

需求、开发和测试的“三足鼎立”的相关文章

我眼中的开发和测试

在IT行业,开发和测试之间的关系一直是一个大家津津乐道的话题.在整个软件产品的生命周期中,开发和测试人员所做的工作分别对应不同的阶段,如图1所示. 图1 开发和测试人员的分工          工作内容 从图1可以看出,开发和测试大致是一个上下游的关系. 具体而言,开发人员主要做这几件事情: 第一,对软件需求说明书进行详细评审,弄清楚要开发一个什么样的软件. 第二,编写软件详细设计.单元测试和集成测试规程文档.软件详细设计文档是最重要的文档,在里面,要写清楚自己程序的流程.函数设计.异常保护考虑

我所理解开发和测试人员的关系

概述 开发和测试,起源本没有分家.社会精细化,分工出现,两者渐行渐远.开发人员,创造世界的人,在建造高楼大厦的时候,必会埋下隐患.测试人员,世界的验证者,以挑剔的眼光,审视眼前需要验证的对象. 代码是开发人员的产出:bug是测试人员的产出 人,被人盯住挑自己辛苦创造的东西的毛病时,如芒在背,总是不喜欢这样的感觉.      于是,开发和测试,逐渐对立起来.      人在分工后,思维方式也变得不同(测试应当是“证坏”非“证好”),所以,开发人员看待问题的角度和测试人员诸多时候不能合轨.     

敏捷开发下, 如何将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成 ?

产品开发中,时常会发生类似如图中 "削马铃薯"的悲剧. 悲剧的发生,往往是由于我们只传递了 "要作什么功能"给开发人员.却缺乏了一个有效的且轻量级的实践,能在正式进入迭代开发前,确认开发人员是否真有能力,能将 "使用者的需求"转化为 "可执行的代码"? "场景树" 便是一结合Use Case, Domain Driven Design, UML 的轻量级可视化的敏捷实践. 经由场景树,可确认开发人员,是否已

互联网产品上线前,做些什么——产品、开发、测试的视角

这阵子,经历了一个做产品以来速度最快的一个项目,太多第一次遇到的情况,从中秋节前到现在,除去校招出去的5天,一直都在赶项目.即使是校招,也是以项目为主题进行群面和创意PK. 每天早上9点多到公司,晚上12点后收工,甚至有到凌晨4点才下班,早上7点多起床,中午还不休息. 赶项目的节奏,大抵如此吧.这不是一种健康的状态,会逐步调整过来. 先说一点特别重要的事情: 无论进度多赶的项目,发布前,请一定内测. 无论进度多赶的项目,发布前,请一定内测. 无论进度多赶的项目,发布前,请一定内测. 这段时间,真

从产品、开发、测试论恋爱的不同阶段

1.产品的角度: 当两个人在一起本身就是一个错误时候,说明两个人在恋爱之前没有互相了解对方:没有互相做需求调研导致双方身心疲惫,心灵受到伤害.同时就涉及到需求变更(需求变更流程复杂),需求变更会导致感情受到伤害的两个人疲于应付感情,把自己的感情世界包裹的很严. 注:需求变更适合花心大萝卜. 2.开发的角度: 在恋爱的过程中发现问题,说明前期做过需求调研但不充分.既然在一起了双方就要学会包容和理解,如果遇到实在不可调和的矛盾,那就要采用程序员的思维: A:开发自测,试用场景:双方知道感情问题原因的

到底该不该从开发转测试

到底该不该从开发转测试,我相信很多的人跟我有同样的困惑.那么自己到底合不合适呢?到底该如何选择呢? 我从一下几个方面来分析: 第一点:开发和测试你到底喜欢干什么?也许很多人说,这是一句废话.要是喜欢开发我还考虑转测试干什么,那就直接干开发得了.其实我说的喜欢并非浅层次的喜欢,而是一种由心的判断.其实很多人觉得开发难,测试易所以就喜欢测试不喜欢开发.这只是一种表面的喜欢,而你带着这种喜欢去选择测试我估计你也做不了太远.其实做测试的人要走的远,必须要不仅喜欢开发还要热爱测试.否则,你还不如做开发.

为什么开发与测试老掐架呢

让我们思考几个常见的问题: 软件测试的目的是什么? 开发人员能否构建出没有Bug的完美软件? 测人人员和开发人员是什么关系? 软件测试能否保证软件质量? 先闭目冥想五分钟吧,然后可以尝试着回答上面的问题. 计算机先驱 Maurice Wikes 回忆起 1949 年他在英国剑桥工作的情形,在拖着打孔纸带上楼给雏形计算机 EDASC 装载程序时,他看到了自己的未来: 我强烈的意识到,生命中剩下的好日子,都将耗费在给自己的程序找错误上头. Maurice Wikes告诉我们,没有完美的软件. 我在我

面向 Java 开发与测试人员的远程执行 Linux/UNIX 系统上任务的框架 -- sshxcu

软件开发与测试人员常常会在远程 Linux/UNIX 系统上执行命令或脚本,有时还会有批量执行任务的需求.常见的办法是通过本地工具(例如 Putty)连接远程计算机,输入命令执行,但是当遇到需要集成这些任务到代码或者开发.测试框架中时,往往就没有很好的解决方案了.sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用 Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能.sshxcute

极光推送CEO王小导:所有开发和测试都应必备Testin云测试服务

极光推送CEO王小导:所有开发和测试都应必备Testin云测试服务 2014/09/29 · Testin · 开发者访谈 极光推送是一个聚集了来自前腾讯,华为,新浪及等技术专家的创业团队,2010底发现移动应用消息推送服务的市场空白,推出了极光推送(JPush),成为国内最早的第三方移动消息推送服务提供商,让开发者能够在线的移动客户保持紧密联系.提升移动用户留存率和活跃度.从而提高移动用户的生命周期价值. 极光推送平台从上线至,已为超过30000家移动开发商.超过70000款APP提供送达移动