题注:在我们的软件开发过程中,项目启动通常需要:项目建议书或可行性方案评审,项目启动会,项目经理任命书,项目任务书,项目软件开发计划(配置管理计划、测试计划),繁琐不说,关键是最初的规划效率很低,——因为一般项目持续半年甚至一年多,期间是人非,业务需求更改,所作的很多规划工作回过头看发现没起到任何实质作用。我好奇,敏捷项目是如何启动的呢?因此就有了下面的对话。
对话人物:
jessica——me,提问者
Vincent Alan Xu-徐八叉...Avocado... ——vincent,敏捷项目实践者
名词,简称:
Iteration:敏捷方法中强调迭代过程,每一个iteration一般10-30天不等;
DEV:项目中的developer角色
PM:项目的Project manager
BA: 项目中的Business Analyst,可理解为需求分析角色。
jessica 说:
敏捷项目怎么启动的呢,有没有类似的项目任务书,项目经理任命书等等?
Vincent Alan Xu-徐八叉...Avocado... 说:
called iteration 0
jessica 说:
不会吧,总有成立Team的过程啊
Vincent Alan Xu-徐八叉...Avocado... 说:
preparing environment(a.k.a svn, dev machine, whiteboard, chairs, desktop, etc)
jessica 说:
oh,这直接就是Iteration0?
Vincent Alan Xu-徐八叉...Avocado... 说:
and communication plan
Vincent Alan Xu-徐八叉...Avocado... 说:
yup
jessica 说:
明白了
Vincent Alan Xu-徐八叉...Avocado... 说:
such as, how much activities in each iteration
jessica 说:
准备环境,确定具体过程中应遵守的基本规则
Vincent Alan Xu-徐八叉...Avocado... 说:
stand up, restrospective, client interview, showcase, requirement gathering meeting....
jessica 说:
那么一开始的时候是不知道项目在多长时间收工了?
Vincent Alan Xu-徐八叉...Avocado... 说:
not decided yet, just planing it and how long should an iteration be, and how long should a release be
jessica 说:
我的疑问是传统方法里面,立项的时候必须有软件计划
jessica 说:
但软件开发计划几乎没用
Vincent Alan Xu-徐八叉...Avocado... 说:
technical speaking, pain point spiking, architecture spiking
Vincent Alan Xu-徐八叉...Avocado... 说:
we don't have a "software development plan" after iteration 0
jessica 说:
所以改进的时候我想知道敏捷开发里面如何“启动”项目,做那些必要的事情
Vincent Alan Xu-徐八叉...Avocado... 说:
we have a "process plan" after iteration 0
jessica 说:
Process Plan?
Vincent Alan Xu-徐八叉...Avocado... 说:
or process vision
jessica 说:
请麻烦给我列下ProcessPlan中的要点,应该包括上述的准备环境,游戏规则了,还有呢?
Vincent Alan Xu-徐八叉...Avocado... 说:
answer the question: what should the process looks like
Vincent Alan Xu-徐八叉...Avocado... 说:
not gaming rule
Vincent Alan Xu-徐八叉...Avocado... 说:
gaming vision
Vincent Alan Xu-徐八叉...Avocado... 说:
there isn't any rule in agile process
jessica 说:
oh
Vincent Alan Xu-徐八叉...Avocado... 说:
1. iteration rhythm
Vincent Alan Xu-徐八叉...Avocado... 说:
and release rhythm
Vincent Alan Xu-徐八叉...Avocado... 说:
one of the most important things about a process, is keeping rhythm
Vincent Alan Xu-徐八叉...Avocado... 说:
so, iteration 0 is all about rhythm
jessica 说:
刚才你说了两点:1迭代节奏;2发布周期
jessica 说:
那还包括?
Vincent Alan Xu-徐八叉...Avocado... 说:
communication rhythm
Vincent Alan Xu-徐八叉...Avocado... 说:
client interview, require gathering, prioritization, release kick off meeting, show case and etc
Vincent Alan Xu-徐八叉...Avocado... 说:
those are external communications
jessica 说:
嗯
Vincent Alan Xu-徐八叉...Avocado... 说:
PM has to work hard to get an agreement with client about those things
jessica 说:
有没有一个项目启动会之类的东东?
Vincent Alan Xu-徐八叉...Avocado... 说:
no
Vincent Alan Xu-徐八叉...Avocado... 说:
it's useless
Vincent Alan Xu-徐八叉...Avocado... 说:
sometime, might be useful
Vincent Alan Xu-徐八叉...Avocado... 说:
but most of time, useless
jessica 说:
呵呵,那就PM随机跟大家(内部,外部)商量下,把Process Vision制定出来就可以了?
Vincent Alan Xu-徐八叉...Avocado... 说:
no
jessica 说:
然后发给大家知道?
Vincent Alan Xu-徐八叉...Avocado... 说:
first order of business
jessica 说:
那是怎么做?
Vincent Alan Xu-徐八叉...Avocado... 说:
getting agreement with client
Vincent Alan Xu-徐八叉...Avocado... 说:
and relative assurances
jessica 说:
你是指与客户探讨Process Vision?取得一致?
Vincent Alan Xu-徐八叉...Avocado... 说:
such as, every 2 weeks, we MUST have a 15-mins meeting with all operators
jessica 说:
这个任务是由PM独立完成,还是有其他角色参与?
Vincent Alan Xu-徐八叉...Avocado... 说:
that must be guaranteed
Vincent Alan Xu-徐八叉...Avocado... 说:
PM, PM from Client & Project Owner
jessica 说:
三个角色?
Vincent Alan Xu-徐八叉...Avocado... 说:
or more than that
Vincent Alan Xu-徐八叉...Avocado... 说:
no matter how many people involved
jessica 说:
总要有人对这个“Start”过程负主要责任啊,是项目组的PM?
Vincent Alan Xu-徐八叉...Avocado... 说:
you must get some guarantee from client to keep communication activities
jessica 说:
嗯,这个我明白了
Vincent Alan Xu-徐八叉...Avocado... 说:
PM & Client
Vincent Alan Xu-徐八叉...Avocado... 说:
coz we are cooperating to make the project successful
Vincent Alan Xu-徐八叉...Avocado... 说:
we can't make it only by ourself
jessica 说:
哦,那关于Group里面有那些成员,从哪天开始迭代?是不是也要在Process Vision说明? 还是没有任何文档?
Vincent Alan Xu-徐八叉...Avocado... 说:
we'll talk it later
jessica 说:
大家心里知道就行了? 传统的PM任命书到哪里去了?
jessica 说:
哦,没问题
Vincent Alan Xu-徐八叉...Avocado... 说:
now focusing on external communication
Vincent Alan Xu-徐八叉...Avocado... 说:
that's the point
Vincent Alan Xu-徐八叉...Avocado... 说:
no PM assignment
Vincent Alan Xu-徐八叉...Avocado... 说:
coz there isn't any hierarchical things between devs & pm
Vincent Alan Xu-徐八叉...Avocado... 说:
pm is just another role in the whole project
Vincent Alan Xu-徐八叉...Avocado... 说:
taking charge of communication and keeping rhythm
jessica 说:
可是总要说一下有谁在group里面啊
jessica 说:
否则其他的人会说, ××怎么消失了,到哪里去了??
Vincent Alan Xu-徐八叉...Avocado... 说:
yup, but it's RM's responsibility to do such thing
jessica 说:
而且a new start 多重要啊,象“誓师大会”,
jessica 说:
RM?HR?
Vincent Alan Xu-徐八叉...Avocado... 说:
Resource Manager'll talk with you, now, we have a new project, you will be in this project for at least 3 months
Vincent Alan Xu-徐八叉...Avocado... 说:
and then dev(s) should talk with PM to get the whole idea of what project do
Vincent Alan Xu-徐八叉...Avocado... 说:
and when it'll start
Vincent Alan Xu-徐八叉...Avocado... 说:
if it's a brand new project
Vincent Alan Xu-徐八叉...Avocado... 说:
RM might gather PM& Devs together, talking about the whole idea & time frame thing
jessica 说:
呵呵,懂了
Vincent Alan Xu-徐八叉...Avocado... 说:
normally, pm & ba'll start 2 weeks earlier than devs
jessica 说:
有了一个RM角色参与
Vincent Alan Xu-徐八叉...Avocado... 说:
to gathering requirements of first release of 4 iterations
jessica 说:
明白了,的确是一个有效的start
jessica 说:
我对我们现在的start“悲愤欲绝”,可是无力回天拉,
Vincent Alan Xu-徐八叉...Avocado... 说:
and then, after we got some requirments, then devs step in, kick off iteration 0
RM is a global role, he/she will arrange resource all over the whole company
transferring one from Project A to another
so that guarantees no hierarchy between PM and DEV
there isn't 'my people' in PM's eyes
jessica 说:
嗯,理解
总结敏捷项目启动的关键点:
1)
强调客户参与与决定权,客户对启动时的Product Vision负主要责任,而不是我们项目组自己根据自己的分析或臆断来拟定一份“项目任务书”;
2)
启动时更强调项目过程中活动的计划(沟通计划,迭代计划等),而非仅强调生命周期的整体计划;
3)
强调沟通,尤其是与客户的沟通,客户与项目组共同管理整个项目过程;而非我们自己初期就确定什么时候必须开始、什么时候必须结束;
4) 启动初期的产物仅出必要的文档产物,什么有用要什么,而非传统中一个项目启动一定伴随一堆文档产物和浩荡的启动会。
如果你感觉变化太多,计划总赶不上变化,那请让你的项目启动尽可能轻量级些,只做必要的工作,不要为了过程而过程,为了文档而文档。