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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhouzxi/article/details/52331701

在很多电影或电视剧中,大家经常会看到一种代表权利与威望的东西—鼎。古语曰“问鼎中原”,可见鼎在当时人们心中地位之高。下面是一张来源于互联网的鼎的图片。
这里写图片描述
不知大家注意到没有,鼎有三只“脚”。大家在几何课上学过,在所有的平面图形中三角形最稳定。看来古人也深知这个道理,做出了有三只“脚”的摆放稳定的鼎。当鼎的任意一只“脚”被去掉时,整个鼎必然会轰然倒下的。也就是说,“三足鼎立”是最稳定的。

在软件开发活动中,可以把鼎比作是一个软件产品,要保持产品的稳定,就需要有三只牢固的“脚”来支撑它。那么,这三只“脚”是什么呢?作为一个软件开发人员,我认为需求、开发和测试就是支撑产品的三只“脚”。
这里写图片描述
需求是需求工程师(有的地方也叫系统工程师)写出来的,它就是一个软件产品的文字实现,以文档的形式描述了产品所要实现的功能。当需求写出来并经过评审之后,就要由开发人员用程序来实现。

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

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

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

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

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

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

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


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

展开阅读全文

三足鼎立

09-30

Problem Descriptionn  “纷纷世事无穷尽,天数茫茫不可逃。鼎足三分已成梦,后人凭吊空牢骚。”nn  三国的各种传奇故事被千百年传诵,为人们津津乐道。魏、蜀、吴三个势力相互制约,同时也相互利用,“三”的神奇和精妙尽在其中。于是,这个问题也是关于“三”的。nn  在一个N * M的地图上,两个点(x1, y1)和(x2, y2)之间的距离被定义成曼哈顿距离,魏、蜀、吴三个势力要在这个地图上分别选择自己的据点。由于地图上某些点已经被其他势力占据,为了避免不必要的冲突,他们希望自己的据点与其他被占据的点都可以保持一定的距离,包括他们三个势力据点的相互距离,也要满足约束。nn  现在,三个势力不可思议的开了一次首脑峰会,商谈据点的安排问题。你,作为一个像鲁肃大师一样爱好和平的外交家,要给出最大的限制距离,使得至少有一种安排方案满足条件。n nnInputn输入第一行为T,表示有T组测试数据。n每组数据以两个整数N和M开始,表示地图的规模。接下来的N行,每一行包含一个长度为M的字符串,表示地图,‘.’表示空地,’F’表示这里已被其他势力占据。地图至少有三个空格以供选择。nn[Technical Specification]n1. 1 <= T <= 74n2. 1 <= N, M <= 74n nnOutputn对每组数据,先输出为第几组数据,然后输出最大限制距离。n nnSample Inputn2n4 4nF...n....n....n....n4 4nF..Fn....n....nF..Fn nnSample OutputnCase 1: 3nCase 2: 1 问答

没有更多推荐了,返回首页