看到论坛中这篇帖子, “
Scrum之成败——从自身案例说起,仅供参考
”。
有感于作者细致的剖析,于是提笔顺便整理了一下自己几年来的感触,今年确实有些懒惰。
前期我的一些总结:
2008年的体会:敏捷,想说爱你不容易--从CMM向敏捷过渡的一点体会(1)
2010年的体会:后CMM时代的思考
下面是我的一些理解,没想到一下子写了这么多,看来憋了很久了,共大家探讨:
1、什么流程并不十分重要(我们这里就不讨论CMM和敏捷的是非了,好吧),关键是流程应用要契合项目现状,产品目标、团队能力。
发挥一个流程的优势,进行一些必要的调整,关键还是树立正确的价值观和团队导向,让流程为产品和团队服务,而不是倒过来。
不过很多时候是倒过来的,因为领导和质量工程师已经脱离了实际工作,更为信任流程、指标,而不是团队和实实在在的产出。盲目的“以数据说话”,对于软件工程而言其实就是在欺骗自己,我见过太多过程数据漂亮,但是产品问题较多的项目了。
2、敏捷之后,一个很大的挑战是所谓的“领导的控制力”。
CMM中,有一个较为成熟和相对合理的指标体系,这是管理者的拐杖;敏捷之后,sorry,请领导来感受真实产品,数据离散在各个迭代中,该看什么数据?这些数据意味着什么?领导慌了。。。然后质量工程师也慌了,拉着项目利益相关人,赶快针对敏捷制定度量指标。
结果,一堆并不科学的着指标满天飞,团队成员比以前更麻木的应付更多的指标数据。。。
3、人是最重要的因素,结合者项目管理者对于流程的驾驭能力,将会较好的完成项目。
-
一个团结的团队、积极的团队,效率将会很高,对此管理者的主要工作是通过自己的协调,降低流程对于项目的干扰。这种团队很难碰到,只有相对接近的完美团
队。多年来我就碰到一个有点接近的类似团队,这个团队的骨干都是我一手带出来的,设计能力一流、编码能力一流、沟通配合上已经有了较好的基础。新版本在诸
多困难情况下,依旧顺利的完成了部分前面迭代的开发……
-
如果一个团队尚未形成团队合作的习惯,不要贸然敏捷。在这种团队来看,敏捷崇尚的集体负责、代码集体所有制,是“吃大锅饭”,体现不出成员的“独特价
值”。文化的问题,还要从文化上解决。树立正确的团队导向,形成骨干间互助,骨干与新人间的新老协作的氛围,人尽其用,大家都一心将项目做好,不要过多计
较个人。这样团队会更为成功,成员反而得到了更多,尤其是贡献较多的骨干。
- 如果一个团队的成员能力中等或者偏下,不要完全抛弃现有流程全盘敏捷,这是对于团队的摧残:
- 没有流程的保护,团队会被“随心而动”的需求严重冲击
- 没有流程的指导,团队茫然迷失方向,不知道该做什么,直接面向对中目标--交付代码,迅速退化为“裸奔”(拿着需求直接开发,不做任何设计)
- 没有流程的约束,设计能力迅速退化、测试能力很开就会瓦解,出现一个典型的窘境:
- 设计简化了,模块级设计没有了,异常分支无人考虑了,开发交付的东西脆弱无比
- 开发不再UT、IT、ST,直接给测试人员ST,所谓开发和测试融合;
- 不高的开发质量导致测试太容易发现bug了,大量的问题单导致开发测试无法正常有效的运转
- 每个迭代的包袱越滚越重,然后更为“简化”,以交付基本功能的代码为最高目标
- 有个比较流行的词叫“带病迭代”,很贴切。但是有时我们尽量避免这种情况的措施有些问题,如“问题单解决率要达到XX%才能进入下一迭代”,这种做法类似“在别处丢了钥匙,反而在路灯下寻找,因为那里有灯,看得见”。
- 敏捷的各种实践要求人员和团队具备很高的能力和一定的基础:
- 简单设计、测试驱动、持续集成、自动测试、持续重构、迭代验收、循环。上述每个实践环环相扣,任何一个环节的断裂都会让迭代无法有效运转、轮回。
- 简单设计。说着太容易了,但是有几个人搞得清楚“简单”到什么程度比较合适?
- 这种简单要契合开发团队的能力,正所谓“看人下菜碟儿”,多一分浪费,少一分说不清。
- 设计人员足够了解现有架构、实现和各种约束,以便提前识别风险?短时间内完成需求确认后就启动开发,苦了我们后面的开发人员。
- 测试驱动。有多少团队做到了设计、开发、测试的融合?各个环节相互配合,相互促进确实很有受益匪浅,但是要打破固有限制
- 持续集成需要理清各个系统间关系,前期投入较大,不是一个简单的版本可以承受的,“起步价”很高。
- 自动测试,需要领导的战略眼光、团队的共同认可、成员的持续努力、每个版本的传承和坚持,否则前期投入很容易付之东流。就像在在海边堆积沙堡,在
没有形成一定规模时,一点懈怠就会被一个浪冲垮。自动测试的收益要从1到2个版本的长度来衡量,不能太急功近利仅看到1、2个月的收益。
- 持续重构,是简单设计的必然结果。说实话,重构对于成员能力要求很高,并且强依赖于自动测试能力。没有完善的自动测试能力作为后盾,谁敢在项目中后期开展些许的重构?结果呢,代码腐化严重,1、2个版本后马上就走不下去了。正所谓“技术债务”太多。
- 迭代验收。看起来很容易,但是需要魄力和执行力、应对力的。验收后,用户迸发了新的想法和要求,如何处理?如果用户要求合理,团队能否承受得住?
能够搞定的前提都是,前面介绍的实践执行到位,没有太多技术债务,否则此时团队可能生存都成为问题,谁来“拥抱变化”?另外团队owner的规划能力、客
户协调能力很重要,要控制好客户期望,无人可以交付完美的软件。
写了很多了,自己眼睛都看花了,辛苦各位了耐着性子看完:),后面有机会再聊。
分享到:
相关推荐
ERP想说爱你不容易.docERP想说爱你不容易.doc
作业APP,想说爱你不容易.pdf
《小学想说爱你不容易主题班会PPT教案》正是基于这样的教育理念,设计了一次充满意义的班会活动,旨在帮助孩子们理解和表达对父母的感激之情。 活动以“想说爱你不容易”为主题,试图触动孩子们内心深处对父母的爱...
新媒体运营,想说爱你不容易:只愿不忘初心,方得始终 .doc
以“初中语文文摘生活都市想说爱你不容易”为题,我们看到了一位农村青年初次踏入都市生活的坎坷经历。他来自山区,从未感受过都市的繁华与喧嚣,对城市充满了憧憬。但是,这份憧憬很快就被现实的挑战所取代。正如他...
企业培训——想说爱你不容易 在当前的商业环境中,企业培训已成为企业持续发展和提升竞争力的重要战略工具。随着市场竞争的日益加剧,企业对人才的依赖程度越来越高,如何有效地进行员工培训,已成为摆在企业面前的...
转基因:想说爱你真不容易.ppt
要想使绩效管理真正成为推动企业和员工共同成长的有力工具,企业必须在实施过程中不断进行调整和完善,确保其公正与公平。有效的绩效管理应当能够兼顾激发员工潜力与确保组织目标的实现,通过激发员工的主动性、创新...
在中学阶段,政治作为一门重要的社会科学课程,...教师的角色也至关重要,他们需要提供清晰的指导,帮助学生构建知识框架,并激发学生对政治学科的兴趣,让他们能够真正地“爱”上政治,而不仅仅是“想说爱你不容易”。
作者感到痛苦,与父母的争执不断,甚至一度想要放弃。然而,为了考级,他不得不坚持下去。 在这个过程中,遇到了一位严厉的老师,尽管他的教学方式粗暴,但作者的技艺因此得到了显著提升。最终,作者在六年级时顺利...
2. **“生成”的理解历程**: - 首次理解:"生成"是突如其来的、不曾预约的精彩,体现在课堂上的意外内容和引发的深度学习。 - 第二次理解:"生成"是预设中的生成,教师在教学设计时应预留空间,允许并鼓励学生...
在强调全面发展和提高整体素质的新时代,我们不能仅依赖少数精英,而应关注大多数学生的成长。 再者,“研究性学习”与“学科教学”的结合是个挑战。尽管“研究性学习”有助于提升学生的综合能力,但它无法完全取代...
首先,面对政治教材,学生常常感到困惑,不知道哪些内容是重点,哪些应该划线记忆。这反映了对知识理解的困惑,教材中的语句可能含义模糊,使得学生无法准确把握关键点。为了改善这种情况,学生可以尝试更深入地阅读...
先别着急骂我,我也没有说我真懂Openstack我其实很想弄懂Openstack,然而从哪里下手呢?作为程序员,第一个想法当然是代码,CodeTalks,什么都可以忽悠,代码是实实在在的,何况原来也深入读过Lucene,Hadoop的源代码...
标题和描述中提到的"DEDE2007 做站先别用了,想说爱你不容易啊",这是对DEDE2007版本的一种批评。DEDE,全称可能是"DEDECMS",是一款基于PHP和MySQL的网站内容管理系统。这篇文章主要列举了DEDE2007正式版的一些问题...
68种语言说爱你.zip
深圳爱民科技公司 AM200型号CDMA无线上网卡的驱动程序 <br>内含中国联通提供的一个拨号程序 CDMA 20001X ... 所以,指望用它来上网冲浪是“想说爱你不容易”。最多只能算作一个上网的补充方案,期待3G!
还没来得及说爱你.doc