敏捷思维在项目管理中的应用与分析
2020-02-14雷栋
【摘要】随着互联技术的发展,特别是进入21世纪以后,互联网技术的应用也越来越广泛,从事互联网创业的公司也如雨后春笋般应运而生,可是如果大家还是按照以往的软件开发模式来管理项目,当软件产品开发完成时也许市场上已经没有你的位置了,所以对于软件产品需要快速迭代,缩短开发周期、并推向市场验证可行性的项目管理模式。
【关键词】互联网企业 项目管理 敏捷思维
一、传统项目管理思想
传统软件项目开发管理方法主要强调软件项目过程的规范化与工程化,其中最为典型的代表方法就是瀑布模型方法。瀑布模型法实际上源自一种软件开发架构,它于1970年被温斯顿□罗伊斯(Winston Royce)提出。
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
从本质来讲,它要求软件开发过程通过一系列阶段严格按照顺序展开,从系统需求分析开始直到产品发布和维护,依次通过。即是每个阶段每个活动都只进行一次,最后得到软件输出产品。上一个阶段产生的输出结果被作为下一个阶段的输入对象,并且在利用上一阶段输出结果的基础,对该结果进行评判,若是符合标准,就实施下一阶段活动;若是得不到确认,则返回上一阶段,重新执行操作直到结果得到确认。
总而言之,瀑布型的开发模式开发周期太长;需求变更时会需要重新返工,增加开发成本和风险;在项目末期才可以看到成果,不易及时发现问题等缺点。
然而当下互联网软件项目期望开发周期不要太长,开发成本不要太高,能迅速应对变化,传统的项目管理模式与人们的期望是南辕北辙的,因此需求新的项目管理思维成为了必然选择。同时对于当下瞬息万变的市场,以及不断革新的互联网技术,“变”成了常态,因此传统的项目管理思想瀑布模型也需要革新。
二、敏捷思维
(一)敏捷的定义
在软件开发领域,“敏捷”有时被人们等同于某种具体的敏捷方法如Scrum和极限编程(XP)。Scrum是一种软件开发模型,它是建立在多个小型团队紧密合作基础上的一种模型。
戴维·里克( David rico)博士对敏捷性有一个更通用的解释:在变化无常的全球商业环境中,能够快速响应变化并做出改变以获得收益;当需求、技术和知识发生变化时,能够快速地重新调整资源配置;通过充分地与客户互动,对突如其来的市场变化和新的竞争做出快速反应;通过发展的、渐进的和不断迭代的发布以整合成最优的解决方案通过恰当、不过分的和及时的流程和文档来实现最大的业务价值。
戴维·里克( David rico)博士的解释可以突出说明敏捷的最大优点就是为了应对变化而生。
(二)Scrum角色分配
Scrum Master(Scrum推动者): 是Scrum教练和团队带头人,确保团队合理的运作Scrum,并帮助团队扫除实施过程中遇到的障碍。
Owner(产品负责人):确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品投资回报率负责。
Developer(开发者们):由开发者组成,人数5-9人,团队拥有交付可用软件需要的各种技能。
(三)Scrum的四个会议
Sprint计划会(Sprint Planing)
每日站会(Daily Scrum)
Sprint评审会(Sprint Review)
Sprint回顾会(Sprint Retrospective)
(四)敏捷的开发的优点
提高可交付产品的质量;快速适应变化;提供更好的计划并且花费更少的时间创建它们;更好地控制项目进度和状态。
(五)敏捷开发的特点
统一团队:跨部门、跨职能沟通、提升协调和沟通能力;迭代开发:小步、快跑;用户故事:尽早发现小问题,杜绝大问题;站立会议。
(六)总结
敏捷开发通过逐步细化、迭代前进的方式,分阶段地将需求予以实现。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷软件开发要注意项目规模,规模增长,团队交流成本就上去了,因此敏捷软件开发暂时适合不是特别大的团队开发,比较适合一个组的团队使用。对于一个创业公司一个小的团队也可以考虑优先选择敏捷的方式管理项目。
总之,敏捷思维是进行最小可行性(Minimum Viable Product,MVP)研究最方便的项目管理方式,快速迭代开发,推向市场听取用户反馈,然后及时调整功能规划。
三、敏捷思維在中项目管理的应用
(一)项目介绍
“马踏飞燕”app是一款比价产品软件,目前已经上线的业务线有:机票、酒店、门票、火车票、出行、电影院、租车、医美(美容产品),共8条业务线。作为一款比价产品的app从0到1 的过程之中并不是所有业务一起开发上线的,不同业务线不同时间的开发和上线也就是一个敏捷思维在项目管理之中的应用。
对于一个创业公司而言,重要是快速推出产品,到市场上去验证可行性,如果等全部的业务线都开发完成上线,不知猴年马月了,,市场也可能被人占领,也许到时你做出来的再好也无济于事,其实对于互联网的软件创业项目而言,有太多失败的案例了。
一款app有一个0到1的过程,对于其中一个业务线也是一个从0到1的过程,一条业务线的开发上线一开始并不是完美的,也是一个不断完善和迭代的过程,由于自己开始负责机票业务线时,机票已经经历了0到1这个阶段,而是从1.1起步的。我所做的工作就是一个不断完善的过程。以下仅从机票业务线版本的迭代来说明敏捷思想对于项目管理的应用与分析。
(二)版本迭代
对于每一次功能的迭代安排以及项目管理,我是根据项目的需求类别来换分的,不同的需求点,放在不同的项目版本之中,比如:机票的退票、机票的改期、延误险、订单页面优化等等,当然有时可能不是相关的功能,这类每次迭代都是按照项目需求功能的异同来进行迭代,或者根据优先级来划分。
开发流程:
以机票“延误险”版本为例说明敏捷思想的应用。
(1)市场分析:机票产品与延误险一起销售可以说是市场的需要,其实就目前国内各地旅游的平台也都有这块的业务,可以说是市场是成熟的,对于我们自己的app而言,别人有,我们没有的话就是我们的不足,与别人对比就是我们的劣势来,因此对于开发上线此功能显得尤为重要。
(2)业务分析:既然决定开发延误险功能,就需要有对接的第三方保险服务商,因为对于保险业务我们本身是没有资源的,所以也就只有选择第三方对接了,与第三方对接延误险但需要切合我们本身机票业务,对方的延误险只支持国内机票,我们也就优先给我们国内机票增加延误险产品了。
(3)需求分析:主要分析延误险的相关属性,例如:有效期、投保状态以及与下单流程。
(4)原型设计。搞清楚需求,以及了解清楚第三方提供的接口文档内容,就进入原型设计阶段了。此阶段主要是完成下单的设计和后台订单的展示,以及对于异常情况的处理,比如:购买失败等。
(5)ui设计。产品经理完成原型设计由ui同事根据原型图设计效果图,即产品最终长成的样子,颜色也好,文字样式也罢,都由ui同事来负责。
(6)开发。ui设计效果图的同时,开发同事已经根据需求文档进行数据库等基础功能的开发,ui完成页面设计后,开发同事在进行页面的开发。
(7)测试。开发的同事完成功能开发后交给测试的同事进行功能的测试。
(8)验收。产品经理负责验收需求是否都已经实现,ui同事负责验收ui设计稿,即视觉层面的验收。
(9)上线。大家都确认没有问题后,由项目经理来发布上线通知,安排项目上线。
(10)反馈。项目上线后,运营的同事根据用户反馈以及市场反馈的结果在进行需求的整理,反馈给产品经理,然后再进入下一个循环,对不足进行弥补。
一个个小的循环,组成了一个完成的项目开发周期,提高了开发速度,缩短了开发周期,降低了成本。
(三)会议
早会:每天的早上10:00项目组的成员都会开一个早会,主要交流是否遇到了问题,以及今天的主要工作内容;周会:每周一的下午四点项目组的所有成员都会开周会,主要讨论现阶段的工作内容,以及下一个阶段的安排,以及遇到的问题;总结会:项目上线后一方面总结在本次迭代之中需要吸取的经验和教训,另一面方面收集该功能上线后运营和用户的反馈,方便不断优化。
敏捷思维在项目管理的每个阶段的应用前景越来越广泛,以上仅从敏捷对于项目管理开发的角度来阐述,也許还有不足,希望指正。
四、结语
当今不断变化的互联网环境下,互联网企业的项目管理方式也在不断革新,由于当下软件产品差异性、个性化增加,在项目管理中需要灵活应用各种技术,提高软件开发效率、降低软件开发成本,保证软件的产品质量。
作者简介::雷栋(1989-),男, 山东省济南市平阴县人,学士,中国社会科学院研究生院,研究方向:项目管理。