什么是敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态.
它的核心思想就是:以尽可能低的成本展现产品的核心概念,用最快、最简的方式建立一个可用的产品原型,用这个原型表达出你产品最终想要的效果,然后通过迭代来完善细节。特点和优势
- 精确。瀑布模式通常会在产品起点与最终结果之间规划出一条直线,然后沿着直线不断往前走。然而当项目到达终点时,用户通常会发现那已经不是他们想去的地方。而敏捷方法则采用小步快跑,每走完一步再调整并为下一步确定方向,直到真正的终点。
- 质量。敏捷方法对每一次迭代周期的质量都有严格要求。一些敏捷方法如极限编程等,甚至使用测试驱动开发(test-driven development),即在正式开发功能代码之前先开发该功能的测试代码。这些都为敏捷项目的整个开发周期提供了可靠的质量保证。
- 速度。敏捷团队只专注于开发项目中当前最需要的、最具价值的部分。这样能很快地投入开发。另外,较短的迭代周期使团队成员能迅速进入开发状态。
- 丰厚的投资回报率。在敏捷开发过程中,最具价值的功能总是被优先开发,这样能给客户带来最大的投资回报率。
- 高效的自我管理团队。敏捷开发要求团队成员必须积极主动,自我管理。在这样的团队中工作,每个团队成员的技术能力、交流、社交、表达和领导能力也都能得以提高。 、
评价
优点: 其实是针对产品经理的 , 产品需求的不确定性,和设计不到位,可以给更多的机会让他们有调头的机会
1.发版本更快了 2.沟通更快了 3.打太极,踢皮球的事,相对少了!因为团队人员少了,责任到人了! 缺点:- 会议更多了,一天一天开会的时候比平时更多了,各种评审,头脑风暴,
- 对开发人员的技能有更高的要求了,团队更小了,开发人员对处理问题的能力要求更高, 3.更强调无纸化 (当然写文档,或建模对开发人员也是头疼的事)
- 对后来接手的开发人员就更大挑战了, 文档很少,只能看代码