2009-01-11 54 views
5

我为少于10名程序员的小型软件公司工作。我们的软件安装在全球数十个地方。我们的代码量很大,主要是由于糟糕的设计和大量的代码重复(IMO)。我们有大约30个不同的项目,每个项目总共约600 KLOC,其中约200 KLOC是我们自己的自主开发的代码。当我在2006年到达那里时,这个代码甚至没有受到版本控制。我设法说服力量是重要的,现在我们使用代码控制系统(cs-rcs,不是我的选择,但它比没什么好)和一个错误跟踪系统。最大的缺失是过程中完全缺乏质量保证。我们的发布过程在纸上并不存在,实际上它包含“点击ctrl-F9,将二进制文件复制到客户端,声明问题已修复”。如何说服管理层QA重要?

任何人都可以向我指出一些官方文件或PHB语言文件或文章,可以解释在这个过程中公然的疯狂吗?我确信老板可以聘请一些顾问来告诉他,然后他可能会相信。但我只是软件工程学士学位的低维护者。而我的种族也不帮助我。这种情况下使用的最好的弹药是什么?

+0

你不是在开玩笑吧?如何在没有版本控制的情况下工作,或者在如此庞大的代码库上进行适当的发布过程。我没有解决这个问题的办法,我认为现在它已经无法修复了。 – Naveen 2009-01-11 07:47:57

+0

我还没准备好投入毛巾。我不是公司类型,我喜欢成为大鱼。正如我所说,我已经在RCS下获得了大部分。我还把数百(数千?)小时放到了整件事上,我不想让它失败。 – 2009-01-11 08:28:50

+0

我终于说服老板雇用一名兼职QA分析师。真的,我不得不说服他的是开发者无法测试他们自己的工作。它是一种利益冲突。其次,他感到恼火,因为有几个项目过期了,并且由于错误而无法发布。 – 2009-01-31 16:00:09

回答

3

在重言式上,说服他们的唯一方法就是把他们放在令人信服的东西前面。这件事可能会从名单中挑选,如:

  • 的预言昂贵的灾难,提示通过先前提出的解决方案
  • 的 unforetold灾难与 现成永不再解决方案的
  • 灾难
  • A的 精辟说服力的预言 出色 说服力的呼吁贪婪(节省 一个预言 d的机会成本isaster)

或其他东西。在所有这些情况下,某人将不得不在某个时刻为您提出的质量保证解决方案提供案例,并且从外观上看,某人将不得不成为您。所以我会开始学习说服力。

How to Win Friends and Influence People最多应该花费你几块钱。 Getting To Yes也便宜。

你是如何得到源代码管理协议的?你可以继续削减开支,一次改善这个过程吗?

尝试使用谷歌搜索“change your organization”,看起来有一些有前途的链接。

最后,要记住,如果你不能改变你的组织,那么你应该改变你的组织。实际上总是有另一种选择。

0

也许如果你让一些程序员的同事支持你,管理层会更乐意倾听。你不需要成为一个天才就可以认识到一个巨大的,笨拙的代码库表明有很大的改进空间。

+0

尊重,这将永远不会工作。程序员和测试人员是天生的敌人。没有一个程序员会自愿让他们的“宠物”项目被一些最低工资QA朋克仔细检查。测试人员的工作是找到程序员的错误。 – 2009-01-11 08:32:12

+1

程序员和测试人员的天生敌人的态度是适得其反的。应该有健康的冲突,但不是敌意。真正的QA人(即了解域和软件的人)与测试人员之间存在巨大差异。良好的质量保证人员*不*为最低工资工作。他们与发展也有良好的关系。每一方都需要了解另一方,并知道他们在同一个团队中。在开发和质量保证方面,我从未遇到过群体之间的仇恨问题。 – ssakl 2009-06-04 22:02:36

4

在这种情况下,你最好的弹药是等待不可避免的灾难。一旦发生这种情况,让所有的鸭子连续制定计划,这将导致这场灾难再也不会发生,其中一项强调实施成本远低于灾难本身的成本。

如果首先不需要“它”,任何谈话都不会使PHB“得到它”。只有从那个苛刻的主人 - 现实中得到一个大耳光,才能最终说服他们。

哦,当你在这里,更新你的简历,并期待。倾向于说服人们需要质量保证的灾难与杀死公司的灾难非常相似。

0

如果管理层不认为QA是很重要的,这样的东西明显,“常识”到如此地步,任何外行人会同意的话,我不认为把一堆学术论文,或其他任何事情,对他们来说都会有所作为。

您唯一的希望可能是尝试整理一份能够节省成本的文档,但我怀疑这会对这种情况有所帮助。

1

管理是不会什么都不懂,但两件事情:(1)成本效益&(2)客户满意度。第二个很难量化,但第一个很容易。你可以花4万到6万美元购买一位体面的QA工程师,他可以进来并开始理解这个烂摊子,并开始制定一个计划。成本效益来自于确保更高级的技术工程师不必花费2个月的时间来追踪隐藏在10万行代码中的bug。

还有另外一种方法可以解决这个问题...您可以在我工作的地方做我们正在做的事情。开始为代码编写测试,如果测试通过,那么当您完成代码时,您就是金手指。测试通过后,您将进行测试,以确保您是否曾经破解过您将几乎立即知道的代码。如果你让其他程序员参与到这个行动中,那么至少所有的新代码都将在测试框架下开发。 Test driven development不仅使流程更快(在开始编码之前,您已经知道您想要的结果是什么),但它也有助于缩短您的需求。最重要的是,通过一点社交工程(与同伴一起工作),您可以逐渐改变发展文化,直到过程完成。

1

我可以推荐丰田方式。短版通常可以免费从丰田网站订购。管理层应该已经读过它,但显然他们没有。阅读它,消化它,让管理层阅读它。对于灵感,我可以真正推荐阅读Lessons from Toyota's Long Drive(这是非常值得的几美元得到PDF)。

0

我在一个部门工作,在这个部门里公共池在开发任务和测试之间轮换。这完成了两件事情:

  • 高技能,高效率的测试,谁在最坏的情况知道的代码试图做什么,以及如何谁知道轮到自己
  • 开发是未来做测试,或者谁刚刚返回了从测试。因此,测试不良代码的痛苦是众所周知的,正如测试良好代码的乐趣一样。

整个团队中最受尊敬的人是无情的测试人员,开发时会产生零缺陷的软件。