稍微学一点项目管理
稍微学一点项目管理的相关知识。
项目管理是管理什么
项目管理的主要内容是交付管理、客户管理、人员管理和过程管理。
交付管理。 说白了就是要保证项目的按时交付,为了达到这样的目的,作为项目负责人需要关注交付范围、预算、人员计划和发布计划,并且需要实时监控项目进展,评估是否有潜在风险并给出应对措施。
客户管理。 有些团队可能没有我们平常意义上的客户,但是每一个客户都有一个广义上的客户。你可以认为你是Boss就是你的客户,或者是说甲方就是一个客户。作为团队的管理者,客户的所有沟通、合作都是你的职责。
人员管理。 重点是人员成长,如何帮助组员快速成长,并且在项目中承担更重要的角色。这是一个双向活动,就团队本身而言,需要组员成长一边提升交付能力;另一方面,作为组员提升自己的能力当仁不让。
过程管理。 主要是日常项目活动的章程,比如说新人如何更快的上项目,软件开发过程中的各种实践:站会,迭代计划会议,结对编程,代码检视,持续集成,当然也包括一些开发之外的活动,比如请假、Team Building等。
从开发转换到项目管理的初期是一个非常关键的过渡时期。之所以重要,是因为工作内容的转变是一方面,但更重要的是思维方式和工作方式都发生了巨大的变化,同时也需要为此对领导力的成长付出巨大的努力。
思维方式的转变
思维方式的转变,是从事必躬亲到委派任务。
你不可能完成所有的工作,必须帮助团队成员成长,并使其承担职责更加重要。比如,你手头上有两件事情。一件事是为下一个90天计划做准备。另外一件事情是和客户的技术带头人讨论某一个系统的未来架构。作为从技术出身的人,并且现在还在做着技术相关类工作的你,对于后者是更有把握的。以当前的团队领导阶梯储备情况,你必须亲力亲为这两件事情。但是渐渐的你会发现这样的事情越来越多,你从开始的逐渐适应变成了陀螺,忙得不可开交。其中一个非常明显的信号是,你的杂事会变的很多,一些会在刚开始的时候对你来说是有价值的,有挑战的,但到了后面,就是失去的原来的价值。因此你要做的是讲自己的工作或者职责一一列举,进而考虑那些事情必须自己来完成,哪些事情可以委派给别人完成。这样做的好处显而易见,你可以集中精力做应该做的事情,并给别人以成长的机会。
因此这时候要有意去培养自己的领导梯队,说白了就是培养自己的得意助手,即在某一方面可以成为的你备份,可以让你委以重任的人。如果我们拿交付管理举例子的话,你的成长轨迹应该是这样的:积累知识,从实践中学习;总结,形成理论观点;培养,构建自己的接班人。之后你的接班人再做同样的事情,生生不息。如果这样的事情持续进行的话,我们将会看到一个领导梯队不断交替的团队,就像是一个梯子一样,而你在梯子的中间,既为整个梯队培养人才,又是别人的培养对象,这是一个健康的团队的表现。在ThoughtWorks我们有一条不成名的规定,如果你想从某一个项目roll off,请找到你的接班人。大多数的情况是,这样的接班人需要你自己来培养,这也是作为高级咨询师的职责和技能的一部分。
工作方式的转变
工作方式的转变,是从关注局部到关注整体。
这个阶段对可能出现的问题就是只见树木不见森林。因为你必须从只关注一些开发细节,转变为能够关注项目的宏观层面,比如项目的交付进度,日期,潜在的风险以及相应的处理。举个例子,原来的你有可能只关注特性的开发,但是现在的你需要关注开发的整个生命周期=需求分析+开发+测试+部署+上线,每一个阶段无需深入细节,但必须在你的视野之内。从另外一个角度出发,也只有当你成功的培养了组员,并适当分配任务,才能在不陷入所有细节的情况下,对全局有所把握。反之,则需要你自己来发现所有细节,以便对整体有所把握。
工作方式的转变,也可以理解为从追随者到领导者。
所谓屁股决定脑袋,作为一个普通组员,所关心的事情无非是写好代码,配合项目负责人,其他一概不管。在很多的情况下,工作内容是别人指定的,更多的是扮演追随者的角色。但是作为团队负责人,则大大不同,需要完成一个从被决定者到做决定者的转变。这种角色的转变是不容易的,因为它所涉及决定的方方面面,不仅如此你还需要为结果负责。所谓事不关己高高挂起,当事关己时,则纠结不已。
另外在对外时,比如资源的协调,一定要有鲜明的立场——团队的利益是首要的。如果你的观察够仔细,你身边的项目负责人也够优秀,你就不难看到这样的场景——一个为了找到最佳人员的项目负责人和另外一个项目负责人争的面红耳赤,争执结束后他们又继续是好朋友。
"你要时刻保持学习的态度,保持竞争力。"