|
敏捷开发service.mypm.net
简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。pmp.mypm.net
敏捷宣言遵循的原则blog.mypm.net
我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。项目管理者联盟
即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。pmp.mypm.net
经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。bbs.mypm.net
在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。service.mypm.net
围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。项目管理者联盟
在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。转自项目管理者联盟
工作的软件是首要的进度度量标准。转自项目管理者联盟
敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。项目管理者联盟
不断地关注优秀的技能和好的设计会增强敏捷能力。项目管理者联盟
简单是最根本的。项目管理者联盟文章
最好的构架、需求和设计出于自组织团队。项目管理者联盟
每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。项目管理者联盟
当软件开发需求的变化而变化时,软件设计会出现坏味道,当软件中出现下面任何一种气味时,表明软件正在腐化。training.mypm.net
僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。项目管理者联盟
脆弱性:对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。项目管理培训
牢固性:很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。项目管理者联盟
粘滞性:做正确的事情比做错误的事情要困难。项目管理者联盟
不必要的复杂性:?设计中包含有不具任何直接好处的基础结构。项目管理者联盟
不必要的重复性:?设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一。项目管理者联盟文章
晦涩性:很难阅读、理解。没有很好地表现出意图。training.mypm.net
敏捷团队依靠变化来获取活力。团队几乎不进行预先设计,因此,不需要一个成熟的初始设计。他们更愿意保持设计尽可能的干净、简单,并使用许多单元测试和验收测试作为支援。这保持了设计的灵活性、易于理解性。团队利用这种灵活性,持续地改进设计,以便于每次迭代结束生成的系统都具有最适合于那次迭代中需求的设计。bbs.mypm.net
为了改变上面软件设计中的腐化味,敏捷开发采取了以下面向对象的设计原则来加以避免,这些原则如下:项目管理者联盟
|