敏捷项目管理只是追求高效吗?
许多公司正在考虑进行敏捷转型,但是大部分企业在转型过程中都遇到了失败。失败的原因各不相同,但是要想成功转型,有一些规律是需要遵循的,首先就是要正确选择敏捷开发。
所谓“正确”选择,就是选择敏捷开发的“目的”是正确的,也就是说敏捷开发能够解决企业期望解决的问题。如果敏捷转型的动机不正确,那么即使转型成功了,也不能解决原本期望解决的问题,这样就算是失败了。很多企业想要转型敏捷开发的原因是因为“开发人员的效率低下,无法按时完成老板要求的功能和速度。”
敏捷开发真的能解决效率低下的问题吗?
敏捷开发并不是用来解决所谓的“开发效率”问题的,如果真的想要提高开发效率,可以从人员技能培养、流程优化、工具改进等方面入手,而敏捷开发本身并没有太大关系,反而可能会降低效率。因为这里的“效率”被理解为在更短的时间内由同样的人完成既定的功能,或者在相同的时间内完成更多的功能。
敏捷开发本身会降低效率的原因主要有:
1) 敏捷开发更加强调沟通,沟通频率可能会比以前更高,沟通时间可能会比以前更长,这会占用更多的个人工作时间,可能导致实际开发时间比原本开发某个功能所需的时间更长;
2) 敏捷开发是从用户视图出发,切分工作任务是纵向划分,与原本的分层设计、分层开发方式不同,可能会要求工程师成为所谓的“全栈工程师”,而传统的开发方式一般是横向划分任务模型,人员的任务分配方式不同,必然需要调整人员的技能结构,这会增加一定的学习成本,使开发人员感觉工作量增加了,短期内可能会表现出开发效率的下降,而且要求所有开发人员对需求的理解能力也更高,所以很多人会感觉敏捷开发对人员的要求更高,实际上是因为对人员要求的改变导致现有开发人员能力不足的现象;
3) 快速迭代会增加重构的工作量,会导致许多感觉功能不断被修改的浪费。如果不能正确理解这种感觉,不仅会误以为影响了工作效率,还会让程序员感到受伤,因为他们认为自己不断在重复工作;
4) 敏捷开发要求更多的数据收集,需要更多的信息透明度,随着敏捷成熟度的提高,需要收集的信息也越多,这会占用一定的精力。如果不能正确理解这些数据的价值,会让程序员觉得浪费了很多时间做无用功,反而降低了开发效率。
那么,敏捷开发解决的是什么问题呢?
它解决的是企业效益最大化的问题,评价敏捷开发的成功与否要从转型后企业效益的整体提升情况来评价,不能仅仅从主观判断开发人员完成的功能数量和速度来评价。敏捷开发主要通过以下方式帮助企业提升整体效益:
1) 拥抱变化。长期的计划很难制定得可行,所谓的“人月神话”只是个神话,在计划执行过程中,世界的变化会导致需求的变化,需求的变化必然导致开发工作无法按计划进行,而且作为开发过程中最重要的因素,人时刻都在变化,人员会有更替,人会有情绪,人会有私事,各种因素都会影响计划的执行,所以计划要短期,及时调整才能应对变化导致的计划不可行性,避免走弯路;
2) 快速响应。市场环境的变化越来越要求产品和服务的及时响应。按照传统方式规划半年一个版本,一旦需要调整需求,后面所有的计划都得改变,这会给项目管理带来很大的挑战,变化的成本非常高,多数情况下会因为多数人的反对而无法实施;
3) 快速将功能推向市场变现。在很多商业环境下,“成为第一,胜过做得最好”是有效的,特别是在互联网行业,迅速占领市场变得尤为重要,这是在向时间要效益。举个简单的例子,比如一个应用做一个用户系统,其实非常简单成熟的技术,按照程序员的想法,最好是能够一次性设计完用户注册登录、修改密码、忘记密码、记住密码、登录验证码、注销等功能,假设按照分层设计开发的方法需要12个工作日,每个功能需要2天。而如果按照功能逐版本开发而不是一次完成,放在不同的版本里,可能需要18个工作日,每个功能需要3天,因为会有重构、修改界面等工作。但是应用可以在第3天上线,以后再逐步完成其他功能。如果按照敏捷的方式开发,可以在3个月之内推向市场,每个月有上千万的收入。这才是敏捷的真正价值所在;
4) 在有限的资源条件下,做最值得做的事。因为Backlog的每一项都具有唯一的优先级顺序,都已经排好序了,敏捷要求逐项完成用户故事,而不是全面开花,因为评价结果是二值的,完成就是1,未完成就是0,没有75%这样的说法,因为只有完成了才能交付,只有完成了才能投向市场变现。什么事最值得做,什么事的优先级就最高,也就是ROI最高,ROI是评价需求优先级的唯一指标。其实ROI是一个综合指标,非常复杂,与开发工作量、市场需求迫切程度、技术关联性、市场价值等因素有关,需要全方位评估。
其实,敏捷转型是进行企业蜕变的工具。公司发展到一定阶段,人员结构、组织架构都会制约企业的发展,而进行细微的、局部的调整并不能解决企业的根本问题,改革总是存在重重压力,新的制度总是难以执行。借助传统向敏捷的转型,可以对组织进行系统的优化。
所以,敏捷开发并不是用来管理开发人员的,也不是用来提高开发人员工作效率的,而是一种能够全面提升企业团队绩效的方法,要想进行敏捷转型,不仅仅是让开发人员参与,还需要对整个组织进行全面的变革。
版权说明:
1、特别声明:以上文章内容仅代表作者本人观点,不代表建米软件观点或立场。
2、免责声明:本内容来自互联网相关创作者,不代表建米软件的观点和立场。
3、文章版权:版权属于原作者所有,如有侵权、违规,可直接反馈本站,我们将立即删除。删除联系电话:400-8352-114
添加专属销售顾问
扫码获取一对一服务