最近我看一些项目管理,OKR 等相关的文章。原因很简单,就是感觉自己的团队的开发效率,交付质量等都不太让人满意。这其中的内部原因肯定就是项目管理的问题了。没有找到合适的提高团队开发效率和质量的方法论或者能够具体落地的可实施的方法。
在看了很多项目管理的文章之后,对于所谓的敏捷开发,我其实有了新的认识。在这里,我其实特别想问一下大家,敏捷开发到底是什么?这里大家可以停顿,思考一下答案,再继续往下看。
敏捷开发就是 Scrum、极限编程?
敏捷开发就是每天开个小站会,每周一个更新迭代?
敏捷开发就是把需求进行拆分,拆分成每个小模块,做一个甘草图或者在白板上进行进度的展示?
敏捷开发就是任务管理软件来管理开发进度?
来看一看敏捷开发宣言,其实,通过敏捷开发宣言我们就可以看出,敏捷开发并没有固定的流程和方法论,敏捷开发本质上就是一种思维,一种思想。说得更形象一点就是:敏捷开发仅仅是一种价值观和原则。
用我们中国的古话来讲就是:兵无常势,水无常形。兵无常势,水无常形,是古代的一种用兵作战思想,指用兵作战要根据敌情的变化来采取灵活机动的战略战术,不能墨守某种作战方法。
而敏捷开发是同理的,是我们软件开发的一种开发思想,用来指导我们应该采取灵活机动的战术来应对需求的不断变化,不能一味地按照瀑布流模型的方式按部就班。
其实,我们现在所有的实行敏捷开发的指导方式都逃脱不了这两点:小和快。
敏捷开发,敏捷,敏捷就是要求我们要快,而如何快呢?就要拆分成小的。
- 小 ,指的是要把需求,功能拆成一系列小的具体可执行的模块,增量迭代开发;另外,团队要小,人数超过一定规模就要拆分多个小组。
- 快,就是把所有的功能拆成固定大小的短迭代,对产品进行每周进行更新迭代。
敏捷开发作为一种价值观和原则,就是“道”,而我们在敏捷开发中使用的各种集成框架,各种开发工具,各种方法都仅仅是提高敏捷的“术”。
这就是所谓的敏捷开发。其实,你们肯定会认为,我们公司的开发不就一直在这么做吗?但是,效率和开发速度我感觉还是上不去。
为什么我会这么问呢?因为我感觉我们团队也是在这么做,但是大道理我们是都懂,但是依旧是过不好这一生啊!原因在哪里呢?我感觉其实,影响敏捷开发的还有团队文化。
我自从创业之后,管理团队之后,感觉最重要的一点是我们没有形成好的团队文化,没有自己的团队文化,就没有好的团队合作,这样的团队战斗力就很低。
所以,我最近在反思,如何构建一个有战斗力的团队文化,能够让大家形成内驱力?内驱力形成之后,不管是落地什么方法,都会非常方便的。
内驱力,也就是自驱力,在团队文化的带动下,如何让大家自觉的去驱动自己前进呢?你们有什么好的方法呢?大家其实可以一起聊一聊。