PM研究项目管理:什么是敏捷开发

软件开发


浏览:1389 次

近日,微信创始人张小龙在WXG(微商集团)领导大会上的演讲再次刷爆了互联网人的朋友圈。圈内人士阅读了一篇题为《张小龙最新的内部演讲:注意KPI和流程》的文章,其中谈到了敏捷开发。产品神张小龙这样描述“敏捷开发”:

事实上,这样一个小团队在未来几年的工作远远超过了之前几十人的努力。这个小团队是如何工作的?这个小团队当时使用了一种叫做敏捷项目管理的方法。这里的一些同事可能不太了解这个词,但腾讯当时鼓励使用这种方法。我建议,如果你没有仔细研究过,你可以研究一下。我们确实采用了一种非常灵活的方式来推进项目。

我们今天可以想到一些不同的想法,然后我们很快就能看到效果,因为我们很快就可以把它放到网上,然后我们就可以验证它。如果错了,我们可以下线。如果有改进的余地,我们可以在下周改变。这是一个可以不断实现你的想法的过程。

事实上,敏捷开发对于产品经理来说并不陌生。近年来,中国越来越多的互联网公司也开始使用敏捷开发方法进行项目管理。你可以在许多公司的办公桌和椅子附近随处可见带有各种颜色笔记的白板和任务墙。然后,当你每天早上上班时,几个人围绕着白板召开站立会议,这是敏捷开发的一个典型特征。在硅谷和国外其他地方,敏捷开发已经被谷歌、Facebook、LinkedIn等企业应用。

另一方面,从理论上讲,如果一家公司有全职项目经理,那么产品经理就不需要做项目管理。此外,优秀的项目经理在产品迭代过程中扮演着重要角色。然而,对于大多数国内创业公司来说,由于团队规模的限制,产品经理往往承担一定的项目管理职能,因此产品经理有必要了解一些关于项目管理的知识和技能。

什么是敏捷开发?

什么是敏捷开发?让我们把它一个一个地拆开。

敏捷与非敏捷

当然,敏捷的对立面是非敏捷的,但这个“非敏捷”在软件工程中有一个专业术语叫做“瀑布式开发”。

所谓瀑布式开发,实际上是经典软件工程方法所总结的项目管理方法论,目的是定义一套完整的过程规范,使软件开发的运行与机械设备的运行一样正常。该方法分为五个阶段:需求分析、设计、编码、测试和维护。在需求分析阶段,通常定义系统需求并定义系统目标;在设计阶段,通常确定系统使用什么数据库、系统模块的划分以及每个模块的功能;在编码阶段,设计阶段的任务通过编程语言实现;在测试阶段,主要测试功能是否实现,bug是否正确;在维护阶段,根据用户的新要求对系统进行修改,使系统运行正常、更稳定。

瀑布开发的局限性也非常明显。例如,对市场变化和用户需求的反应很慢,变化成本很高。产品一上市就有可能失败。

敏捷开发是一种基于用户需求演变和迭代渐进方法的软件开发方法。因此,在快速变化的互联网和移动互联网时代,每个人都逐渐意识到敏捷的优势。我们还看到,越来越多的互联网产品每周快速发布一次,这是为了快速响应市场和用户的需求。

敏捷开发的一些特点

1.迅速采取行动,尽快交付

在互联网时代,尤其是移动互联网时代,随着时间的变化,市场环境、用户需求、竞争对手等因素都在不断变化。需求方(如用户、市场、运营、老板或产品本身)将不断向产品提出新的需求,以应对这种变化。为了让需求方尽快看到结果并给出反馈,我们应该小步构建产品并快速运行,并尽快交付新版本。对于敏捷来说,可用的软件比完整的文档要好。例如