跳到主要内容

由于俄罗斯入侵乌克兰,我们已经暂停所有购买和培训进出俄罗斯。

质量vs生产力

最后一篇文章于2015年1月20日晚上10:21由Solomon Wang发表
11日回复
2014年12月20日03:36

嗨!

作为一名Scrum Master,我在我的Scrum团队中遇到了一些困难。我们的产品负责人是多年前编写基本代码的人。现在我们经常争论如何做出一些改变。

当前PO编写的旧代码很难维护-单个函数有时需要1000行代码。

有时候我们会有这样的对话:

PO:我想改变功能x。我知道向方法y中添加两行代码就足够了,1000行或1002行代码——这没有区别。

开发团队:不,我们需要重构这个方法才能使用它。我们需要添加单元测试,将其划分为类,删除重复项等等。这只需要一个冲刺就能完成。

PO:不,我不想让你这样做,我只是想让你添加两行代码,我可以在一个小时内完成!

开发团队:我们的估计很清楚:50个故事点(一个sprint)

你在跟我开玩笑吗??这是两行代码!

我能理解PO和DevTeam,但不知道最好的解决方案是什么:)


2014年12月23日晚上8点49分

你们国防部怎么说?它是否包括单元测试和重构?

你的团队沟通过为什么编写单元测试、重构以消除重复和鼓励代码重用很重要吗?

是否有一种方法可以衡量现有代码库中现有技术债务的成本,以及它对质量和速度的影响?


2014年12月24日上午8时09分

国防部还应反映更广泛组织的质量标准。如果团队只是按照PO的要求去做,他们会违反这些标准吗?


2014年12月26日上午06:50

是的,我们有国防部说,当单元测试通过并且所有需要的重构都完成时,故事就完成了。但是PO要求团队在这种情况下破例,“因为Scrum和DoD不是宗教,我只要求你们写几行代码”。我们完全同意所有新功能都必须由国防部负责。但这里PO说-这不是一个功能,这是一个错误修复(客户端的ip在系统日志中不能正确识别,因为另一个团队创建的代理),你应该修复它,我不会支付你想要的那么多。

我觉得作为一个scrum管理员,我应该反对这样的异常,但是这几行代码太重要了,我无法想象为它支付数千美元,我可以在一个小时内编写它,而不需要测试和重构:)所以就像我说的那样,我可以理解开发人员和PO:)

是否有一种方法可以衡量现有技术债务的成本?不,我想我没有这样的方法。你认为应该采取什么样的措施?


匿名
2014年12月28日上午08:17

Scrum master应该和PO谈谈,解释为什么1000行功能是个坏主意,如果它确实是个坏主意的话。如果PO认为它没有那么糟糕,也许你可以和他们一起工作,让它更小的增量,而不是一次大的重构。比起一次性完成50个要点,也许你可以将重构分解成更小的故事,每个故事包含几个要点,然后将它们包含在sprint中,在几个sprint中你应该完成这些工作。将一个1000行的函数拆分为100个10行的函数并为它们编写测试并不复杂,这是一个好的开始。下一个冲刺,让他们进入班级,下一个冲刺,等等,等等……你懂的。


2014年12月28日上午9点11分

派产品负责人参加PSPO培训。他为了短期的成功而牺牲了质量,显然他不理解产品负责人的角色。: -)


2014年12月29日凌晨03:52

如果采购订单不理解技术债和代码维护的原则,您应该找到一种方法让他了解并教他。

但如果他这样做了,并且按照他的方式做并没有违反国防部的规定,开发人员应该只添加两行代码就可以了。

开发人员经常忽略这样一个事实:商业软件产品存在的主要目的是产生收入。从业务角度来看,花400个工时和1万美元去做一件1小时就能完成的事情可能是不可接受的。

所以底线是:如果问题是PO和高级管理人员缺乏知识和教育,你应该教育他们。Scrum Master的力量在于熟练和狡猾的说服。

但如果他们了解自己政策的长期影响,并坚持按照自己的方式行事,那么,买单的企业永远拥有最后的决定权。如果开发者不喜欢它,他们就需要克服它,或者找另一家公司合作。虽然悲伤,但事实如此。


2014年12月30日上午07:19

你好,

一个解决方案可能是(?):
1.添加这两行代码。技术债务略有增加。这是你的订单必须知道的事实。您的客户应该看到在短时间内完成的小更改。
2.告诉采购订单技术债务必须减少。
3.计划必要的工作以减少技术债务。甚至在与其他任务并行的几个sprint中(?)

不方便:工作要做“两次”。
优点:客户同意,采购主管应该同意,开发团队应该理解,Scrum不会受到质疑。

问候,

马克斯


2015年1月13日12:49

你好,
我同意你的订单试图用质量换取时间。这是不可能的。
很久以前,他就提供了功能,因为他想要一个更快的功能。他没有考虑到400%的利率。
如果银行以这个利率给他钱,他永远不会把钱借给别人。
现在他负债累累。他提出的解决方案是在相同的利率下,借出更多的钱。
鉴于他的信用状况,银行再也不会借钱给他了。
这是一个罕见的情况,有一个简单的答案:开发人员是正确的,PO是错误的。SM可能永远不会让PO用质量换取时间。
唯一的例外是,如果这两条生产线能使公司免于破产。


2015年1月16日上午10:11

我认为我们需要找到这个争论的根本原因:

1.询问开发人员为什么要从性能、稳定性和可维护性的角度重新编写代码
2.如果我们添加这两行代码,将会改变什么(可能的技术债务的影响)

同时,你可以和他一起提醒PO的角色和职责,让开发团队在未来的技术决策中拥有自主权。

我的2美分


2015年1月20日02:45

采购专员可以说他想要什么,但他不能说开发团队是如何做到的。


2015年1月20日晚10:21

我同意蒂姆的观点。当我重新思考这个场景时,我问自己:这是团队制作的金盘吗?谁知道哪个更重要:技术债务还是上市时间?

所以,在匆忙做出决定之前,项目经理可能应该让更多的利益相关者参与进来,获得他们的反馈。


在我们的论坛上发帖,即表示您同意我们的使用条款。

请注意,您的Scrum.org会员资料中的姓和名将显示在您在论坛上发表的任何主题或评论旁边。出于隐私考虑,我们不允许您发布电子邮件地址。所有用户在我们论坛上提交的内容,如果被发现违反了我们的使用条款,可能会被删除。Scrum.org不认可用户提交的内容或任何第三方网站的链接内容。

使用条款

Scrum.org可以自行决定删除任何它认为不适合这些论坛的帖子。不合适的帖子内容包括但不限于:Scrum.org专业级评估问题和答案、亵渎、侮辱、种族主义或色情内容。使用我们的论坛作为营销和招揽产品或服务的平台也是被禁止的。论坛成员发布被Scrum.org认为不合适的内容可能会在任何时候被取消访问权限,不作警告。Scrum.org可以,但没有义务,监督提交的内容。

Baidu