18世纪,亚当斯密在《国富论》第一章中写道,分工产生效益。
现今,随着科技的发展,各行各业分工越来越细。
就软件来说,开发一个网站,需要介入的角色有:
产品(要做一个什么样的网站)
UI/UE(这个网站要长什么样,用户的操作流程是什么样子的)
前端/后端(代码实现)
测试(发现产品开发中的问题)
运维(发布/实施)
....
随着知识的细分,一个人无法专业的掌握整个流程的所有信息,当然这样也是不高效 的,所以需要一个团队去完成这件事, 在这个团队中,每个角色都拥有相应部分的专业性,通力合作,就可以达成目标 。
但是你会发现,这件事参与的人多了,沟通成本就越来越大,低效的项目管理流程会导致许多冗余的沟通成本。比如说,项目代码开发阶段,产品同学突然发现有个功能点需要优化,这个时候,他可能就需要通知团队里面的所有人,告诉他们他最新的idea,这不仅打断了其他人的工作思路,而且如果团队中有其他人有不同意见,那么产品同学可能就要先陷入说服别人的大坑之中....
所以,项目管理的目的是高效协作的完成一个目标,为此出现了许多方法理论,敏捷开发就是其中一种,它会给你定义沟通的原则,角色的功能职责,流程规范等,而stand up 就是敏捷开发中重要的一环。
我们来看下stand up 的几个内容:
每天十五分钟,固定地点,每个成员都要发言,每人发言 30 - 60秒
每个人讲述自己昨天完成了什么,今天将会做什么,目前遇到了什么问题
....
为什么要有stand up ?
团队之间同步目前状态 ,使整个项目发展更可控
有上下管理的角色成员了解对方状态,便于时间安排
发现问题,需求帮助
总结,回顾,相互监督,保证良好的团队氛围
...
stand up 规定了时间,地点,它告诉我们,如果你的发言时间太长,那么应该私底下像目标人员讨论,而不应该占用大家时间,我觉得它的核心目的是时间管控,当然,敏捷开发会从许多方面去管控一个项目,团队合作是一个很有意义的话题~
网友评论