最近,我系的一位新主任进来,他表示希望我们成为“卓越中心”。我期望他是我的第一位上司,实际上他具有编程背景,所以对此会有一些描述。但是,它留在那儿。
正如我在过去几天对此所反映的那样,我对CoE的实际含义不抱任何印象,而不仅仅是在交付产品方面“有效”。以下是我正在努力解决的主要问题:
这仅仅是管理类型抛出的一个术语吗?
什么素质使一组软件开发人员和测试人员出色?
在这种情况下,您如何衡量卓越?
最近,我系的一位新主任进来,他表示希望我们成为“卓越中心”。我期望他是我的第一位上司,实际上他具有编程背景,所以对此会有一些描述。但是,它留在那儿。
正如我在过去几天对此所反映的那样,我对CoE的实际含义不抱任何印象,而不仅仅是在交付产品方面“有效”。以下是我正在努力解决的主要问题:
这仅仅是管理类型抛出的一个术语吗?
什么素质使一组软件开发人员和测试人员出色?
在这种情况下,您如何衡量卓越?
Answers:
是的,这只是管理类型所用的一个术语,但是如果您剥离管理语言,他的意思是,他希望一个部门被视为以他人期望并正在采取的方式使用和体现行业最佳实践以便提供人们喜欢的出色解决方案。
(这最后一点很重要-如果您实际上没有交付,那么其他所有功能都没关系,并且您的经理也不会很久)。
复杂性有两种主要方式:
1)他是否想要这样做,是因为他了解这是开发软件的正确方法,并且这就是您生产优质产品的方式,还是他想要它,因为他希望能够吹牛呢?
2)他会接受实施最佳实践带来的前期成本(时间,金钱,信誉和风险)吗?可以说“让我们变得敏捷”,这很好,但是他将自己的名声放在了行列上,即它将改善事情,并且将不得不花费大量时间将其出售给组织。收益几乎总是长期的,成本是短期的,这是很难的一点。归根结底,他真的很认真吗?
从外观上看,这取决于您在做什么,但是您需要根据开发和项目管理流程,所使用的工具,人员拥有的工具包等方面进行思考。 。Joel测试始终是一个不错的起点,尤其是我希望看到一个非常可靠的版本控制过程,一个非常好的错误跟踪和一个非常好的构建过程。
我还将研究敏捷方法是否适合您(尤其是SCRUM),自动测试可以在多大程度上帮助您(在没有发动宗教战争的情况下,人们对测试的复杂性胜过他们的好处的看法不尽相同。提供)您是否具有完成这项工作所需的工具和套件。通常,我建议您希望工具处于领先地位,而不是前沿。值得强调的是,这并不是要拥有玩具,而是要给团队中的每个人提供在尽可能多的工作时间内尽可能提高生产率的工具。最明显的例子就是劣质的PC-每天向开发人员支付每天五次构建它们的项目需要5分钟的时间,让开发人员观看光标真的很棒吗?
在卓越中心中可能会看到其他一些事情:我建议一个卓越软件中心可能有一个很好的培训计划-也许不是正规课程,但肯定是书本预算,学习时间,指导和培训。喜欢。
我建议它可能也在做(至少)少量的研发。所谓的“我”并不是指“蓝天白云”,而是给开发人员提供了尝试新事物,评估新工具和语言的空间,而没有持续交付给客户的压力。这就是您前进的方式,明年,次年保持良好状态等等。
您如何测量?啊,古老的问题。最终,即使不是不可能,也很难衡量软件开发,而衡量软件开发的卓越性也同样困难。
我唯一能真正建议我认为对许多公司广泛采用的有用方法是客户和员工满意度。这是一个间接的度量,但我的看法是,如果您不是很出色,那么您不太可能会获得很高的客户满意度和员工的满意度。
这是黄鼠狼词的问题; 他们听起来像是在说些什么……但实际上不是。
从上下文来看,这听起来像是您的公司在生产产品,而您的主管只是希望您的部门尽可能地高效。IME,这意味着他们打算执行以下一项或所有操作:
因此,直接回答您的问题:
回答您的第一个要点:
答案肯定是肯定的,这个词就像经验丰富的胡说八道的宾果游戏玩家一样。不过,这并不意味着该术语毫无意义。
让我们继续进行第2个操作:
取材于Wikipedia:卓越中心:该主题领域的正式任命和非正式接受的知识和经验体系。让我们忘记正式任命和非正式接受的知识,而将精力集中在知识和经验上。我认为知识是理论背景,最终经验是来自实际应用的东西。为了实现卓越,您同时需要两者。除了这些(非常明显的)素质之外,我认为第三项对于实现卓越是必不可少的:质疑自己,反思自己的工作并寻求改善方法的能力。您在学生时代学到的知识,但是您需要不断地努力,紧跟最新发展等。您所积累的经验就是经验,这几乎是不可避免的。从管理的角度来看,最棘手的部分是建立一种反思和自我完善的文化(祝您的老板好运;-)
至于问题3:
我认为你不能。我谈论的不仅仅是在这里使项目成功(这已经很难衡量,尤其是因为它倾向于宣布最烂的项目是成功的趋势,因为它在PowerPoint演示文稿中看起来更好)。真正的卓越来自团队中所有成员尽最大努力,改善自己,工具,过程等的态度。您最好的选择是找到一种方法来衡量某些预定义的持续改进过程的有效性
当我想到“卓越软件中心”时,想到的第一个人是Bob Martin叔叔。
马丁叔叔是被称为形式卓越的软件开发时间长的倡导者软件工匠。正如维基百科所描述的
软件工艺是一种软件开发方法,它强调软件开发人员本身的编码技能。这是软件开发人员对主流软件行业所感知的弊病的回应,包括将财务问题放在开发人员的责任之上。
在他解释什么是软件技巧时,请在以下播客中收听他的讲话:
另请查看《软件技巧宣言》,其中强调了精心制作的软件,增值,专业人士社区和生产性合作伙伴关系的重要性。
编辑:由于卓越的软件中心需要训练有素的程序员,因此您可能还需要查看以下资源: