我是一家创业公司的项目经理。最近有一个问题深深的困扰着我,让我一度想要放弃这个职位,另谋出路。究竟是什么问题呢?听我慢慢说来。随着IT产业的蓬勃发展,行业间的竞争压力也越来越大,有时候跟客户签好合同,订好业务后,过了一段时间,用户需求变了,但是这个时候,我们开发这边框架都搭建完了,代码都写差不多了,客户的需求,可能我们现有框架根本满足不了,我们要不要改?
改的话,首先不能影响客户的交付日期,但是这样势必会让开发团队,大量的加班,引发团队的不满;不改的话,就会影响客户的心情,客户觉得我就改这么一个小需求,你都不给我改,以后还能不能一起愉快的玩耍了?!但是用户不知道的是他的一个小需求,可能会影响最开始设计的框架。身为项目经理的我,真是两头为难。
后来,一次偶然的机会,我接触到敏捷开发。简直就是黑暗中的一缕曙光,让我找到了坚持下去的方向。后来,我了解到,有我这种问题的项目经理比比皆是。原来现在,因为科技的迅速发展,市场的需求也瞬息万变,很难再像以前一样实现产品需求的明确且完整的收集。另外,技术的发展也日新月异,对于所定义功能的可实现性也面临着多重不确定性的因素。
当需求的不明确性和工程实现的不确定性均超出一定范围以后,呈现出复杂系统的特征,传统的瀑布开发模型便不再实用。敏捷开发方法便应运而生。
那么敏捷跟传统的瀑布开发模式有什么本质的区别呢?
敏捷开发的一个核心思维模式的转换便是:从瀑布式开发所代表的“Fix Scope,Flex time”(固定范围,弹性时间)转向“Fix time,Flex Scope”(固定时间,弹性范围)。在市场变化和技术变化的背景之下,既然市场需求和产品定义所代表的“范围”无法实现固化,因而无法确定应该投入多少资源来完成,那不妨固定好已有资源的,以资源为约束,实现“范围”的最大化实现。因为从“计划驱动”转向为“价值驱动”。
现在解决问题的方向有了,可是怎么朝着这个方向前进呢?我用我们团队一直在使用的华为敏捷开发工具作为例子,简单介绍一下,作为一个项目经理,在项目管理上如何通过华为软件开发云实现敏捷开发。
首先,登录进入华为软件开发云的主页面,就能看到当前的所有项目,以及项目中所包含的所有的工作项,以及各个工作项的状态都一目了然的显示出来。
然后进入到一个单独的项目中。在这里这个项目具体的进展情况以及量化统计,都会以多任务看板的形式展示出来。
然后点击工作按钮,在这里可以看到该项目的整个规划情况,以及各个迭代的分支情况,Scrum流程中标准的backlog都可以在这里具体看到。在这里,我就不一一细说了,大家感兴趣的可以去试用一下。