精华内容
参与话题
问答
  • 敏捷开发的应用

    2011-02-18 14:49:00
    的各个阶段都要随之变化,包括分析建模、概要设计、详细设计、代码设计、软件测试等等,因而对软件开发的成本、工作量、开发进度、软件质量都形成了严峻的 考验。  在研发过程中,由于需求的变更而引起的...

    现实生活中,软件的需求往往不是在设计阶段就非常明确,而是处在不断的演化中,贯穿于软件的整个生命周期。由于需求的不明确及其变化,导致软件开发 的各个阶段都要随之变化,包括分析建模、概要设计、详细设计、代码设计、软件测试等等,因而对软件开发的成本、工作量、开发进度、软件质量都形成了严峻的 考验。

      在研发过程中,由于需求的变更而引起的分析、设计、编码、测试等阶段的变更数不胜数。同时在研发中的不同阶段,由于需求的变更而带来的修改难度也存在很大的差别,而利用良好的管理工具和处理手段可以较好的应对这些变更。

    1、敏捷软件的开发方法
         敏捷方法是来源于实践的方法,可在非常短的迭代周期内应对需求的不断变化,并且提供了轻量级的软件项目管理和开发、维护的思路。所谓轻量级就是能根据需求 变化快速地做出反应。敏捷方法是“适应性”而非“预测性”,目的是成为适应变化的技术过程。而传统重量级的软件开发方法是试图对一个软件开发项目在很长的 时间跨度内做出详细的计划,然后依照计划进行技术开发,在项目计划制定完成后拒绝变化,这显然是不可行的。敏捷软件开发方法是“面向人”的而非“面向过 程”的,强调软件的开发应当是一项愉快的工作,应使软件开发工作能够利用人的特点,充分发挥技术人员的创造能力。

      敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的 特征。也就是把1个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    2、敏捷开发平台的实现
         2. 1敏捷开发流程

      敏捷开发平台主要用于开发基于J2EE架构MVC模式的Web项目,其架构主要由开发环境(Eclipse及其插件、Struts、Hibernate等)、源代码仓库(Subversion)、构建服务器(Cruise Control、JUnit、Ant及代码检验模块Check Style)、Web服务器(Tomcat、HttpUnit、JMeter)等几部分组成。图1给出了敏捷开发系统流程。

      首先需要从源代码仓库中获取全部最新的源代码,然后编写程序的代码和相应的单元测试代码,以保证程序能够通过编译并且所有的单元测试全部通过,再提交代 码,将代码检入到源代码仓库中。持续集成工具Cruise Control的源代码监视及管理模块监测到源代码仓库中的代码发生变化后,由Ant执行任务,首先初始化目标目录,将目标目录清空后,创建源程序目录、 测试程序目录和class目录,接着从源代码仓库中检出源代码到源程序目录,检出测试代码到测试程序目录,然后调用代码检验工具Check Style检验源代码是否符合事先配置好的代码规范,再编译源程序生成目标类,并调用JUnit测试框架进行测试,如果测试全部通过,即可将整个Web应 用打成1个WAR包,并将这个WAR包发布到Web服务器。

      2. 2敏捷开发平台的搭建

      在敏捷开发过程中,通过配置管理软件对源代码进行管理和控制,就可以实现任何开发人员都能够很容易地获取到全部最新的源代码。关键的环节是自动化,能够自 动根据配置的时间间隔读取配置文件并进行循环构建。构建过程中所做的工作主要是访问源代码仓库,检测源代码仓库中代码是否发生变化。如果发生变化,应获取 源代码的最新版本,并根据配置信息首先对代码进行检验,再对代码进行一次构建,创建一个日志文件,最后向项目组所有人员通知代码的检验结果和构建结果。如 图2所示敏捷开发平台框架。

      敏捷开发框架是基于SOA的软件开发模式设计并运用J2EE技术实现的应用程序开发框架。该系统综合利用了ESB技术、EIP设计模式、IOC模式、构件 设计、管理、组装技术以及数据集成和数据交换等关键技术,具有良好的与其他软件开发管理系统接口的能力。该系统并非直接为最终用户服务,而是为开发最终用 户的应用系统提供一套工具和运行平台。它可以使开发人员专注于应用系统核心业务逻辑的分析、设计和开发,极大地增强了软件应用的伸缩性和灵活性。基于敏捷 开发平台开发的应用程序符合松散耦合、可重构的系统需求。

    3、敏捷开发方法
        VISIONONE公司在2008年6月至7月进行了关于敏捷开发的问卷调查,根据得到的来自80多个国家的超过2300份问卷反馈得知,95%的公司在 软件开发中使用了敏捷方法,其中超过60%的公司使用超过了一年时间。

      Scrum和XP作为最重要的两种敏捷方法,超过70%的公司在使用,下文简要介绍这两种常用的敏捷开发方法。

      敏捷方法是数十种“方法集”的统称(“方法集”就是为了开发软件而定期做的每一件事情),包括比较有代表性的Scrum、Extremeprogramming (后文简称XP),Unified Process和Crystal Clear等。这些“方法集”共同的特点就是轻量级,迭代增量式的开发和交付,以及适应需求变化。

      3.1 敏捷方法之一:Scrum

      SCrum的创始人是Jeff Sutherland和Ken Schwaber,他们在1995年提出了Scrum方法。近年来Scrum已经变成了敏捷开发中最流行的方法之一。Scrum使用“产品 backlog”、“Sprint backlog”和每日例会(Daily Scrum Meeting)分别对整个项目、每个迭代周期和每个工作日进行计划完成情况追踪,并根据每日例会、Sprint计划会议和Sprint评审会议得到的反 馈,不断对项目开发计划和过程进行调整

      3.2 敏捷方法之二:XP

      XP是一个非常著名的敏捷方法,最早是由Kent Beck在1996年提出的。XP注重使用更短的迭代周期(1至2周)和大量的工程实践,包括用户故事、结对编程、持续集成、测试驱动开发,重构和自动化测试等

    4、敏捷方法的应?
        在欧美外包项目中,需求分析工作贯穿于产品开发的始终,而且需求变更会经常发生。敏捷方法作为“拥抱”需求变化的方法,是最适合这类项目的。

      另一方面,敏捷方法采用短周期迭代和增量交付的方式,可以最大程度的避免需求理解的偏差,并且帮助客户明确和完善需求。特别是Scrum在每次迭代结束的 时候,开发团队通过产品演示阐明了对需求的理解,同时根据在演示中双方的沟通,明确一些有歧义的需求,并且引导客户对需求进行进一步的完善。

      除此之外,敏捷方法也能满足欧美客户对开发过程的其他方面要求。比如,客户希望开发团队采用本公司熟悉或者与本公司软件开发类似的开发方法。

      事实上,敏捷方法被世界上越来越多的公司和团队使用,并且项目成功率和质量很高,欧美很多公司也有敏捷方法的实践,所以一般来说欧美客户很容易接受团队使 用敏捷方法。再比如,客户希望可以经常得到可以运行的版本,帮助他们通过给潜在终端客户的演示,了解市场和最终客户的需求,这无疑也是敏捷方法的强项。

    5、结束语
        敏捷方法作为近年流行的一种软件开发方法,由于适应欧美软件项目需求频繁变化的特点,同时满足客户对于短周期增量交付的要求,在欧美软件外包行业中得到了 越来越广泛的应用。经过多年的时间证明,敏捷方法能够提高开发团队的生产率,产品的质量和客户的满意度。对于软件外包服务商而言,在公司组织级需要采取相 应的措施,以对敏捷团队进行支持和监控,并满足客户不断提高的要求

    展开全文
  • Kent Beck做了许多与敏捷软件开发相关幕后工作,其中包括JUnit测试框架和极限编程。Kent还是在面向对象编程中应用设计模式先驱。InfoQKurt Christensen最近采访了Kent,并询问了一些关...

        Kent Beck做了许多与敏捷软件开发相关的幕后工作,其中包括JUnit测试框架和极限编程。Kent还是在面向对象编程中应用设计模式的先驱。InfoQ的Kurt Christensen最近采访了Kent,并询问了一些关于敏捷软件开发现状和未来定位的问题。

        InfoQ: 您目前的工作是什么?

        Kent Beck (KB): 前不久我刚完成《Implementation Patterns》一书,该书介绍了如何通过代码进行沟通。它将在2007年第一季度上市。现在我正在开发JUnit的新版本。与此同时,在我现在参与的许多项目中,我将很多时间花在利用付费客户端进行远程结对编程上。

        InfoQ: 当一个敏捷团队工作时,有时透明化的流程会暴露出机构中的问题,而这些问题随后又被归咎于敏捷开发流程。在整个行业中,我们开始遇到这种情况了吗?敏捷开发会使行业的缺点逐步暴露,从而在各方面招致一些与敏捷开发对抗的反对意见吗?

        KB: 我所见过的大多数反对意见来自于程序员个人而非机构或整个行业,这些程序员通常不愿向机构中的其他成员负责。我想,这些针对行业的反对意见,反对的不过是敏捷开发这个词的含糊使用,而不是任何特定的流程。

        客户看起来并不在意更少的缺陷和更可预测的时间表,以及程序员们是否愿意沟通和贯彻他们的承诺。当客户开始期望这些,而程序员们却不打算这么做时,问题就产生了。用敏捷开发标榜自己,却不去遵循敏捷开发的价值观和原则,最终将导致程序员与客户间糟糕的关系。

        InfoQ: 作为一个社区,我非常担忧这种情况,当敏捷开发起作用时,我们夸耀自己,而敏捷开发行不通时,我们彼此踢着皮球并且说这样做不“正确”。如果敏捷开发更像是价值观而非规范或特定的习惯,那么一个机构如何才能知道何时他们真的在进行敏捷开发呢?如何才算正确地进行敏捷开发呢?

        KB: 你描述了人们对结果不满意时的反应,但你忽略了人们从中学习到经验的机会。我想,因为我们怕难为情,我们已经错过了许多分享和学习的机会。

        有时我们会想,“假如我是一个完美的程序员,这个项目应该就会非常成功了。如果项目不是轻松完成,那我就算失败了。”这种心态或多或少地影响了我们的行为。

        而且确实,当你承认失败时,敏捷开发社区中的人们会斥责你的失败。在避免这种令人胆战心惊的结果的同时,我们与那些有用的心得失之交臂。

        成功的项目需要许多因素以及彼此的同心协力,一个人无论多聪明或者多么卓越,项目的成败都不可能由他一个人的技术能力和意志力决定。无论如何,沟通、团队建设、时间安排、与公司其它部门协作、甚至编码窍门等,这些东西都是我们可以从失败的项目中学到并应用于未来项目中的。如果我们愿意分享心得(而不是我们的失败感),那么作为一个社区,我们还可以做得更多。

        敏捷开发一词的含糊性会成为一个障碍。问“我们做得正确吗?”(或更可能的情况——告诉别人“你做得不正确!”),这个问题并没有什么价值。“我们在学习所有我们能学到的吗?”和“我们需要改变自己来最大限度地迎合公司的目标吗?”这两个问题更有意义。如果敏捷开发成为一种意识,那么我们并不真的需要衡量正确与否的尺度了。你工作时有敏捷开发的意识吗?你尝试过从多个角度看问题吗?你会突破桎梏去思考吗?你会参与到团队交流中,共同向一个有价值的目标去努力吗?你会以坦荡诚实的胸怀和负责任的态度向你们共同的目标努力吗?你参与的流程如何在组织中起作用,其意义远比一个敏捷开发专家对流程的思考要重要。

        InfoQ: 在您帮助机构向敏捷化方向成长的经验中,这些问题有一些明显的规律吗?为什么机构通常总是无法正确地开展敏捷开发呢?

        KB: 通常的情况包括我们缺少沟通,团队和成员彼此孤立,办公室里没有交流,某个人有团队所需的特长却没人愿意与之合作,或者无法表达清楚他们最近的工作对公司的价值等。

        机构层面的失败往往是由在流程定制和融会贯通方面的无能为力导致的。尝试直接将别人的模式照搬到你的组织并不会起到太好的作用。这样做将遗漏上一个成功案例中的太多重要细节,同时也会忽略你公司的特殊情况。生搬硬套的敏捷开发流程并不敏捷。基于敏捷开发原理的流程其价值在于,你能够将原理应用在针对你的情况的特定流程上,而且一个额外的好处就是你能够以此心得来改变你的组织。这才是“定制”。

        从个人角度来看,我认为最大的问题是——程序员压力太大。我曾经做过一次“放松工作(Ease at Work)”的讨论,你可以在Google Video搜索中找到视频。除非程序员能够保持一个清晰的自我认识,否则关于后续技术改进的探索将在很长的时间里一无所获。我确信这里同样存在一些属于机构的大问题,但问题的根源在这里。

        InfoQ: 在向机构介绍敏捷开发时,您会首先展示实例,然后借此来说明它的价值,或者恰恰相反?又或者在一开始就同时举例和说明价值?当您打算尝试去改变一个机构的价值体系时,您会选择哪种方式呢?

        KB: 我首先从人们已有的正面经验切入(这种方式被称为肯定式探询),并了解这些经验如何应用于现有情况。这将引发三个层面的讨论——价值观、原则和习惯。

        改变一个机构的价值体系需要强有力的支持,这种支持往往来源于机构中希望变革的高层。我倾向于尝试去引导这些机构发生改变,但这一般不起作用。相反地,我先与他们共事并按照他们的方式做好工作,当我通过这种方式首先表达了我对他们的尊重之后,效果才是最好的。这样做,我仍旧保留了我的价值观,原则和习惯。随着时间的推移,我们彼此取长补短。

        InfoQ: Scrum社区借其认证过程(译者注:Scrum社区是澳大利亚的一个关于敏捷开发的技术社区,它要求用户展示自己后,才向用户提供帐号。)在创立一个品牌。您认为这种方式有助于使敏捷开发在大机构中如鱼得水吗?通过这种方式推行敏捷开发是好是坏呢?

        KB: 我认为这种方式使得专家们要对自己的技术和成果负责。传统的认证过程不过是做个测试,提供一篇论文,我不认为这样的认证过程能有什么用。另一方面,其它的专业领域也存在有意义的认证过程。如果你是持证的内科医生,这意味着你通过了相应的认证。尽管这个与计算机中的认证相差甚远。认证的主考官都是专家,它的过程耗费很多时间和金钱,需要大量的研究和一次在实践中的示范来展示对知识的精确掌握。

        尤其在大机构里,认清名字能够帮助你找对办公室的门,但它仍旧有着照本宣科的问题。如果这被认为是可接受的方式,它就会开始被使用。而一旦办公室发生了一些必需的重大调整,那么这种方式将失去可信度,名字的价值也就不存在了。

        InfoQ: Martin Fowler前不久写了一篇名为“语义传播(Semantic Diffusion)”的文章,在文中他描述了“敏捷”这个术语的变化。当“敏捷”成为另一个口号时,敏捷开发会有什么改变吗?有没有办法来避免这种情况,从而保持理念和语言的生命力呢?

        KB: 当敏捷变成口号以后,人们会寻找最简单的办法来判断何谓敏捷开发。这个语义传播的隐喻的问题在于,意义会随时间弱化的观点忽略了那些明确并且成功的使用术语的情况,这些例子不断出现并保持着术语的原有含义。我一直都在关注这样一种情况,“敏捷”属于一个吸引眼球的词,那些一点都不理解它内涵的人也可能会使用它。谁不愿意被认为是在做敏捷开发呢?敏捷开发这几个字说起来轻松;有价值的思想往往附带着诸多的责任。这就是我们探讨“负责任开发”的原因。在英语中,责任有附带着负担、要求或者义务的含义。有价值的思想意味着许多东西,但同时它并不是那么轻松自由的。

        当你将思想公之于众时,别人如何利用它是你无法控制的。我能做的仅仅是尽全力去保留思想的火种,诚实地报道社区中发生的一切。

        InfoQ: 自您完成《Extreme Programming Explained》(中文版《解析极限编程:拥抱变化》)第二版至今,您有没有发现可以被加入到第三版中的新的价值观,原则或习惯呢?

        KB: 关于XP,我并没有什么新的体会。但我在工作中发现一些对做决策有帮助的原则。

        我已经开始参考一些并没有列入第二版的原则了,这其中包括问责性和透明度。我探讨了这两大出自于测试驱动开发的原则,对它们加以明确并随即验证。最终,我发现这些能够降低流程损耗的原则非常有用。

        随着实践的逐步深入,我不久前使用的最重要的东西就是追踪和分析软件的真实使用状况。目前在我参与的一个项目中,我们实现了对用途的追踪,这好比在黑暗的房间中点亮所有的灯光,那些用户切实使用的功能将一目了然。

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14639675/viewspace-567136/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/14639675/viewspace-567136/

    展开全文
  • 在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD...这么多的模型各有各的应用场景、各有各的适用范围,但我认为最实用开发模型还是敏捷软件开发。...

    在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD模型、敏捷软件开发模型、XP极端模型。这么多的模型各有各的应用场景、各有各的适用范围,但我认为最实用开发模型还是敏捷软件开发。

    阅读全文: http://gitbook.cn/gitchat/activity/5e7da46c416ba076ba8c1ea3

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  • 阳明心学在敏捷开发的应用

    千次阅读 多人点赞 2019-07-19 14:50:43
    学习过程中产生不少共鸣,并不断敏捷思想做对比,发现有很多可以借鉴。 阳明心学核心思想与敏捷价值观 • 阳明心学核心:心即理----心是一切事物源泉之源泉,我心即天理 • 明心: – 人生重大...

    前几天公司组织致良知四合院的阳明心学四天三夜的学习,这四天完全脱产,手机全程关机,保持最集中心态,成效还是不错的。学习过程中产生不少共鸣,并不断的与敏捷思想做对比,发现有很多可以借鉴的。

     


    阳明心学的核心思想与敏捷价值观

    • 阳明心学核心:心即理----心是一切事物的源泉之源泉,我心即天理

    • 明心:

    – 人生重大秘密:心中拥有无尽宝藏,取之不尽用之不竭,但要触发你的良知
    – 人生重大真理:行为作用与反作用,有因必有果,一份耕耘一份收获,有付出才有回报

    • 静心:

    – 不断深刻反省,改过
    – 主动引导产生更好的念头,不要有恶念

    • 敏捷价值观:团队自组织,客户为先,拥抱变化。敏捷导入时,我们常讲要有“同理心”。这些都是围绕“心”开展的,只有俘获团队的“心”、客户的“心”,才能真正推动敏捷开展。

    知行合一与Scrum价值观

    • 知行合一:

    – 知行本一
    – 真知真行
    – 浅知浅行
    – 恶知恶行

    • 在知与行的关系上,强调要知,更要行,知中有行,行中有知,所谓“知行合一”,二者互为表里,不可分离。

    • Scrum价值观

    – 承诺:

    • 每个版本、每个迭代要定下达成的目标,团队才能朝着目标前进
    • 立志,志不立,天下无可成之事。

    – 勇气

    • 敢于做出承诺,敢于达成目标
    • 不能胜寸心,安能胜苍穹

    – 聚焦:

    • 聚焦于你承诺完成的版本、迭代任务,不要再想迭代外的事
    • 立志后不忘初心,继续前行,履心成地,完成你的志

    – 尊重

    • 团队成员之间是互相平等的,每个人都有他独特的背景和经验,都有自己擅长的地方
    • 以父母之心对待邻里、同事,打开自己心里的边界才能有更多的福报。克服傲心,永保谦卑。

    – 透明

    • 团队要建立开放透明的环境,不要遮遮掩掩,你的工作成果、独有的技能,勇敢的展示出来,才能建立起互相信任的良性互动
    • 不要有吝心,不断将小我去除,利他仁爱,和而不同,万物一体 

    八颗心与敏捷开发

    • 傲心-高人不见,众人不爽

    – 傲慢之心。傲慢与一个人的职位高低没有关系。不管是职位高的人,还是职位低的人都会生起傲心,甚至职位越低的人傲慢之心越重。但凡人有了傲心,就会“高人不见,众人不爽”。
    – 你期待着生命走向高处,你希望能有高人拉你一把,但当傲慢心生起来的时候,高人会离开你,你身边的同事也会很不爽。因为你抢了别人的光芒,别人也需要光芒,所以一份傲慢心会破坏我们与世界与团队的关系。
    – 初次推行敏捷时,团队往往有很强的傲心,认为敏捷能带来什么好处?能比现在的开发模式强吗?正是由于团队的傲心,导致敏捷开发很难开展下去,所以首先要戒除团队的傲心。克服傲心,永保谦卑!

    • 怠心-懈怠,当担不够

    – “差不多了,我每天已经工作得够辛苦了,不要再给我其他的任务”,“这个事你可以交给别人做”……一份怠心生起的时候,你的肩膀就软了。而担当不够大,自然成就也就不会大。所以担当是一种美德,一种机会。当我们的肩膀变软的时候,我们会错过人生中真正的机会。
    – 敏捷强调自领任务,但如果团队有很强的怠心,互相推卸任务,难的任务都没人认领,那么自领任务根本无从谈起。

    • 忽心-不堪大任,不敢托付

    – 马马虎虎,做事情差不多,这个事情八九不离十,别人都是那么平庸,我也一样的,做到平庸就好……一颗忽心生起的时候,我们会变得不堪大任,担当不起那份任务,他人也就对我们不敢托付。
    – 这是团队常见的问题,需求梳理差不多了,就提交评审;开发代码编写完,从不自测就提交测试;测试也有很多细节没有覆盖测试。每个环节都马马虎虎,版本的质量自然无法保证。

    • 躁心-看不到问题本质

    – 躁心生起来的时候,我们就看不到问题的本质了。现代社会,大家都在讲别人浮躁,殊不知,当我们用手指指向别人的时候,我们自己也在浮躁。
    – 有了浮躁之心,我们看不清事情的本质,因而很多时候就变成了瞎忙,虽然每天工作十几个小时,但都是在浪费时间。所以躁心会破坏我们的能量。
    – 遇到堵塞很烦躁;迭代快结束,任务进度严重延期,更烦躁,无法冷静思考,于是心生抱怨,纷纷指责是谁导致的延期,推卸责任。

    • 妒心-烧坏与朋友链接

    – 妒火中烧,妒心在心中燃烧的时候是很难受的,既会烧坏自己,也会烧坏你和朋友的链接。别人会觉得这个人不可以久处,和你在一起时,他会很小心,会把自己隐藏起来。一颗妒心出来的时候,又把一些人赶走了。
    – 团队中某人得到领导表扬,心生妒忌,为何我也同样付出,同样加班到深夜,却得不到认可?于是对得到表扬的人产生隔阂,对方的请求不予理睬,团队关系变差

    • 忿心-已事不成

    – 作为企业领导和高管,当我们每天带着一颗忿心走进办公室的时候,你自己本身就带着一股巨大的负能量。把一团负能量带入办公室,你的属下只能唯唯诺诺,大事不成,迁怒于人,结果自己的事情也办不成。
    – 当项目进度延期,遇到瓶颈或阻塞,收到客户投诉时,管理层心急如焚,责骂团队,这就是负能量,只会导致团队积极性更差

    • 贪心-污染,不快乐

    – 有时候你会从一个人的气色上可以看得出来,贪心重的人会很污浊,给人不干净的感觉,自己也不会快乐。就像我们穿了一件很脏的衣服,走到任何地方都会觉得不自在。贪心就是浊,想想我们自己会不会偶然会有贪心呢? 
    – 迭代速率是100,PO会问能不能再挤进20个点的需求?能不能提前发布版本?贪心的结果是团队任务变重,版本质量变差,大家都不高兴

    • 吝心-小心眼,看不起

    – 舍不得自己的时间,不肯花费自己的精力,不愿意多付出一些努力,为客户创造额外的价值,这就是“吝心”,也叫“小心眼”。
    – 分配给我的工作做完了就得下班,团队其他人是否完成跟我无关,即使我帮他们做,也不会算我的绩效,心里只顾自己。你不愿意帮助别人,别人也不会愿意帮助你。

    • 如果不是照见阳明心学这样一面明亮的镜子,相信80%的人都会否认这八颗心的存在,或者觉得偶尔有之也无妨,我们会给自己找很多的借口。

    • 敏捷推广时,一定要引导团队戒除这八颗心,心中有大树,便不会有小草,每个人都打开自己心里的边界,团队才能保持纯净的心态往前走。

    改过责善与敏捷持续改进

    • 改过

    – 圣人多过,小人无过
    – 不贵于无过,而贵于能改过
    – 每终夜以思,恶且未免,况于过乎
    – 不断将自己小我去除,提升自己的格局境界
    – 不只是反省过错,也可以反思如何让自己做的更好
    – 反省是一个人认清自己,认清别人的过程,通过持续过往人生来理解我们成功和失败的背后逻辑和哲学

    • 敏捷持续改进:

    – 迭代回顾会
    – 复盘会、回溯会

    • 每个迭代不断总结做得好的、急需改进的、需要保持的活动,每个人对自己、他人工作进行反思,让团队存在的问题得到及时解决,确保迭代节奏能稳定推进。

    • 有句话叫:自杀重生,他杀淘汰。鸡蛋从外部打破是食物,从内部打破是新生。不要等待事情发展到不可逆转才后悔。

    利他与以客户为中心

    • 利他

    – 利他仁爱
    – 和而不同
    – 万物一体
    – 利益于他人就是利益于自己
    – 敬天则天敬之,爱人则人爱之

    • 以客户为中心

    – 客户合作胜过合同谈判
    – ScrumMaster是个服务型的角色,帮助团队移除障碍,防止团队受到干扰,是牧羊犬,也是仆人

    • 人生要以服务为目的,以利益客户为基本中心,顺便赚钱

    • 没有人能阻止你真心对他好!

    • 利他才是真正利己,对他人对客户利益越多,机会越多回馈

    • 本想拥有一颗硕果累累的苹果树,却能让整片森林充满希望

    • 你为什么打动不了客户?因为你的眼睛盯着客户的口袋,以你的私欲出发,必然会失败。


    反思

    • 庄严你自己,不要高估自己,你的历史地位由他人编写,但由你来走

    • 不要低估你自己,你心里住着一个伟人,只要牵着圣贤的手,你也可以做到

    – 良知即资本
    – 没有试过,怎么知道你不行

    • 前几年学习敏捷思想,觉得很了不起,把复杂的项目开发过程简单化。这次学习了阳明心学,才发现很多敏捷开发中遇到的问题都可以用致良知的思想来解答。

    • 致良知虽然是王阳明在五百年前提出的思想,是我国古人的哲学,在我们推崇西方哲学时,如果能将古人的思想应用到工作中,也许能发挥巨大的作用。

    展开全文
  • 大厂的敏捷开发应用

    2019-05-09 16:01:10
    一个应用敏捷开发的小组日常 这个小组是做网站开发,基于微服务负责网站的某一个小模块,标准配置7人、4个程序员(要起码有一个资深程序员有架构能力)、1个产品经理(Scrum里叫Product Owner),1个测试、1个项目...
  • 敏捷开发是以用户需求进化为核心,采用迭代、循序渐进方法进行软件开发。敏捷开发就是把一个大项目分为多个相互联系,但也可独立运行小项目,并分别完成,在此过程中软件一直处于可使用状态。那么什么项目适合...
  • 资源名称:Web开发敏捷之道 应用Rails进行敏捷Web开发(第3版)内容简介:全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整“在线购书网站”示例。在随后“Rails框架”部分中,作者深入介绍...
  • 记录几种敏捷开发应用的工具

    千次阅读 2017-04-11 08:43:33
    很早以前,就有这么一个想法:开发一套高效、用于软件开发行业进行项目管理管理型软件。之所以有这个想法,与我本人经历有关。早年,在做**系统时候,部门总监就让我去做那么一套东西,基于Visual Basic和...
  • 为解决该矛盾,提出一种将敏捷开发方法与军用软件研制能力成熟度模型(GJB5000A)相结合开发模式,并成功应用于某型战机飞控系统软件研制中,为关键级军用软件项目应用敏捷方法提供了一个范例。
  • ThinkPHP是为了简化企业级应用开发敏捷WEB应用开发而诞生。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。
  • Agile敏捷开发在企业开发中研究与应用,刘珺,,敏捷(Agile)软件开发方法是近几年来新兴一种软件开发方法,它主要特征是允许对过程进行自主调整,强调适应性而非预见性,它强��
  • 传统的软件业务更多的是走定制开发的路子,当然,也有一些行业公司会选择通用软件,这些通用软件多由一些大厂提供,价格上可以说不具备任何优势。比如,我们经常会提到的sap,动辄几十万的产品价格令许多公司望...
  • 最新在博客园看到一篇博文,介绍一个混乱小项目的敏捷应用,作者利用XP(极限编程)最佳实践完成了近乎不可能完成项目,由于没有博客园账号,不能在原文留言,转过来供自己学习参考。  原文地址:...
  • 敏捷开发在项目中的应用心得

    千次阅读 2015-04-23 17:21:41
    关于敏捷开发部分思想在项目中的应用心得
  • 作者:陈勇出处:blog.csdn.net/cheny_com 主程序员团队是曾经风靡一时小型...其模式是:由一个最好程序员编写所有最终代码,其他人只进行测试及辅助工作。乍看起来与Scrum“跨职能团队”差别很大,但由于其提
  • 【原创】敏捷开发的介绍及应用

    千次阅读 2012-03-05 14:01:17
    一. 敏捷开发思想 1) 个体与交互胜过过程...敏捷开发是一个统称,早在20世纪60年代初美国,航天局水星计划就曾引入迭代和增量开发,后来17位在动态系统开发方法(DSDM)、极限编程(XP)、Scrum等领域专家制定并
  • 基于SCRUM敏捷开发过程软件测试研究与应用.pdf 论文
  • 为什么80%码农都做不了架构师?>>> ...
  • 开发模式以及流程参考禅道敏捷开发论坛1整理除了一份(可能)适合自己公司开发模式,具体如下图: 小团队对于项目开发上也走了很多弯路,目前还处在一个探索阶段,出于多种考虑很多看起来比较完善方案无法去...

空空如也

1 2 3 4 5 ... 20
收藏数 4,821
精华内容 1,928
关键字:

敏捷开发的应用