http://blog.csdn.net/uxyheaven/article/details/50396951

从 Program Manager 看 Leader 是什么角色

转载请注明出处http://blog.csdn.net/uxyheaven/article/details/50396951

很多公司都自然而然的有个了Leader的虚职位, 比如iOS leader, Android Leader, 他们直接对技术经理或者是团队技术负责人负责. 这个角色具体有哪些作用呢?

大公司的项目经理叫Project Manager, 微软的叫Program Manager. 我们先来看看这两个职位之间的区别.

Project Manager Program Manager
是团队的行政领导 和大家平等工作, 推动团队完成软件的功能
通常是团队和外界打交道的唯一领导 一个团队可以有很多个PM
对项目的功能有最后的决定权 和其他团队成员一起形成决议
管事也管人 管事不管人
不一定做具体工作 一定做具体工作

大伙是不是觉得Leader角色和Program Manager很相似?

Leader也是和大家平等工作, 他推动团队完成产品需求. 一个团队一个端一个Leader. 遇到事情也是希望Leader是和其他团队成员采用商量的语气, 要团队成员共同做决定. Leader也确实没有行政上的管人权利. Leader还真的都是在干活, 需要要写代码.

Program Manager的出现让团队成员内部的互动出现了两个新特性:

  • 负责一个功能的开发测试人员和相关的Program Manager密切合作, 再由Program Manager代表这一小组去和别的小组或客户代表打交道, 大大节省了交流的成本
  • 有专人负责开发测试之外的许多事物和项目进度的管理, 让开发和测试人员专注于技术方面的工作

Leader的出现也让一个开发小团队出现了上述两个新特征. 额外的, Leader通常还需要负责部分核心模块的开发, 开发规范的定制, 新人的指导. 通常情况下Leader是团队技术最厉害的或者是资历最老的开发.

有同学要问了, 既然Leader那么厉害, 为什么不让他们领导开发人员和测试人员, 这样Leader工作起来不是更有利了么?

我们来看看为什么Program Manager没有这么做.

首先, 我们认为好的产品设计是在平等讨论(甚至争论)的基础上产生和完善的, 如果讨论的一方同事又是另一方的老板, 则无法进行平等和无拘束的讨论.

其次, Program Manager 的产品是规格说明书(Spec), Program Manager要凭借自己的能力, 把用户的需求展现成其他成员能够了解, 能够执行的语言, 从而赢得同伴的信任和尊敬. 如果Program Manager又是其他人的老板, 则不必写太好的Spec, 用命令即可说服别人. 再次, Program Manager不一定是很好的行政经理(管人的), 硬把管理不同的专业人员的任务加到Program Manager头上反而会坏事.

所以微软规定了Program Manager不是领导, 他是工作上的合作伙伴. Leader的角色也是如此.

所以我们要感谢那些做Leader的同学, 因为他们帮我们分担了大量的杂活, 他们的时间是间断的, 他们的技术深度成长速度没有我们快.

在一个产品中, Leader的具体任务有哪些呢.

我们还是先看看Program Manager的具体任务:

  • 带领团队形成团队目标, 远景, 把抽象的目标转化为可执行的, 具体的, 优美设计
  • 管理软件的具体功能的生命周期(需求, 设想, 设计, 实现, 测试, 修改, 发布, 升级, 迁移, 淘汰)
  • 创建并维护软件的规格说明书, 让它成为开发, 测试人员及时准确的指导, 而不是障碍
  • 代表客户和用户的利益, 主动收集用户反馈, 预期用户新的需求. 协调并决定各种需求有的优先级
  • 分析并带领其他成员形成对缺陷, 变更需求的一致意见, 并确保实施
  • 收集团队项目管理和软件管理的各种数据, 客观分析项目实施过程中的优缺点, 推动项目成员持续改进, 从而提高士气.

一个团队中Leader角色的具体任务和Program Manager很相似. 他同样需要带领团队, 需要参与大半的软件具体功能生命周期, 需要确保开发任务的顺利完成, 需要推动团队持续改进.

在这里诚心建议刚入行的年轻的程序员, 在没到高级程序员之前, 还是踏踏实实先学技术. 技术到了一定程度之后在考虑是技术线路继续走下去, 还是有机会就转管理.


从 Program Manager 看 Leader 是什么角色的更多相关文章

  1. 微软职位内部推荐-Principal Group Program Manager

    微软近期Open的职位: Standard job title: Principal Group Program Manager Discipline: Program Management Prod ...

  2. 微软职位内部推荐-Senior Program Manager

    微软近期Open的职位: Title: Senior Program Manager – Bing Multimedia Relevance Group: Search Technology Cent ...

  3. 没搞错吧,我只是个web前端工程师,不是manager,也不是leader...

    那个时候,我只想好好的学习web前端技术,恨不得把有限的时间和精力都放在提升技术上. 然而,让自己在坑里茁壮成长,要先适应坑内的环境. 首当其冲我们要弄明白的事情有: 团队成员的技术能力和状态 Lea ...

  4. 概念 : 用户>角色>权限 的管理(Role-Based Access Control)

    RBAC 用户管理规范 概念:每个user有多个accounts,每个account 有一个account binding,有多个roles和多个tasks 举个例子:某个用户现在manager,这是 ...

  5. asp.net中使用基于角色role的Forms验证

    http://www.cnblogs.com/yao/archive/2006/06/24/434783.html asp.net中使用基于角色role的Forms验证,大致经过几下四步:1.配置系统 ...

  6. Jenkins配置基于角色的项目权限管理--转

    本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...

  7. Asp.net中基于Forms验证的角色验证授权

    Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活. Forms 验证方式对基于用户的验证授 ...

  8. jenkins配置角色访问

    本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...

  9. 【Zookeeper】源码分析之Leader选举(二)

    一.前言 前面学习了Leader选举的总体框架,接着来学习Zookeeper中默认的选举策略,FastLeaderElection. 二.FastLeaderElection源码分析 2.1 类的继承 ...

随机推荐

  1. 获取地址栏URL中参数, getQuerySting()方法

    今天同事用的以前的获取url地址参数获取不到.以前的方法失效了.后面发现是正则表达式bug: 第一种获取方法(针对普通情况的一般够用): function getQueryString(name) { ...

  2. c语言学习笔记 函数数组传递笔记

    今天学习c语言的一个小例子,果然还是陷入了php的编程习惯里,这里记录一下. #include <stdio.h> //例子很简单,就是编写一个函数把传递进来的数组里的值都赋值为1而已 / ...

  3. Redis学习笔记03-持久化

    redis是一个内存型数据库,这就意味着,当主机重启或者宕机时,内存中的数据会被清空,redis可能会丢失数据.为了保存数据,实现数据持久化就必须要有一种机制,可以将redis数据库的数据保留在硬盘上 ...

  4. CImage 是基于GDI+的,很老的一篇文章,我很久很久以前看到过的

    在许多资料上都说CImage类是基于GDI+的,但是为什么是基于GDI+的呢? 因为使用这个类时,并没有加入#include <gdiplus.h> ,也没有在程序开始和结束时分别写GDI ...

  5. LINUX运行级别的原理

    在目录 /etc/rc.d/init.d 下有许多服务器脚本程序,一般称为服务(service), 在 /etc/rc.d 下有 7 个名为 rcN.d 的目录,其中 N=0-6,对应于系统的 7 个 ...

  6. openldap 2.4 centos7 常用配置

    新版的openldap弃用了sldap.conf配置文件,引入一种动态配置,所以尽量不要直接修改配文件 如果直接修改了配置文件可以用slaptest -u命令检查 1.安装openldap,可能需要e ...

  7. 二进制日志过期时间设置expire_logs_days

    # expire_logs_days参数只支持整数,且范围是[0,99] show variables like 'expire_logs_days';set global expire_logs_d ...

  8. php工作中常用到的linux命令

    压缩并指定目录举例:zip -r /home/kms/kms.zip /home/kms/server/kms 解压并指定目录举例:unzip /home/kms/kms.zip -d /home/k ...

  9. java多线程三种方式

    java多线程都有几种方式 有三种: (1)继承Thread类,重写run函数 创建: class xx extends Thread{ public void run(){ Thread.sleep ...

  10. WAP网站的推广方式(自整合篇)

    WAP网站推广随着无线互联时代的到来,已经日益受到大家的重视.虽然WAP网站的目前盈利模式还不是很清晰,但WAP网站推广的竞争强度将肯定会越来越激烈,下面和大家一起探讨下WAP网站的推广方法. 方法/ ...