敏捷的坏态度

标签: 态度 | 发表时间:2012-08-15 14:53 | 作者:
出处:http://www.iteye.com
然所有软件开发的专业人士都会对这篇文章感兴趣,但是经理、CIO以及软件架构师会对它最感兴趣。这个话题可能会引起许多争议,但我写这篇文章是为了让你了解在敏捷运动中看起来正在日益增长的问题。

你为什么在这?敏捷不需要经理。

以前听过这种说法吗? 想象一下,如果你听到开发人员认为你这个职位根本就不应该存在,你会感到多么震惊,就好像是你特意为自己搞出经理这么个职位似的。这个话最常应用在项目经理第一次与将要和他一起工作的开发团队碰面的时候。的确,最初的敏捷宣言绝对没有提到项目管理,并且后来的敏捷理论家更进一步,建议调整项目经理的角色变成更多是教练或者支持的角色。

然而,这个观点忽略了现实情况。

的确,小的、非集成的、从属开发项目中可能不需要任何类型的管理,只要你拥有有资质、有经验并且能干的团队就好。然而,越是大规模的项目,越是高度集成的从属项目,越是开发集中度低的项目越是需要一位项目经理去协调、沟通和把握这个整体目标。一个开发部分只占总预算百分之十的项目,可以允许由一位scrum专家来领导开发,但也要向项目经理汇报。

再者,开发团队几乎根本不知道或者根本不擅于管理预算。软件开发需要的时间量让开发团队没有时间顾及其它事情。这使得一些开发人员产生了小盲点,似乎他们开始认为:他们所做的一切就是这个项目,其他任何人都是多余的。

这里的坏态度是指认识不到其他角色和职业的价值,并且严格遵守哲学解释,而意识不到现实需要灵活变通。如果走向极端,在它的陈述中通过把这种观点延伸到所有条件下的一切管理的话,这种态度就几乎能被理解为就是工会主义或者新共产主义。显然,接受这样包含一切的、大规模的企业文化削减以及组织结构扁平化的个人是极端分子。虽然他是对周围环境发出的观点,但是如果他恰恰是这样一个人(一位领导)他的观点能够起作用并且会使开发团队和管理部门之间的关系变得更糟那么就会使项目完成的目标变成管理部门与工人之间的阶级斗争。

是团队运作这个项目,而非经理......我们将决定该完成什么。

这种观点通常是不再需要管理角色这种观念的产物。这种观点是违反事实的:许多决定需要公司中的众多元素一起合作,而不仅仅是开发团队......这也包括软件设计和架构。

在另外的例子中,有这种观念的开发人员恰恰没有意识到项目有其它方面。甚至更糟糕的是,在某些可察觉的故障发生之前,被一次不愉快经历伤得很重的开发者会觉得需要控制这个项目。

无论如何,敏捷变成了这样一种态度的前文和基础,这种态度提出开发团队之上的大多数(即使不是全部的)管理结构都没有用,应该立即剔除掉。依据我的经验,如果让这种态度生根的话,那么通常会导致无休止的重组架构会议、应付预算超支、没有真正结束日期以及因自己使命的幻想破灭而精神分裂的团队。

在敏捷中不存在到期日或者时间表。

我们这些深入了解资本预算和公司财务的人会知道这是多么愚蠢。然而,如果你读过Ken Schwaber写的关于Scrum的书,就会看到那里面谈到为了燃尽图而抛弃甘特图。事实上,燃尽图是一个干净利落的、经过深思熟虑的创新,但有些人却认为这就意味着交付没有时间表......即钱永远花不完。

这对我来说是一次痛苦的经历。 我见过一位能力很强且富有领袖魅力的领导人(我们都向他汇报)带领的团队,为了给客户产出项目管理工作产品,而放弃了基本的时间目标。 任何时间界限都没有了,这个团队到处倾斜。 职业精神极大衰减,或者可以说是荡然无存了。 那些想让产品获得成功的人丧失了动力和干劲。 客户变得不知所措,为什么如此多的重点强加到各种技术架构之上,而特性和产品变更需求却不知所踪? 燃尽图让他们更迷惑。 他们只想知道的是:这个产品什么时候才能完成? 而这个团队却只回复说:我们没有时间表。 我们会一直开发,直到我们做完为止。

当有人尝试着设定现实目标时,他们会因反对敏捷而立即被打倒。 当这个团队被告知他们的项目无可救药地超过预算时,他们的双眼充满了困惑和不解。 他们正在做的事情、时间以及最终的花费之间的联系已经消失在那些他们用白板记录的抽象设计样式中了。

现实是......不论是明确的或者模糊的,总是有一个到期日和交付时间表。如果这个开发项目的观念是它永远都不会完成,那么就没有人会把钱投给它。更现实的是,我发现甘特图在协调深度集成或者非敏捷团队与敏捷团队之间非开发方面还是非常有用的。

这种没有时间表态度的产生,主要是因为敏捷技术提出了这样的观念:项目应该继续添加新特性直至把钱花光。这是不切实际的,并且忽略了当开发团队连预算内最低限度的功能都没有完成时会发生什么,此时描述这样的要求毫无益处。这种态度不好的方面是用(敏捷)这种新技术来追踪团队进程、问责并且把这种新技术扭曲成不对交付负有责任的原因。

敏捷编码是自动文档化的。它不需要需求、架构图或者技术规范。

如果你是一位软件架构师或者技术经理,这种态度通常会让你眉头紧锁。这种轻微的、隐藏的攻击是想质疑你的角色、经验以及有人来协调那带来百分之七十八公司收益的两千八百万行软件程序的技术设计的必要性。

当然,提出这种想法的通常是出于无知。可能开发人员构建的两千行web应用近期需要非常少的源码外的再加工,但那是因为规模的关系。你知道,你的管理部门也知道,但是这种不好的敏捷态度取代了你的角色,却不是为了像Scrum那样领先于开发技术。大多数的软件系统需要少数人来监督方向、协调技术愿景,而需要成百上千人来创造。

依据我自己的经验,说来颇具讽刺意味,这种态度来自于那些想成为架构人员的开发者。 通过评论、与技术领导争辩以及介绍他的敏捷技术知识,他感觉领导应该更加尊重他,应该给他那个他梦寐以求的职位。 然而,领导却把他当作令人讨厌的麻烦制造者。 此外,因为他缺少介绍敏捷概念的经验,从而让那些资深的技术领导一想起任何敏捷的事情就会不舒服。

敏捷快速地拥抱变化;所有变化。

我对这一态度的经历来自于一位经理而非一位开发者。原来他把快速拥抱变化解读成了各种各样的变化......而不仅仅是原来敏捷缔造者设想的业务需求。所以,基础的、架构的变更成为了家常便饭,不同开源技术间的不断改换被视作好事,即便这意味着把这个团队带离他们(熟悉)的技术,以及月复一月地推迟项目交付。组织结构方面的实验以及把人们快速放入某个角色并又被快速地从这个角色中拿出也变成了快速拥抱变化。最终的结果就是混乱。

显然,接受来自于客户的变更很重要,但是如果对那些变更没有系统的管理,那么你就是自找麻烦。你需要保存所有需求、变更的轨迹,以及他们对项目交付的影响,以便把这些信息传递给客户。这对于做出有效的项目决策是必须的。如果你不那样做,客户会不切实际地认为,他们要求的东西都会包含到产品中我们都知道这会导致什么样的情况。

所以,这里的坏态度是不加管理的接受变更。对所有事情都绝对自由只能导致虚幻的希望和无法达到的期望。变更是好的,但极端的变更只能是混乱。

敏捷使用的是通才;我们测我们自己的软件。这里不需要测试组。

又是这样,这种观点在哲学解释上是准确的,但我在这个问题上的经验是,特别是大型的软件开发项目,你需要第二双眼睛来盯着开发人员干了什么,干得怎么样。手艺人的自尊很重要,并且应该培养,但有时自尊会变成盲目的接受和防御。这第二双眼睛会让坚强的、很诚实的人认识到他们自己的局限并找出方法来减轻这些问题。

使用通才着重于确认你在一个由具备多种技能的个人组成的敏捷团体中。如果更深入地思考,你会发现这认可了软件开发更多的是手艺而非流水线作业。然而,作为软件开发的领导者,我们不能假设人力资源是完美的,并且忽略事实。我们最好能够看到风险并为此作好计划,历史也证明开发者不会找到他们自己所有的错误。

以我个人的经验,有这种观念的人不喜欢任何人测试他的代码,对建设性的批评也很敏感。 在特殊的情况下我们发现,这里潜在的原因是开发者真的不擅于编码。 我们给了他培训和指导,但经过几个月的努力后,却发现很显然他是入错了行。

所以,使用通才是好的,但如果因为喜欢哲学上的纯粹,而忽略了几十年来的实际情况的话,这种态度就会变得毫无新意。

总结

总之,这些问题在前敏捷世界中也能找到。但是根据我的经验,这些坏态度在这种新的技术中找到了避难所和辩护。而孤立地看,这种新技术可能从来没有打算在这样一个临时的演讲台上演讲。作为软件开发领导,我们在人们掌握敏捷的方法论之前演说这些观点是危险的,并且可能把一场好好的运动给搞糟。敏捷有一个重要的信息,那就是简单化,在产品开发的过程中让客户参与,取得所有权,并且保持联系。如果丢失了这个信息,那将是非常令人失望的事情。因此,你们怎么想的?这些态度在你们那存在吗?你们怎么评论这些态度?希望你们能告诉我。

关于作者

Christopher R. Goldsbury是一位软件开发专家,在他的职业生涯中,担任过的角色有:开发者、架构师、scrum专家、开发经理、项目经理以及质量保证经理。Chris把他的经历和想法都写在了他的博客上。

英文原文: Bad Attitudes of Agile



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [态度] 推荐:

LOMO的态度

- - 微博UDC
也许,你是一个追求成片完美的摄影人或者摄影爱好者,你善于扑捉角度,调整光圈,设机构图. 同时也有一部分人认为提升自己的数码相机,才可以拍出好的照片. 记得荷兰的一位摄影师写过一篇博文《为什么我不需要昂贵的相机》,他说: 对于拍照这件事儿,是人在拍,而不是相机. 所以好的照片无关机器是否高端,在于拿相机的人是否真正有一颗热爱生活热爱摄影的心.

态度的重量

- Hu DongHai - 坏脾气的小肥
杭州这个城市有很多家韩国料理,大部分都很难吃,后来有人说古墩路口“春川店”的味道不错,老板是韩国人,亲自下厨. 我进店里的时候,首先看到一个戴眼镜的老头,花白的头发向后梳过去,扎了一个小马尾,穿着整洁的衬衣和毛背心. 他笑眯眯地走到桌子边,用半生不熟的中文说:今天吃点什么. 翻开菜单,第一页写,本店的韩国老板亲自下厨,为你烹饪美食.

敏捷的坏态度

- - ITeye博客
然所有软件开发的专业人士都会对这篇文章感兴趣,但是经理、CIO以及软件架构师会对它最感兴趣. 这个话题可能会引起许多争议,但我写这篇文章是为了让你了解在敏捷运动中看起来正在日益增长的问题. 想象一下,如果你听到开发人员认为你这个职位根本就不应该存在,你会感到多么震惊,就好像是你特意为自己搞出经理这么个职位似的.

对技术的态度

- - 酷壳 - CoolShell.cn
最近人品爆发,图灵社区,InfoQ,51CTO相继对我做了采访,前两天我把 InfoQ对我的采访张贴了出来,今天,图灵社区和51CTO对我的采访发布了( 图灵的访谈 , 51CTO的访谈),我是一个有技术焦虑症的人,我的经历比较特殊,对大家来说可能也没有什么意思,这两个采都有一些重叠的部分,不过有些观点我想再加强一些,并放在这里和大家一起分享一下.

路一样,不一样的是态度

- 世博 - 自说自话艾小羊
    我在家乡有个男朋友,他个子不是很高,有点胖,工作一般,也不是很上进,但脾气超好,对我也很好,并且很会做家务,尤其很会做菜,恋家,无不良嗜好,我觉得他是做老公的好人选. 今年大学毕业后,我回到家乡,跟他在一起很踏实. 但我妈觉得我在自毁前程,她想让我考研究生,而且要供我出国留学,她认为我应该留在大城市,有更好的前途.

法国人的工作态度

- - 译言-生活点滴
法国是人们心向神迷的国家之一,世界上所有美好的事物几乎都在法国——法国的美食、美酒、时尚、建筑和艺术,这不过是随便一举就能道出的法国特色. 可是话又说回来,法国人的工作态度与整个西方世界完全格格不入. 下面我们就列举几条法国人别具一格的工作原则. 法国人每周工作的时长比我们都要短,但要注意到他们的工作做得比大多数国家都要好.

“怀疑”是一种人生态度

- - 左岸读书_blog
最早对“怀疑”这个概念产生兴趣,是出于爱默生先生描述蒙田的一篇文字,在文章中爱默生先生形容蒙田是一个标准的怀疑论者. 我对所谓的“怀疑论者”在此之前没有一个清晰的认识. 难道就是对自己身边的一切都产生怀疑. 直到买来蒙田先生的随笔看过之后,从在开篇中介绍蒙田文字:“ 十六世纪的作家,很少有人能像蒙田那样容易被现代的人所接受,也很少有人能够像他那样能够直接与我们对话.

软件开发中的两种态度

- - 外刊IT评论网
一种态度认为,应该对程序员在软件开发中的行为进行约束( DirectingAttitude). 持这种态度的人认为大部分的程序员水平都不高(谣传说有50%的人低于平均水平),所以应该对他们所做的事情进行管教约束. 要防止他们做一些可能会给他们正在开发的系统带来危害的事情. 通常,这种态度体现在一些系统设计和工具中时,你会发现它们会试图阻止程序员去做某些事情,限制程序员的一些做法,以此避免他们陷入过于复杂的境况.

交付是一种基本的态度

- - 胖胖的空间
在很早以前看过一篇有点心灵鸡汤的文章,文章标题是《月入 3 千和月入 3 万有什么区别》,文章的具体内容不太记得了. 特地去百度了一下,有了最新的微信截图版,内容差不多,如下:. 有两位行政助理接到领导任务,要买3张次日去北京的动车票,以参加展会. 这两位行政助理查了车次,发现没票. 第一位行政处理直接回复领导说,太晚了,目前没票,只能再刷刷,看看后续有没有票放出来.

产品细节、用户体验和学习的态度

- gelanz - 互联网的那点事...
下午与部门同学进行话题讨论,关于电子邮件营销中的产品设计,期间的谈话引起一些思考,在这里记录下来. 在交流中我举出一些关于电子邮箱输入框的细节问题,例子举得是MobileMe网站me.com的登录输入框的设计. MobileMe默认输入框状态. 注意到没有,如果输入的邮箱地址长度超过输入框长度的话,网站会自动将邮箱地址的字体大小缩小以适应输入框.