您的位置:首页 > 其它

软件测试思想者 - 什么是敏捷?

2017-07-02 00:42 369 查看


软件测试思想者 - 什么是敏捷?

敏捷在时下比较流行,世界500强中的众多公司都在进行着敏捷实践,比如,IBM、Microsoft、HP等。但是,什么是敏捷呢?似乎没有定论,本文试着给出一种理解。

对于敏捷的理解,可以从敏捷的核心、原则和方法三个维度来理解。简单来说,敏捷就是以敏捷联盟宣言倡导的敏捷价值观为核心,遵循敏捷的12条基本原则,采用适合自己的优秀的敏捷方法的成功软件开发实践。

以下是几个正确的敏捷观点:

敏捷不等同于一个流程或一种方法(XP、Scrum)。

敏捷不等同于一套固定模板。

敏捷不是一种可直接重用的方法,实践敏捷需要因人而异,因地制宜。



一、敏捷的核心

敏捷的核心是2001年敏捷联盟宣言倡导的敏捷价值观。

我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:

个体和互动 高于 流程和工具(Individuals and interactions over processes and tools)
工作的软件 高于 详尽的文档(Working software over comprehensive documentation)
客户合作 高于 合同谈判(Customer collaboration over contract negotiation)
响应变化 高于 遵循计划(Responding to change over following a plan)
也就是说,尽管右项有其价值,我们更重视左项的价值。



二、敏捷的原则

1、我们的最高目标:通过尽早和持续地交付有价值的软件来满足客户。

2、欢迎对需求提出变更:  即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。

3、要不断交付可用的软件,周期从几周到几个月不等,且越短越好。

4、项目过程中,业务人员与开发人员必须在一起工作。

5、要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。

6、无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。

7、可用的软件是衡量进度的主要指标。

8、敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。

9、对技术的精益求精以及对设计的不断完善将提升敏捷性。

10、要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。

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

12、团队要定期反省如何能够做到更有效,并相应地调整团队的行为。

三、敏捷的方法

敏捷联盟所使用的敏捷方法如下:

1、软件开发节奏(Software Development Rhythms)

2、敏捷数据库技术(AD/Agile Database Techniques)

3、敏捷建模(AM/Agile Modeling)

4、自适应软件开发(ASD/Adaptive Software Development)

5、水晶方法(Crystal)

6、特征驱动开发(FDD/Feature Driver Development)

7、动态系统开发方法(DSDM/Dynamic Systems Development Method)

8、精益软件开发(Lean Software Development)

9、AUP(Agile Unified Process)

10、Scrum

11、XBreed

12、极限编程(XP/eXtreme Programming)

13、探索性测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息