`
dahui
  • 浏览: 50152 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

对敏捷的一点思考 ---- 敏捷是强调结果的

阅读更多


现在软件工程项目管理流行使用“敏捷”。经历了一些敏捷项目,有了些感想。
现在的项目组强制执行结对编程。我喜欢敏捷因为敏捷是山寨版的CMMI。而山寨代表着先进生产力、代表着具体问题具体分析的思想与实践。

先看看Agile 宣言与原则。你就发现敏捷其实是强调结果的。它用结果督促、指导项目的进行。
但是我觉得敏捷开发忽略了对总体架构或者系统设计的要求与指导。

在最近的几个项目中,都号称用敏捷的模式进行项目管理:每天早上的15分钟会议、结对编程、与用户的直接沟通。但这些手段都不能很好的解决在软件框架的设计问题。因为大多数程序员的经验与水平还不能够为项目建立框架(spring, struts这些现有框架确实解决了很多问题。但是一但项目需要定制自己的框架时,问题就凸显出来。)
如何根据具体的项目特点搭建适合自己业务需求的框架能够敏捷出来么?我个人觉得是不大可能的。因为这要求开发人员在对业务、技术比较了解的情况下进行更深一个层次的抽象。如何抽象?哪些可以抽象?抽象后如何向外提供服务(提供调用接口或IoC)?都是需要有比较专业的思考,同时很多也是经验。
想说的是,敏捷并不能替代全部的传统的软件工程流程,尤其是系统设计这一块。
敏捷是方法论,并不是保证。就如,设计也需要敏捷一样。

虽然我自己对敏捷有了以上负面的感觉,但我依旧喜欢敏捷,因为它思想包括:个体和交互、客户合作。

 

分享到:
评论
9 楼 gigix 2009-03-04  
dahui 写道
   任何办法,能让不具备相应经验与水平的程序员突然就能够为项目建立框架了,我很想听听看这个银弹长什么样。
   === 这事肯定不能突然发生。

你说,我这儿有帮菜鸟,我就算敏捷了他们也不会做系统设计
我说,那你告诉我,你有啥办法让他们会?
你说,等二年吧

真是好回答
8 楼 dahui 2009-03-04  
很高兴看到留言。:)

1) 总体架构和系统设计,这是管理能搞定的事情么?
   ===我觉得管理是多方面的、多层次的。如果仅从“管理敏捷流程”的角度讲几乎是搞不定的。系统架构、设计还是需要这方面有经验的人来做。如果从更高层次的管理来看,比如负责组建项目组这样层次的管理,它就有责任选择合适的人做合适的事。

2)能够更透明的了解自己。
   ===是。我很认同。通过每天的会议。我们了解别人,了解项目,也了解同时提醒自己在做什么。

3)传统的软件工程流程怎么让你这帮菜鸟做出漂亮的系统设计。
   ===我知道以前没有OO的时候,飞机上天了。没有敏捷的时候原子弹爆炸了,DOOM游戏诞生了。   不幸让你说中了,我也一直觉得自己是菜鸟,一直在想做出漂亮的设计。:)哈

   任何办法,能让不具备相应经验与水平的程序员突然就能够为项目建立框架了,我很想听听看这个银弹长什么样。
   === 这事肯定不能突然发生。

4) sg552。
   === 山寨在我的概念里是绝对褒义的。它最敏捷。最复合客观现实、实事求是。

5) 总体架构或者系统设计 真的不是管理能够解决的......
  我也常常这么想啊。 :)

6) 在我看来敏捷和CMMI简直就是“不共戴天”
   ===在某正程度上,它们都讲究“流程”。不同的流程。

7)生产成本上去考虑。cmmi之所以推不动,根本的原因是成本太高,而收益又太小,最后只能是走形式,不了了之.
   ===MOTO的同事给我讲过他经历的cmmi是多么的形式化。什么东西走了形式就都违背了其原始的本意。CMMI有成本。敏捷也是有成本的。觉得还是要看自己的团队的特点,然后找出自己的“管理”方式,这也许才是真正的敏捷。
 
7 楼 liujunsong 2009-03-04  
我觉得敏捷不敏捷的并不重要.
重要的是从生产成本上去考虑.
采用这种方式,是否真的可以节约成本,是否真的可以提高质量.
对于cmmi之类的批评,其实很多时候都没有说到点子上.
cmmi之所以推不动,根本的原因是成本太高,而收益又太小,最后只能是走形式,不了了之.
投入可以,必须看到成果才能投入.
6 楼 云中苍月 2009-03-03  
<div class="quote_title">dahui 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">我喜欢敏捷因为敏捷是山寨版的CMMI。</span></p>
</div>
<p>同样无语……</p>
<p>在我看来敏捷和CMMI简直就是“不共戴天”</p>
5 楼 lqql 2009-02-27  
总体架构或者系统设计 真的不是管理能够解决的......
4 楼 sg552 2009-02-26  
<div class="quote_title">dahui 写道</div>
<div class="quote_div">
<p><br /><span style="font-size: small;">我喜欢敏捷因为敏捷是山寨版的CMMI。</span></p>
<p> </p>
</div>
<p> </p>
<p>这个。。。。。 无语了。 &gt;_&lt;</p>
3 楼 gigix 2009-02-24  
引用
但这些手段都不能很好的解决在软件框架的设计问题。因为大多数程序员的经验与水平还不能够为项目建立框架

敏捷并不能替代全部的传统的软件工程流程,尤其是系统设计这一块。

来吧,说说看传统的软件工程流程怎么让你这帮菜鸟做出漂亮的系统设计
或者说,任何办法,能让不具备相应经验与水平的程序员突然就能够为项目建立框架了,我很想听听看这个银弹长什么样
2 楼 抛出异常的爱 2009-02-23  
敏捷是不是指跑的更快.
而是指能够更透明的了解自己
像用CT看病再动手术割.
与用号脉喝汤药冶病.

要么很快成功  要么死的更快
1 楼 marising 2009-02-23  
总体架构和系统设计,这是管理能搞定的事情么?

相关推荐

    Agile Software Development----敏捷软件开发----Draft version: 3b

    - **信息的对流**:信息在团队成员之间流动的方式,强调了信息流通的重要性及其对团队表现的影响。 - **跨越沟通鸿沟**:解决团队成员之间存在的沟通障碍,确保信息准确无误地传递。 - **团队作为社区**:强调团队内...

    敏捷软件开发-英文版

    - **轻量级但足够**:敏捷方法强调简单性和灵活性,以应对快速变化的需求。 - **成为自我适应的组织**:讨论了如何构建能够自我适应不断变化环境的组织结构。 - **明日何为**:每个章节末尾都会提出一个问题:“明天...

    敏捷个人-认识自我,管理自我 v0.2.pdf

    本书籍《敏捷个人-认识自我,管理自我 v0.2》是在前一版本的基础上进行了更新和完善,作者周金根通过自身的实践经验及对敏捷管理的理解,分享了关于个人成长和管理的心得体会。该书主要围绕“认识自我”和“管理...

    传统企业敏捷转型的策略与思考.pdf

    这种业务模式,被称为敏捷转型,它源于敏捷软件开发的实践,强调迭代开发、持续集成和快速反馈。传统企业敏捷转型的核心目标是通过敏捷实践提高企业的适应性和效率,从而更好地满足客户需求。 转型策略和思考通常...

    敏捷导入及组织转型-CMMI背景下推进敏捷

    - **考虑如何管理知识工作者**:敏捷方法强调自组织团队的重要性,这意味着需要重新思考如何管理和激励知识型员工。 - **CMMI本身也有连续表示法**:这表明CMMI并非完全与敏捷相冲突,而是可以在一定程度上与敏捷...

    0.敏捷个人-认识自我,管理自我.pdf

    从给定的文件标题、描述、标签以及部分内容来看,这份文档的主题聚焦于“敏捷个人——认识自我,管理自我”,这是一门结合了个人成长与敏捷思维的学科,旨在帮助个人在快速变化的工作环境中,通过自我认知和自我管理...

    大测大悟 - 测试的敏捷之道

    文章的核心在于将“悟”(理解与反思)与“测”(实证验证)相结合,强调在敏捷环境中进行测试时,不仅要有科学的方法论支撑,还要具备灵活应变的能力,以及对测试本质的深刻理解。 ### 敏捷测试的本质 敏捷测试的...

    敏捷个人-认识自我,管理自我+v0.2

    它由周金根先生撰写并分享,强调通过自我反思、持续改进以及运用敏捷开发中的某些理念和技术,来实现个人层面的成长和发展。 #### 二、Scrum敏捷开发方法的应用 - **价值观**:敏捷个人借鉴了Scrum中的核心价值观...

    敏捷开发的实践与思考PPT课件.pptx

    3. 自我否定:敏捷开发是对传统开发方式的否定,强调快速响应变化和灵活适应需求。 二、敏捷开发实践解决了哪些问题? 1. Kick Off 会议:统一 PM、DEV、QA 的思想,确定本迭代的终极目标和story的优先级。 2. ...

    敏捷思维-架构设计中的方法学.rar

    敏捷方法学,如极限编程(XP),强调灵活性、快速响应变化以及团队协作,为应对复杂且不断变化的项目需求提供了有效的框架。以下是对这个主题的详细阐述: 1. 敏捷思维的核心理念: 敏捷思维的核心在于迭代开发、...

    敏捷软件开发方法(英文版)

    ### 敏捷软件开发方法 ...通过以上介绍可以看出,《敏捷软件开发》不仅提供了实用的技术指导,还深入探讨了敏捷开发背后的理念和哲学思考,对于希望采用敏捷方法的企业和个人来说是一本非常有价值的参考书。

    华为敏捷开发介绍华为敏捷软件开发解读V101.ppt

    该策略强调管理者和软件开发相关人员对敏捷开发的理解和掌握,并通过考试来考核相关人员的知识。考试题目包括管理者版本和员工版本,分别针对管理者和员工应知应会的知识。 敏捷学习参考材料包括《华为敏捷开发解读...

    迈向下一代敏捷

    综上所述,《迈向下一代敏捷》一文深入探讨了当前敏捷开发领域面临的挑战,并提出了一系列前瞻性的思考和建议。通过对现有框架的批判性分析以及对新方法的探索,黄邦伟博士为我们指明了通往更高层次敏捷发展的道路。...

    敏捷软件开发 英文版

    - **轻量级但足够**:第147页强调了敏捷方法论的核心在于保持简单,避免过度工程化的同时确保满足需求。 - **敏捷理念**:第149页阐述了敏捷的核心理念,即通过快速迭代和持续反馈来提高产品质量和客户满意度。 - **...

    《敏捷软件开发》源代码

    1. 敏捷软件开发:敏捷开发是一种以人为本、迭代、增量的软件开发方法,强调适应性而非预设计划,重视快速反馈和团队协作。它的核心价值观包括个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于...

    测试驱动的软件开发 TDD (Test-Driven Development)+敏捷开发过程

    测试驱动的软件开发(TDD,Test-Driven Development)...总的来说,TDD 和敏捷开发相结合,为软件开发提供了一种高效、高质量的方法论,但需要开发者有较高的测试意识和技术能力,以及团队对敏捷原则的深入理解和应用。

    微服务的实践与思考-左文建

    左文建先生对微服务架构的实施与思考,结合了他的实际项目经验,提供了深入的见解。 在文章中,左文建先生提出了关于微服务架构的多个核心问题,包括它是什么,是否是一时的现象还是长期趋势,实施的前提和条件,...

Global site tag (gtag.js) - Google Analytics