开发者资讯

 首页 > 开发者资讯 > 编程开发 > 让老妈告诉你如何编程

让老妈告诉你如何编程

分享到:
【字体:
导读:
          在今天开发人员的周例会上,大家吵的不可开交,我们在讨论在敏捷开发中是否应该将故事点(story point——敏捷开发中的一种工作量单位)分配给修改bug和代码整理工作——将它们跟软件功能需求一样对待。我们使用的

在今天开发人员的周例会上,大家吵的不可开交,我们在讨论在敏捷开发中是否应该将“故事点(story point——敏捷开发中的一种工作量单位)”分配给修改bug和代码整理工作——将它们跟软件功能需求一样对待。我们使用的story类型都是 Pivotal Tracker系统里缺省指定的。概括起来,通常认为软件功能单位是一种能够给用户带来价值的“story”(所有你可以对它们使用这样的套话“做为一个用户,我想要的是…”),但bug和代码整理工作不属于这类(尽管它们有些是必须处理的,例如偿还技术债务)。

根据Pivotal Tracker系统里的设定,只有软件功能特征才配分配给”故事点“。团队的“成绩”依仗于在过去的3-4个迭代开发周期里完成的“故事点”的多少,所 以,如果你将大量的时间浪费在重构代码和修改bug上,你的“成绩”就会下滑。于是,经理会极力反对将“故事点”分配给代码整理和修改bug,因为“只有 把时间用在开发功能上,客户才会认可我们的努力工作”。

遇到这种情况,勾起了我对往事的一段回忆,那是我在童年时整理房屋的事情。如果你跟我小时候一样邋遢懒惰,你会像我一样将脏袜子、糖纸丢的满地都 是,几乎看不到地板。妈妈会反复唠叨说“每天记住把袜子丢进洗衣机,把糖纸丢进垃圾桶,这样你就永远不需要打扫房间。”但有时候,这些事情看起来需要太多 的努力,于是垃圾总是越积越多,直到无法忍受。

问题是,正确的保持室内整洁的方法给人太大的压力。于是,大家最终还是选择了将脏衣服不断的塞到衣橱里,用力的推衣橱门关上(用力,不然会塌落出来),这样屋里似乎整洁了。但事实上,脏乱依旧存在,尽管你看不见(不想看见)它。

修改Bug和整理代码的努力对于软件开发来说是同样的道理。敏捷开发中使用“故事点”的最大好处是,用给用户创造了多少价值来衡量一个程序员的生产 效率,这样正确的激励程序员的工作积极性。将“故事点”分配给bug修改?花一个月时间里重构代码中的数据库层?你的“成绩”的下降是指警告你某些事情有 问题。你需要思考,需要明白这是为什么,以及如何纠正。

也许是你的需求不完整,或根本就是错误的,你并没有开发客户真正想要的东西。也许你没有写出足够的单元测试和集成测试,所以在开发迭代中bug越来越多。也许你们的编码速度太快,没有充分的规划,所以你的架构设计无法接入新来的需求,需要频繁、大量的重构。

不管是哪种情况,如果必须把“故事点”分配给bug和代码整理,这是存在底层问题的一种反映,就像是整理房间一样。让“故事点”充分发挥它的作用,让它提示你在你们的开发过程中存在潜在的问题。但不要只理解我的话的表面意思,就像你妈妈如何告诉你整理房间的话一样。

Matt

[英文原文:Here's How Your Mom Would Want You to Develop Software ]

分享到:
免费的Bootstrap管理后台模板集合
1. Admin Lite AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3的框架。高度可定制的,易于使用。支持很多的屏幕分辨率适合从小型移动设备到大型台式机。 2. Dashboard Sidebar 这是一个管理后台模板,拥有控制面板或仪表板。这个模板有一个可折叠的工具栏菜单,并且有可以作为一个数据网格的表格。 3. DevO...
那些被吐槽最多的编程语言
正如任何一个程序员跟你说的那样,你在编程中有时会被气得咒骂它们几句。但是你知不知道C++程序员比PHP程序员会吐槽更多,下图是Github上对各种编程语言被吐槽的统计: 一个叫Andrew Vos的开发者在业余时间做一个项目的时候突然想到一个有趣的点子,他从Github中抓取了100万条评论信息,然后统计出里面有多少吐槽咒骂的...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……