代码改变世界

论敏捷开发的优缺点

2017-06-20 14:43  老鱼大哥  阅读(20947)  评论(0编辑  收藏  举报

踏入软件开发行列时间不算短了,也使用过很多项目管理软件和方法,但是在使用过程中多多少少都会遇到一些问题吧,同行们或多或少也会有相应的体验。近期试用了一下华为最新推出的项目管理工具-华为软件开发云,接触了敏捷开发,产生一些想法。以下是使用体验,仅供同行们参考。

一、敏捷开发技术的几个特点和优势:

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

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

3.客户合作胜过合同谈判

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

二、敏捷开发技术的12个原则:

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

2.即使到了开发的后期,也欢迎改变需求。

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

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

5.围绕被激励起来的个人来构建项目。

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

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

8.敏捷过程提倡可持续的开发速度。

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

10.简单使未完成的工作最大化。

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

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

三、敏捷开发技术的适用范围

1.项目团队的人数不能太多

2.项目经常发生变更

3.高风险的项目实施

4.开发人员可以参与决策

根据以上三点,大体可以总结出:

优势:

敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。

劣势:

但敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。

需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。

结合华为软件开发云,他们提供了两种项目创建方法:Scrum和Scrum精简,可以结合自己的不同习惯,选择合适自己团队的方法,这点还是不错的。

同时,华为软件开发云,在文档和百科管理上,也增加了自己的特色,有效避免传统敏捷开发的劣势。大家不妨试用一下,后续有什么建议和想法,欢迎一起探讨。