为什么互联网创业一定要考虑产品迭代开发?
共 1729字,需浏览 4分钟
·
2016-08-18 05:57
最近一直跟客户解释迭代的重要性,让客户意识到整个产品团队认识到产品开发循环迭代的重要性,顿时有一种非常开心的感觉,跟程序员工作比较难以套路的就是产品的价值提升问题,而如果你真的接触过开发团队就会知道身为一个技术管理者,最大的责任就是帮助整个开发组利用最有效率的方式,发挥所有团队成员的开发战斗力,简单来说就是降低开发成本,不过并不是一直以加班或是压榨程序员的方式,而是让每个项目节点专业的开发者,都能在适当的整个开发的节奏,这就是技术管理的价值所在。
什么是“迭代”开发?
如果熟悉敏捷开发的朋友,应该对于“迭代”这个名词并不陌生,要认识“迭代”之前,有一些基本的名词是一定要先了解的:
项目开发负责人
主要是维持产品迭代的人,最常出现的地方就是负责项目主持会议的人,这边必须特别强调,迭代开发不负责评价时数,而是为了避免在项目会议中忽然有人插入新的议题,迭代负责人必须去负责挡住新的议题的产生。有的公司产品迭代负责人会用资深的工程师负责去协助解决技术上的问题,也有公司的产品迭代负责人会用PM来担任这样的角色,例如我们开发组团队迭代的负责人就是产品经理:Jane。
技术总监
描述产品的所有功能,可以用用户功能点的方式来进行描述。通常会依据重要程度给予每一个功能点一个分数,并且针对每一个功能点程序员会进行开发工时的评价,而每一次的开发迭代就会根据开发优先级就标明部分的功能点进行,直到开发完成。
产品经理
负责提出用户想法功能点的人。通常是产品经理或者是市场人员,产品经理跟程序员常常是处于不和谐的的状态,你懂的,但也因为技术总监在中间居中协调,所以让产品经理跟着整个开发组一起协同开发,并且解产品的技术状态,这样才能及时提炼出符合用户需求的功能点。
项目短期冲刺开发
短期冲刺通常为一到两个礼拜的时间,由于新加入的同事需要一些功能点的开发调整,那么开始前必须要让同事清楚之前开发的一些用户核心功能体验点,然后整个冲刺开发都要围绕之前核心的功能点去做,最后还要有时间去解决BUG,通常最后都会有个冲刺Demo,目的是为了了解目前产品的状况如何。
日常会议
日常迭代开发最重要的一环,用10分钟的时间,让所有的开发者进行回报以及提问,通常每个开发者会回答三个问题,「昨天做了什么?」、「今天预计做什么?」、「有什么被卡住的问题?」,这样可以让一个团队之间的步调以及问题最快达到同步,然后大家各自继续进行开发。
迭代开发最大的好处就在需求改变的时候
所有做产品的人都了解,产品走向改变的时候,通常都是最恼人的事,不过却是大部分产品都一定会发生的,而迭代开发的方法,最好的特点就在于每一个开发循环通常只有一到两周,所以产品功能点随时都可以接受增加或是减少,而不会影响到当下开发的进展,对于程序员来说,每一个项目冲刺的开发,都是专注在当下用户体验的实现,因此即使其他的功能已经改的完全不一样,也能够让程序员写程序的时候不受外力干扰,这样能够将产品经理跟技术工作完全切开,就不怕程序员一直跟产品经理吵架了。
为什么强烈建议要迭代开发?
迭代这个概念生存的目的就是为了更快推出产品给使用者试用看看。因此,不管是远程外包还是自己的程序员,都该好好运用迭代开发的理念。当下的软件工程比的是上线的速度,软件产品比的是贴近使用者的程度,越符合用户需求的产品,越能够让用户付费。所以,假设想做产品,不断的进行开发的循环,迭代开发最大的好处就是建立一套有制度的沟通方式,让产品经理提出的需求不会杂乱无章,而程序员的思考逻辑,也不会因为大家天天讨论产品方向,而乱了开发步骤。
总结
开发迭代只是一种制度、一种概念,因为开发是一个过程而不是一个结果。还有一些特殊情况:
程序员写了两三个月代码,有越来越懒散的趋势,要管理也不知道从何下手。
系统架构变大后,规划产品不知道从何下手,如何安排开发的优先级,每次更新都要等好长一段时间。
其实这些都是管理以及沟通上的议题,在开发的这个大议题上,最怕的是沟通障碍,大家不在同一个思维点上对话,从这些点来思考,迭代开发也许能够有效的汇聚大家的思维,不过当然也需要团队里面对于技术管理比较有经验的人来主持,这样会让产品开发的循环顺利许多。