不久前和同事交流的时候看到这样一段话,“在经历敏捷软件开发方法在中国传播和发展的过程当中,咱们深切地感到,缺乏对软件开发平常基础时间、尤为是与编程紧密相关的核心技术实践的指导,敏捷注定流于形式。缺乏完备的软件设计、开发和质量保障相关实践,盲目强调快速迭代、接纳需求变化,项目只会陷入质量迅速腐化、Bug百出、交付失控的悲惨境地。对于这种只得其形、尽失其神、缺少核心能力、空谈快速响应变化的敏捷,业内将其调侃为中国田园式敏捷”。为何会出现这样的问题呢?由于你们在学习敏捷开发的时候只是作到了形式上的模仿而忽略了对于本质的理解。那么,今天咱们就说说敏捷开发方法的核心目标是什么,掌握了其神,咱们在项目管理中就能够聚焦于敏捷的实质,达到事半功倍的效果。编程
目标1.更快更早的向客户交付价值微信
咱们先来看看传统的瀑布开发模式有什么问题。传统的瀑布开发模式软件会经历需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试等阶段才能发布,这一过程少则几个月半年,大型项目周期长达1年甚至更长,软件的价值在所有作好以后一次性交付。如今VUCA时代(商业和外部环境充满了易变性,不肯定性,复杂性,模糊性)等到产品或者项目正式发布的时候,商业环境或者用户的使用场景已经发生了很大的变化,产品或者项目的功能已经不能知足当时的需求,软件交付的价值大打折扣。框架
不一样于传统的瀑布开发模式,敏捷研发模式以迭代的方式持续进行,每一个迭代持续收集用户真实的需求以及上个迭代的反馈信息,持续的向客户或者市场交付能够完整运行的产品,持续的向客户交付价值。工具
价值又来自于什么? 应该来自真实的业务痛点以及客户实际的需求或者问题。不论是敏捷仍是瀑布或者其它的软件开发方法,其产生的价值取决于要解决的问题的价值,微信之因此成为伟大的产品,由于解决了人与人沟通,人与人链接,分享信息的问题,百度和今日头条解决了信息爆炸时代的信息检索,获取问题,一切脱离用户业务价值的软件研发活动,都是耍流氓。单元测试
目标2.更灵活的响应客户和市场变化学习
在瀑布开发模式的需求分析阶段,产品设计人员调研需求,设计产品功能这些设计决策活动都是基于假设或者信息并非很完备的状况下作出的,这就意味着距离后续的技术实现、真实的用户需求或者市场前景会有必定的差距,这种差距会致使后续技术实现、投放市场时会有不少非预期的问题出现。在敏捷开发中,决策是以持续增量的方式作出的。在每一个迭代发布后都会收集团队内部、客户、市场或者竞争对手等反馈信息,应用这些信息作出更正确的决策,在下一个迭代中实现,从而能够更灵活的响应变化。开发工具
综上,敏捷的核心在于提升一个组织更早交付价值,更灵活响应变化的能力,敏捷的一切实践活动都应该围绕着这两个目标来执行。咱们再看一个比较形象的例子,有很多朋友都喜欢看美剧,好比不少年前流行的《越狱》,18年的《权利的游戏》,你们会发现美剧在制做发行的时候有一个特色,是一集一集的构思剧本,拍摄,发行这样的制做流程,以后收集观众的反馈意见,根据你们的投票来决定后续的剧情发展,这其实就是和敏捷的思想是同样的,尽早尽快交付价值,收回成本,根据反馈信息优化后续产品,这样才能制做出受你们欢迎的产品。测试
那对于一个产品或者项目而言,是否应该采用敏捷研发的方式呢?笔者认为,要根据具体的商业和竞争环境,项目特色来分析,不能一律而论。好比互联网产品,竞争很是激烈,晚几个月出来就没机会了,同时技术发展,用户需求变化很快,就很是适合敏捷。对于一些传统行业,软件相对比较稳定,比较大型的项目(须要顶层设计,自顶而下分解后再集成),产品的一体化程度比较高好比汽车这样的产品就不太适合持续交付价值,就不必采用敏捷研发的模式。决策者必定要回归到软件的价值和本质上来思考,不能盲目跟风。优化
下面推荐一款适合各大团队使用的敏捷开发工具CORNERSTONE,它是一款基于智能化框架,能为企业打造专属管理体系的项目管理与协做平台,支持包含研发、缺陷、运营、销售等多场景项目管理。而且提供文件共享、wiki知识库、多功能报表、仪表视图、汇报等多种协同辅助功能,集成了DevOps、CMDB等多种配套工具。可以帮助企业科学量化团队表现,实时把控项目进展,全方位提高管理效能。编码
敏捷不是银弹,若是一个组织使用瀑布的方式作很差项目,换成敏捷或者其它方法必定也不行,相反,若是瀑布方式作的很好,换成敏捷只是水道渠成的事情,由于软件研发本质的方法是同样的,道理是相通的。这点拿金庸小说里武功高手打个比方,一我的内功足够强,他再学什么招式,都是一个相对简单的过程,欧阳锋逆转经脉,同样能够练成九阴真经,内功不够,使用什么招式都是花架子,行走江湖被人吊打。最后祝各位读者注重敏捷的神而忘记形,勤加练习内功,早日练成本身的独门绝技。