首先,我们先认识一下敏捷开发的发展之路:
那么敏捷开发与传统开发有什么区别呢?我们可以对比一下。
软件更像一个活着的植物,软件开发是自底向上逐步有序的生长过程,类似于植物自然生长
敏捷开发遵循软件客观规律,不断的进行迭代增量开发,最终交付符合客户价值的产品
敏捷开发原则,我们可以参考一些经验:
1: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software 。
翻译:尽早并持续地交付有价值的软件以满足顾客需求。
2: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage
翻译:敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势。
3: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale
翻译:经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。
4: Business people and developers must work together daily throughout the project.
翻译:业务人员和开发人员在项目开发过程中应该每天共同工作。
5: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
翻译:以有进取心的人为项目核心,充分支持信任他们
6: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
翻译:无论团队内外,面对面的交流始终是最有效的沟通方式
7: Working software is the primary measure of progress.
翻译: 可用的软件是衡量项目进展的主要指标
8: Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
翻译: 敏捷流程应能保持可持续的发展。 领导, 团队和用户应该能按照目前步调持续合作下去。
9: Continuous attention to technical excellence and good design enhances agility.
翻译: 只有不断关注技术和设计才能越来越敏捷。
10: Simplicity--the art of maximizing the amount of work not done--is essential.
翻译: 保持简明 - 尽可能简化工作量的技艺 - 极为重要。
11: The best architectures, requirements, and designs emerge from self-organizing teams.
翻译: 只有能自我管理的团队才能创造优秀的架构, 需求和设计。
12: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
翻译: 时时总结如何提高团队效率, 并付诸行动。
关于敏捷开发的方法也有好多种:
主要的敏捷开发为极限编程:
极限编程( XP )的主要目的是降低需求变化的成本。它引入一系列优秀的软件开发方法,并将它们发挥到极致。比如,为了能及时得到用户的反馈, XP 要求客户代表每天都必须与开发团队在一起。同时, XP 要求所有的编程都采用结对编程( pair-programming )的方式。这种方式是传统的同行审查( peer review )的一种极端表现,或者可以说是它的替代方式。
关于敏捷开发方法的更多信息,参考文章:http://blog.csdn.net/gscrum/article/details/4589457