2010年11月29日
16:31
有团队就需要过程管理,以便协调资源,高效合作。我们公司的“青蛙王子”,“三顶法”都是这样的代表。尽管透着朴实,但是曾经比较起作用的。
现成的主流方法论如何呢?现成的方法论有两个大类,一个大类是以RUP,CMMI为代表的重型方法;一类是集中于敏捷旗帜下的若干方法,如XP(极限编程),Scrum等。首先,我需要做一个声明,就是我并不打算评价这些方面的优劣——我不是方法学家,不会对他们都有完整全面的了解,也谈不上什么公正的评价——而是表达从我们小型团队的角度,看到了什么,尝试了什么,为和做出选择或者不选择的判断。我希望能够比较客观的提出看法,而不太多的夹杂个人的喜好,尽管这一点几乎不可避免——我提出的是“人”的看法。
RUP还好,我们有过第一手经验。在几个项目中都号称用RUP来进行软件开发过程的管理,然后几个项目完成,我们对RUP的看法几经变迁,留下的主要是“迭代开发”,“使用UML设计”这样的实践。大家决定后,在一个项目周期内就忘记了RUP的存在,而是每天面对屏幕,奋力敲入代码,回到自己擅长的部分。当然有时候用Rational ClearCase的时候,偶尔想起“恩,我们好像在‘RUP’呢”,然后继续code。实际上,RUP对我们的程序员的日常工作影响不多,我也不知道RUP引入后,我们因此和以往有什么进步。也许并非RUP不好,而是对我们不适合:那么多的文档,那么多的工件和工具,需要很多的时间去理解、消化、裁剪,然后为我所用。
对CMMI的了解则是来自于一些二手的经验。我曾经看过一家公司的CMMI的第四级实施,并和几位实施者讨论过。他们的开发部门共有50人左右,其中有8人在做这个实施,已经做了几个月,并且还要做几个月;他们都在编写文档,并且专门的一个会议室内堆了很多的文档。可是,当我问及CMMI对他们有什么好处的时候,他说:“过了级,更加容易拿到项目”。就是说,他们并没有更多的改进方法,也缺乏一定的改进上的针对性。文档和书也看了不少,讲座也听了N回,可是,我们该做什么呢?面对这样的一个基本问题,我承认我无话可说。
前些日子,我们做了scrum公开课。除了公司内的,还有其他公司的几个经理也被邀请过来。讲完后,我和其中一个经理谈了谈。他们公司刚好是用CMMI的!他们做了5年,并且这些年一直在伴随着咨询,文档众多,他说,“对于维护型的项目,我们共50多人做一个项目,CMMI显得严谨而有效,尤其是其中的需求变更流程;不过现在也常常会需要做些小型的项目,本来就几个月的时间,几个人做,大家都反应这样走流程,做很多工件太麻烦,几个项目经理都在和我闹,希望减少流程。”。他希望也考察下Scrum看看是否可以让公司接受新的方法论。我的结论是,敏捷对于小型团队是非常有用的,而大型些的项目,需要严谨的项目,CMMI也许更好。
XP 让我们有了新的看法。XP很明显是程序员创建的,因此面向代码方面更多一些。XP里谈及的12项实践,比如TDD,结对编程等都看来简单,实施起来很难。以TDD为例,在我们一个8000多个函数的项目中,通过TDD产生的函数不足100。这个项目中很多人都是老江湖了,他们依然要慨叹,TDD很难真正的实施。
对小型团队而言,CMMI,RUP太冗余,XP太难,至于其他的,我系统了解过,结论是不值一提。因此Scrum上位也就是理所当然的了。
分享到:
相关推荐
青铜器研发管理软件RDM_IPD+CMMI+Scrum一体化研发管理解决方案, 1、IPD确保方向的正确性,强调市场驱动、投资回报,将市场、财务、竞争、技术有效融合为一体; 2、CMMI强调规范化、精细化管理,将IPD的策略落实为...
### IPD+CMMI+Scrum一体化研发管理解决方案 #### 一、企业研发管理面临的挑战与痛点 在当今快速变化的市场环境中,企业面临着越来越多的研发管理挑战。这些挑战不仅涉及项目进度、成本控制,还包括人才流失、知识...
IPD+CMMI+Scrum一体化研发管理解决方案 本文将对IPD+CMMI+Scrum一体化研发管理解决方案进行详细的知识点整理和解释。这个解决方案旨在帮助企业解决研发管理面临的各种问题,提高研发效率和质量,提高企业的核心竞争...
CMMI敏捷整合开发中,可以在Scrum框架的基础上引入CMMI的实践,比如质量保证活动、风险管理以及持续的过程改进。 第四个知识点是持续集成与持续部署(CI/CD)在CMMI敏捷整合中的应用。持续集成是一种软件开发实践,...
- **更广泛的适用范围**:不仅限于软件开发领域,还适用于硬件、系统工程以及其他类型的项目管理。 #### CMMI Dev 2.0的关键特征 1. **实践域(Practice Areas, PA)**:CMMI Dev 2.0通过一系列的实践域来定义和...
"CMMi软件质量管理体系" 本文档是XX计算机软件有限公司的软件质量管理体系文档,旨在指导公司建立并实施质量管理体系。该文档基于CMMi〔软件能力成熟度模型集成框架〕,结合公司多年来实施的"敏捷开发"的经验,编写...
CMMI V2.0是一个集成的产品套件,由五个组件构成:培训和认证、评估方法、模型、实施指南以及系统和工具。这些组件协同工作,为组织提供了一条明确的路径,帮助它们实现商业目标。培训更加模块化,评估方法更为高效...
本人于2012.2写这片文档时有着3年的CMMI3流程项目管理经验,2年Scrum敏捷项目管理经验,共7年大中型软件公司服务经历。 所以本管理办法可为刚接触或正在推广与规范Scrum敏捷项目管理的朋友提供参考。 办法中包括了...
基于工程实践经验,参考Marcal等人对Scrum和CMMI项目管理过程域的比较分析结果,对项目策划、供方协议管理这两个过程域中部分实践的比较结果提出了不同观点,说明Scrum对CMMI中这些实践的满足程度更高。新的综合分析...
然而,敏捷开发也存在误解,如认为它对团队成员的要求过高,不重视文档和设计,允许前期需求随意,仅适用于小型项目和团队,以及与CMMI(能力成熟度模型集成)冲突。 Scrum作为敏捷开发的一种方法,基于经验型流程...
为了更有效地理解如何使用能力成熟度模型集成(CMMI)来提高敏捷性能,我们需要深入探讨敏捷开发和CMMI两者的基本概念,以及它们如何相互作用以帮助组织产出更优秀的软件。我们还将了解敏捷实践和技术,以及CMMI提供...
- 认为敏捷与CMMI等其他软件成熟度模型相冲突。 - 认为敏捷意味着可以随意编码,无需设计、构建和建模。 - 认为敏捷开发中没有估计、结束日期、版本计划等内容。 - 认为敏捷开发没有需求分析和文档编写。 - 认为敏捷...
该体系基于CMMI 3级管理体系,结合企业实际情况和经验积累,结合敏捷开发的SCRUM方法,旨在使得XX软件的软件开发过程管理基本满足CMMI 3级要求。 总则 本文档是XX软件有限公司质量管理体系的法规性文件,指导公司...
4. 敏捷方法:考虑引入敏捷开发理念,如Scrum或Kanban,以适应快速变化的需求,提高团队的灵活性和响应速度。 四、CMMI在企业中的应用 CMMI不仅关注技术层面,更强调组织文化和人员能力的提升。企业导入CMMI,可以...
CMMI 软件质量管理体系 本文档阐述了 XX 软件有限公司的软件质量管理体系,基于 CMMI(软件能力成熟度模型集成)框架,结合公司多年来实施敏捷开发的经验和实际情况。该体系旨在提高企业的软件过程能力,保证软件...