敏捷开发:高效软件开发之道 (学习笔记1)

          现在很多公司企业都在实施或者要求开发人员具备 “敏捷研发实践”,那到底什么是敏捷开发呢?

         我们都见过或者经历过因为开发过程冗余、笨重、繁杂而失败的项目。世上应该有一种更好的软件开发方法: 只关注真正重要的事情,少关注那些占用大量时间而无关紧要不重要的事情。它的学术名称就叫敏捷

        敏捷开发是一种以人为本、团队合作、快速响应变化和可工作软件为宗旨的开发方法。

        敏捷开发的宣言

                          1,个体和交互胜过过程和工具

                          2,可工作的软件胜过面面俱到的文档

                          3,客户协作胜过合同谈判

                          4,响应变化胜过遵循计划     

       敏捷的方法可以快速的响应变化,它强调团队合作,人们专注于具体可行的目标,实现真正的可以工作的软件,这就是敏捷开发的精神

       它要求团队中的每一个人(包括与团队合作的人)都具备职业精神,并积极地期望项目能够获得成功。它并不要求所有人都是有经验的专业人员,但必须具有专业的工作态度:每个人都希望尽最大的可能做好自己的工作。

        这意味着,我们不能在项目结束的时候才进行测试,不会在月底才进行一次系统集成,也不会再一开始编码的时候就停止搜集需求和反馈。相反,这些活动会贯穿项目的整个生命周期。事实上,只要有人继续使用这个软件,开发就没有真正的结束。我们进行的是持续开发、持续反馈。我们不需要等到好几个月后才发现问题:越早发现问题,就越容易修复问题,所以应该就在此时此刻把问题修复。

      这就是敏捷开发的重点所在。

      这种持续前进的开发思想根植于敏捷方法中。它不但应用于软件开发的生命周期,还应用于技术技能的学习、需求采集、产品部署、用户培训等方面。它包括了软件开发各个方面的所有活动。

       敏捷开发就是在一个高度协作的环境中,不断的使用反馈进行自我调整和完善。

      敏捷的团队应该采取什么样的工作和生活方式呢?

      首先,它要整个团队一起努力。敏捷团队往往是一个小型团队,或者是大型团队分为若干小型团队(10人左右)。团队的所有成员在一起工作,如果有可能,最好有独立的工作空间,一起共享代码和必要的开发任务,并且大部分时间都能在一起工作。同时和客户或者软件的用户紧密工作在一起,并且尽可能早且频繁地给他们演示最新的系统。

     我们要不断的从自己写的代码中得到反馈,并且使用自动优化工具不断构建(持续集成)和测试系统。在前进过程中,我们都会意识的修改一些代码:在功能不变的情况下,从新设计部分代码,改善代码质量。这就是所谓的重构,它是软件开发中不可缺少的一部分,编程,永远没有真正意义上的“结束”。

     要以迭代的方式进行工作:确定一小块时间(一周左右)的计划,然后按时完成它们。给客户演示每个迭代的工作成果,及时得到他们的反馈,这样可以保证方向正确,并且根据实际情况尽可能的频繁发布系统版本让用户使用。

posted @ 2012-07-08 14:24  沉枫  阅读(1137)  评论(7编辑  收藏  举报