敏捷的12项原则,我们团队管理的方针

最近我在学习一些有关敏捷软件开发的知识,把里面的12项经典原则分享出来,可以查询,可以反省,可以进步,可以参考,也可以纠正。

好了,言归正传。

1、我们最优先要做的是通过尽早的,可持续的交付有价值的软件来使客户满意

规划迭代故事时必须按照优先级安排,为客户先提供最有价值的功能。通过频繁迭代能与客户形成早期的良好合作,及时反馈提高产品质量。敏捷小组关注完成和交付具有用户价值的功能,而不是孤立的任务。以前我们都用需求规格说明书或者用例来编写详细的需求,敏捷使用用户故事来罗列需求。用户故事是一种表示需求的轻量级技术,它没有固定的形式和强制性的语法。但是有一些固定的形式可以用来参考还是比较有益的。敏捷估算中使用了这个模板:“作为【用户的类型】,我希望可以【能力】以便【业务价值】“。使用基于用户故事的需求分析方法时,仍可能需要原型和编写文档,只是工作重点更多的转移到了口头交流。

   2、即使到了开发的后期,也欢迎改变需求。敏捷过程通过变化来为客户创造竞争优势。
       这是一个关于态度的声明。敏捷过程的参与者不惧怕变化,他们认为改变需求是好的事情,因为那些改变意味着团队已经学到了很多如何满足市场需要的知识。

敏捷团队会非常努力的保持软件结构的灵活性,这样当需求变化时,对系统造成的影响是最小的。我们学习一些面向对象的设计原则和模式,这些内容会帮助我们维持这样灵活性。

3、经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。

       经常性的交付可以工作的软件,这种做法就像一个人要减肥一样,减肥的时间间隔可以是几天,也可以是一周,在这个时间间隔内,均匀、并且努力的做运动,在饮食上也加以控制,这些运动和饮食上的控制必须是真实的、有效的,每个时间间隔可以观察一下自己的变化,通过不停的迭代,每个迭代都是有效的,几个周期下来就会看到自己的变化。软件也是具有同样的道理,我们每次交付的都是可以工作的软件,就算有什么问题,也可以及时修复,而且工作量也不是很大,对后面的迭代也不会产生多大的影响。如果我们按周期去交付,时间周期越很长的话,软件里面可能就会积累大量的功能,出问题的可能性也会增大。

交付时间间隔越短,粒度越细,而且每个阶段交付的都是可以工作的,客户就会看到软件的变化,也会提出他们的意见和建议,对于我们而言,修改和增加的成本也可以控制在一个很小的范围,同时也会增加客户的满意度。这个时间间隔要具体情况具体分析,制定符合自己团队的时间间隔。

4、在整个项目开发期间,业务人员和开发人员必须天天在一起工作。

      为了能够以敏捷的方式进行项目的开发,客户,开发人员以及涉众之间就必须要进行有意义的、频繁的交互。只有大家在一起,才会有充分的沟通,才会有对系统的深入了解,对需求的更好的把握,对软件的交付也奠定了基础。如果 项目需求发生了变化,也可以更及时的响应变化,避免变化的延迟和项目的延期。

   5、围绕被激励起来的个人来构建项目。给他们提供所需要的环境和支持,并且信任他们能完成工作。

      在敏捷项目中,人被认为是项目中取得成功的最为重要的因素。所有其他的因素------过程、环境、管理等等---都被认为是次要的,并且当它们对于人有负面影响的时候,就要对它们进行改变。

例如:如果办公环境对团队的工作造成阻碍,就必须对办公环境进行改变。如果某些过程步骤对团队的工作造成阻碍,就必须对那些过程步骤进行改变。

6、在团队内部,最具有效果并且最具有效率传递信息的方法,就是面对面的交谈。

就像人谈恋爱一样,一定是面对面的谈,这样谈的才彻底,才会明明白白。在敏捷项目中,人们之间相互进行交谈。首要的沟通方式是交谈,也许会编写文档,但是不会企图在文档中包含所有的项目信息。敏捷团队不需要书面的规范、书面的规划或者书面的设计。团队成员可以去编写文档,如果对于这些文档的需求是迫切并且意义重大,但是文档不是默认的沟通方式。默认的沟通方式是交谈。

7、工作的软件是首要的进度度量标准。

工作的成绩不是看你加了多少班,来的多么早,走的多么晚,更不会看你帅不帅,而是看你做的软件的质量,软件的可以工作部分的总和是多少。敏捷项目通过度量当前软件满足客户需求的数量来度量开发的进度。它们不是根据所处的开发阶段、已经编写的文档的多少或者已经创建的基础结构代码的数量来度量开发进度的。只有当30%的必须功能可以工作的时候,才可以确定进度完成了30%。

   8、敏捷过程提倡可持续的开发速度。责任人,开发者和用户应该保持一个长期的、恒定的开发速度。

敏捷项目不是50 米短跑;而是马拉松长跑。团队不是以全速启动并试图在项目开发期间维持那个速度;相反,他们以快速但是可持续的速度行进。
   跑得过快会导致团队精力耗尽、出现短期行为以致于崩溃。敏捷团队会测量他们自己的速度。他们不允许自己过于疲惫。他们不会借用明天的精力来在今天多完成一点工作。他们工作在一个可以使在整个项目开发期间保持最高质量标准的速度上。

9、不断的关注优秀的技能和好的设计会增强敏捷能力。

高的产品质量是获取高的开发速度的关键。高的产品质量里面包含高的代码质量,良好的规范,结构稳定的架构设计。当有新的需求或者变化的时候,按软件设计原则去修改东西,或者说是增加东西,改动最少,牵扯最少,测试和维护成本都会降低。有这样的高品质的产品,才更容易面对变化,迎接变化。保持软件尽可能的简洁、健壮是快速开发软件的途径。因而,所有的敏捷团队成员都致力于只编写他们能够编写的最高质量的代码。他们不会制造混乱然后告诉自己等有更多的时间时再来清理它们。如果他们在今天制造了混乱,他们会在今天把混乱清理干净。

   10、简单----使未完成的工作最大的艺术化-----是根本的。

敏捷团队不会试图去构建那些华而不实的系统,他们总是更愿意采用和目标一致的最简单的方法。他们并不看重对于明天会出现的问题的预测,也不会在今天就对那些问题进行防卫,避免过分设计,过分分析、过分架构。相反,他们在今天以最高的质量完成最简单的工作,深信如果在明天发生了问题,也会很容易进行处理。

   11、最好的架构、需求和设计出之于自组织的团队。

任务不是从外部分配给单个团队成员,而是分配给整个团队,然后再由团队来确定完成任务的最好方法。
   敏捷团队的成员共同来解决项目中所有方面的问题。每一个成员都具有项目中所有方面的参与权力。不存在单一的团队成员对系统构架、需求或者测试负责的情况。整个团队共同承担那些责任,每一个团队成员都能够影响它们。

团队不是一个人的团队,要共同解决问题,是分享解决方案,分享设计思路。团队成员也有角色分配,任务和责任,做自己适合做的事情,做对的事情。

12、每隔一定时间,团队会在如何才能更有效的工作方面反省,然后相应的对自己的行为调整。

敏捷团队会不断地对团队的组织方式、规则、规范、关系等进行调整。敏捷团队知道团队所处的环境在不断地变化,并且知道为了保持团队的敏捷性,就必须要随环境一起变化。

好了,写完了,上面有些自己的领悟,自己的看法。虽然现在有很多这样或者那样的方法论供大家学习和实践,但是在工作中大家还是会出现各种问题。之所以出现这样的问题,就是团队的管理人员没有能更好的理解敏捷的思想,有时候更错的是把里面的一条或者几条拿出来,作为项目的开发和管理的准则,这样必然会出现问题。个人感觉,上面的12条原则是一个有机成的整体,不可分的,不能单独拿出一个来评论,那样就会走入歧途,找不到真理的所在。每个原则又与其他的原则的是相辅相成的,我们应该把每一天熟记于胸,在项目中多多使用,多多体会。

时间: 2025-01-14 12:01:39

敏捷的12项原则,我们团队管理的方针的相关文章

[转载]敏捷体验设计师应该具备的12项技能

敏捷UX和传统瀑布式UX不同之处在于它与交付过程的强关联关系,对于人的要求也更加全面.这意味着你将改变你曾经绝大部分时间只在角落里做一件事的习惯,以更加开放的姿态融入合作.本文将从技能交付出发,在策略.设计和研究三个层次阐明敏捷体验设计师应该掌握的12种技能. 敏捷UX和传统瀑布式UX不同之处在于它与交付过程的强关联关系,对于人的要求也更加全面.这意味着你将改变你曾经绝大部分时间只在角落里做一件事的习惯,以更加开放的姿态融入合作.本文将从技能交付出发,在策略.设计和研究三个层次阐明敏捷体验设计师

敏捷团队管理实践纪实(二)

今天的晨会得到确切的数据证实,新入职的同事工作效率极低,一天大约只有100行左右的HTML+JS+CS的结果,并且没有将自己测试的时间和沟通的时间计算进去,导致下午的进度被延迟到了今天上午.这位同事的计划内容是第两小时,做一件什么事情,但是并没有详细分拆事情的细节,该同事的表达能力也存在较大问题. 针对这一问题我调整了策略,要对于新人给予的要求是极其细致的分解其工作内容,引导他考虑到数据库数据变化,构架变化,界面改动,逻辑变更,沟通时间和测试时间的总时间,而过程中需要及时询问,直至他自己可以制定

敏捷团队管理实践记实(始)

项目进行已过半,项目成员其中一位是本月刚刚入职,另一位是对WEB框架熟悉但是工作流不甚熟悉的同事,可以用老弱病残孕来形容,管理它们给我带来了巨大的挑战和难得的机遇,针对当前的形式我制定出来了符合自己团队现奖的敏捷开发的策略,策略如下: 1. 项目沟通方面的改进: a) 实行晚会制度15-30min,主要目的是将一天中所遇到的问题抛出来,动员所有人思考解决方案,提升项目成功率. b) 实行晨会制度15-30min,主要目的是公布当天的工作计划,精确到每小时或每两小时,通过对问题细致拆分,达到控制问

敏捷软件开发:原则、模式与实践——第12章 ISP:接口隔离原则

第12章 ISP:接口隔离原则 不应该强迫客户程序依赖并未使用的方法. 这个原则用来处理“胖”接口所存在的缺点.如果类的接口不是内敛的,就表示该类具有“胖”接口.换句话说,类的“胖”接口可以分解成多组方法.每一组方法都服务于一组不同的客户程序.这样,一些客户程序可以使用一组成员函数,而其他客户程序可以使用其他组的成员函数. ISP承认一些对象确实需要非内敛的接口,但是ISP建议客户不应该看到它们作为单一的类存在.相反,客户程序看到的应该是多个具有内敛接口的抽象基类. 12.1 接口污染 如果子类

敏捷软件开发:原则、模式与实践——第3章 计划

第3章 计划 3.1 初始探索 在项目开始时,开发人员会和客户商讨一下关于新系统的情况,以确定出所有真正重要的信息.然而,他们不会试图去确定所有的特性.随着项目的进展,客户会不断的发现新的特性.特性发现的过程会一直持续到项目完成. 当识别出一个特性时,会把它分解成一个或者多个用户故事,并把这些用户故事写在索引卡片之类的东西上面.除了用户故事的 名字之外,无需记录其他任何内容(比如Login,Add User,Delete User 或者Change Password).此时,我们不会试图记录细节

Eworkpal易沃普 | 如何提高团队管理能力?

每个团队,每次从磨合到熟练到分散都会经历一个完整的循环,养成了一些特定的团队运营习惯. 一.对人和团队的基本认识 1.核心价值观是不可被塑造的 什么是核心价值观?例如善良.诚信.坚持这种看起来很底层的价值观往往会在加盟之前就形成了.按照政治学上一个有趣的观点,人的政治立场是写入基因的.那么一个员工做事情的基础价值观也是写入基因的.单纯的演技都坚持不了太久. 而且你也很难像周星驰电影<济公>中一样,重塑一些核心的东西.这事儿,我走过弯路,对人抱有过幻想,结果发现,没有济公那样的金刚钻,就别高级揽

怎样提高团队管理能力5

本文来自知乎. 一.对人和团队的基本认识 1.核心价值观是不可被塑造的 什么是核心价值观?比如善良.诚信.坚持这样的看起来非常底层的价值观往往会在加盟之前就形成了.依照政治学上一个有趣的观点,人的政治立场是写入基因的.那么一个员工做事情的基础价值观也是写入基因的.单纯的演技都坚持不了太久.并且你也非常难像周星驰电影<济公>中一样,重塑一些核心的东西.这事儿,我走过弯路,对人抱有过幻想,结果发现,没有济公那样的金刚钻,就别高级揽瓷器活儿. 然而,除了核心价值观外,其它的对企业的理解.对事业的价值

如何提高团队管理能力5

本文来自知乎. 一.对人和团队的基本认识 1.核心价值观是不可被塑造的 什么是核心价值观?例如善良.诚信.坚持这种看起来很底层的价值观往往会在加盟之前就形成了.按照政治学上一个有趣的观点,人的政治立场是写入基因的.那么一个员工做事情的基础价值观也是写入基因的.单纯的演技都坚持不了太久.而且你也很难像周星驰电影<济公>中一样,重塑一些核心的东西.这事儿,我走过弯路,对人抱有过幻想,结果发现,没有济公那样的金刚钻,就别高级揽瓷器活儿. 然而,除了核心价值观外,其他的对企业的理解.对事业的价值塑造.

转:几个软件研发团队管理的小问题

几个软件研发团队管理的小问题 最近在与一位总经理交流的时候,他谈到他们公司的软件研发管理,说:"我们公司最大的问题是项目不能按时完成,总要一拖再拖."他问我有什么办法能改变这个境况.从这样一个问题开始,在随后的交谈中,又引出他一连串在软件研发管理中的遇到的问题,包括: . 现有代码质量不高,新来的开发人员接手时宁愿重写,也不愿意看别人留下的"烂"代码,怎么办? . 重构会造成回退,怎样避免? . 有些开发人员水平相对不高,如何保证他们的代码质量? . 软件研发到底需