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. PAT甲级——A1026 Table Tennis

    A table tennis club has N tables available to the public. The tables are numbered from 1 to N. For a ...

  2. 【python之路33】开发模式单例模式及简单的服务器请求框架原理

    1.单例模式指的是创建单个实例,例如:数据库连接池中包含10个数据库连接,用户访问数据时随机从连接池中拿出一个进行连接,其他用户再次访问时不再创建对象进行连接 #!usr/bin/env python ...

  3. tyvj 1423 GF和猫咪的玩具

    传送门 解题思路 题目比较水,floyd求出最短路取个最小值即可.结果joyoi时限写错了..好像只有0ms才能过??突然发现加了快读就T不加就A,数据在10000以下的还是scanf快啊. 代码 # ...

  4. SSM9-Redis的搭建

    1. Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一 ...

  5. PHP拓展 - xhprof性能分析工具

    Windows安装 参考:https://www.cnblogs.com/buexplain/p/4821619.html dll文件下载:https://windows.php.net/downlo ...

  6. WPF内嵌CEF控件,与JS交互

    1)安装cefsharp.winform包 打开VS2017,打开nuget,找到cefsharp.winform,安装 问:为什么wpf程序不使用cefsharp.wpf? 答:因为cefwpf 4 ...

  7. neo4j批量导入neo4j-import

    neo4j数据批量导入 1 neo4j基本参数 1.1 启动与关闭: 1.2 neo4j-admin的参数:控制内存 1.2.1 memrec 是查看参考内存设置 1.2.2 指定缓存–pagecac ...

  8. JAVA ——int 类型除法保留两位小数

    @Test public void txfloat() { // TODO 自动生成的方法存根 int a=9; int b=7; DecimalFormat df=new DecimalFormat ...

  9. Leetcode55. Jump Game跳跃游戏

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: true ...

  10. redis范围查询应用 数据库 数据库学习 Redis redis范围查询的方法

    redis范围查询应用. 需求 根据IP找到对应的城市 原来的解决方案 oracle表(ip_country): 查询IP对应的城市: 1.把a.b.c.d这样格式的IP转为一个数字,例如为把210. ...