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. springboot核心技术(四)-----Docker、数据访问、自定义starter

    Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使 用这个镜 ...

  2. 转:步步LINUX C--进程间通信(二)信号

    源地址:http://blog.csdn.net/jmy5945hh/article/details/7529651 linux间进程通信的方法在前一篇文章中已有详细介绍.http://blog.cs ...

  3. 单例模式(Singleton)(单一实例)

    单例模式基本要点: 用于确保一个类只有一个实例,并且这个实例易于被访问. 让类自身负责保存他的唯一实例.这个类可以保证没有其他实例创建,并且他可以提供一个访问实例的方法,来实现单例模式. (1)把构造 ...

  4. 禅道Mysql默认密码修改

    1.安装禅道之后进入MySql数据库时提示密码错误:(禅道数据库默认用户名和密码admin,密码无) 2.此时需要修改MySql用户名和密码才可进入禅道数据库: 3.在Linux中执行命令   /op ...

  5. Linux中如何安装mysql数据库

    安装mysql 1.解压源码压缩包 如果服务器可以上网也可以采用在线安装方式,在线安装操作简单具体见下面在线安装步骤 进入源码压缩包所在目录输入#tar -zxvf mysql-5.6.17-linu ...

  6. 使用jquery-file-upload实现上传图片时报empty file upload result错误

    原因:后台返回的json格式没有严格按照github中的格式返回 参考:https://groups.google.com/forum/#!topic/jquery-fileupload/0q8PN2 ...

  7. 玩转gulp之压缩打包热重载

    上节上上节我们讲了gulp的sass编译和watch监听,动态加载 这样我们就可以做到,我管我写我的sass然后保存,自动编译,就好像我们在写css一样,这是一个自动化的一大步.我们呱唧呱唧. 我们已 ...

  8. java swing多线程

    比如一个爬虫 在界面上显示当前时间,每秒都刷新一次用来判断软件是不是卡死 在爬取程序运行的时候,界面可能会卡死 那这就要把爬取程序放在另一个线程里边 同时,也可以把rtc放在另一个线程里边 具体代码, ...

  9. hibernate 注解使用

    实体类声明,需要引用 import javax.persistence.Entity; import javax.persistence.Table; @Entity @Table(name=&quo ...

  10. 日志lombok插件安装及配置

    安装lombok插件 下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 运行Lombok.jar java -jar ...