导航:首页 > 程序命令 > 程序员团队管理

程序员团队管理

发布时间:2022-05-29 21:36:39

‘壹’ 如何做IT项目团队 组织管理

这几天张兴心情有点烦躁。张兴是一个资深的程序员,公司新委任他为研发团队主管。他这个大虾要带着一群小虾一起开发软件。没有想到他刚刚接手研发团队,就深深感受到研发团队建设的痛苦。
团队建设的最大病症:精神离职
项目管理说到底,核心是对人的管理。在张兴接手研发团队后,遇到的第一个难题就是团队成员常常是出人不出力。现在回忆起这些情况,张兴还感到后怕。这种情况的出现往往意味着在团队建设中隐藏着危险信号,并蒙蔽了团队经理的眼睛。如果不引起重视,团队建设将会前功尽弃。
让张兴非常苦恼的出人不出力,就是团队成员的精神离职,而这在团队中是普遍存在的。精神离职的特征表现为:工作不在状态,对工作不够认真,团队内部不愿意协作,行动较为迟缓,个人能力在工作中发挥不到30%,基本上是在无所事事的状态下结束一天的工作。
精神离职产生的原因大多是个人目标与团队愿景不一致产生的,也有工作压力、情绪等方面原因。正所谓百姓百心,在一个团队里大家由于心态、观念、能力的不一致使到很多研发工作进展缓慢。项目经理也往往不知道研发人员究竟是不会做还是不愿做,还是由于资源缺乏而不能做,从而很难让员工凝成一股绳高效地完成研发目标。针对精神离职者有效方法是:多沟通,用团队精神与团队愿景来提升工作状态,用激励手段提升工作热情。具体做法可以是安排假期,让精神离职者冷静思考,调整状态,然后根据实际情况考虑团队中是否会重新接纳。
工作群体与团队的区别
随着软件项目分工越来越细化,个人单打独斗的时代已经结束,团队合作提到了管理前台。软件开发不再是个人赛,而是团体赛,团队的组织形态越来越引起重视。
团队是指一种为了实现某一目标而由相互协作的个体所组成的正式群体。这一定义突出了团队与群体不同,所有的团队都是群体,但只有正式群体才能是团队。否则,只是一个伪团队或工作群体而已。
工作群体是一个小规模的人群组成,群体中每个成员不互相依赖地工作,以及不为彼此的结果而分担责任,因而工作群体的绩效是每个个体绩效的简单加总,不存在像团队的积极协作效应,也无法像团队那样实现1+12的效果。
工作群体与团队的差别之处:①关系期望。团队对成员表现在参与、投入、合作或支持等方面的期望较高,要求也较为严格。而在工作群体中,彼此间只是共同和睦相处,相互支持合作比较少。②沟通结构。团队有着更为复杂的沟通结构,对于信息交流、沟通程度要求都比较高。③运作方法。因为团队成员间相互依赖程度高,工作必须相互配合才能完成,所以格外关心共同工作的运行方式。
因此,仅把一组成员组合起来并不能称的上一个团队,要使成员发展成一个有效协作的团队,既要团队经理努力也要全体成员共同付出努力。一个高效团队对项目目标要有共同的清晰认识和理解,对每位成员的角色要有明确的划分,高度合作互助以及高度信任。团队成员不仅要完成自己的任务,还要协同其他成员共同完成研发任务。
高效团队的基石:分工平衡
研发团队建设虽不是一件轻松的事情,但也不象大多数人认为那样是一件非常困难的事情。在经过痛苦的挫折后,张兴明白到可以借助一些常见的管理方法来简化团队建设工作。除了明确工作质量、范围、工期、成本等目标外,高效团队的基石在于明确各团队成员的角色和责任分工,充分发挥团队成员各自的作用。
分工平衡和工作匹配是团队建设的两个重要方面。当失去了分工平衡,团队就会变得脆弱,团队合作远比个人总和重要。正如一个成功的橄榄球队,进攻,防守,教练,替补等各种角色都不可少。因此,团队经理需要真正做到人尽其材,每个成员都能够真正找到适合自己的位置,这样的成员配置才能达到一个平衡状态。
另一方面是工作匹配,是说开发任务必须分给技能和动力都匹配的人。对软件研发团队来说,辨别个人技能并做到最优分配是相当困难的,而且项目经理的个人主观意愿也可能使工作分配复杂化。但如果人才不能发挥所长,对软件研发工程师和项目经理来讲都是一个双重的打击。
项目团队考核指标:凝聚力建设
软件开发是一项集体运动,项目经理必须培养一种团队合作,而不是单纯的追求个人成功的氛围。团队凝聚力是无形的精神力量,是将一个团队的成员紧密地联系在一起的看不见的纽带。团队的凝聚力来自于团队成员自觉的内心动力,是团队精神的最高体现。一般情况下,高团队凝聚力带来高团队绩效。团队凝聚力在外部表现为团队成员对团队的荣誉感及团队的地位,团队凝聚力在内部表现为团队成员之间的融合度和团队的士气。
在软件开发项目管理中我们强调的团队凝聚力主要有责任感,协作精神等方面的内容。责任感是团队凝聚力最基本的要素,只有团队中每个人员都有了这种责任感,能够积极主动工作,才能够谈得上后续的沟通和相互协作,以达到团队所共同确定的目标。很多时候研发中出现设计太粗、编码阅读困难、或者编码BUG很多等问题,其实很多都不是团队成员的水平问题,更多原因是责任感不强。
协作精神在研发中是很重要的,即使完成一个简单的研发任务也需要团队的需求,设计,开发和测试人员来共同协作完成。协作精神在于互相尊重,团队内每位成员都尊重和认可其它成员所扮演的角色。如果团队成员间没有协作精神,主动沟通去解决问题,那研发项目质量就无法得到有力的保证。一个再优秀的成员如果没有团队观念,不愿意和他人协作是不适合呆在团队中,因为可能会使整个团队的协作精神土崩瓦解。
在实际的项目管理中,加强团队凝聚力建设方面采取的方法主要有:
1. 项目经理定期和团队成员进行单独沟通,了解成员对工作和个人职业发展的一些真实想法,使团队发展和个人发展两者相互促进,让团队成员感受到在做研发过程中个人技能的提高和个人成就感的增加。
2.团队定期组织相关的聚会和活动,加强团队成员间相互沟通和了解,活跃团队气氛,并把这种轻松和活跃的氛围传递到日常紧张的工作任务中,让团队成员更多感受到工作的乐趣。

1. 公平合理的绩效考核:通过将员工的奖励和员工绩效结合起来,强化绩效管理。推行项目绩效管理制度,除了有效管理项目成果外,在加强团队凝聚力、培养团队精神都极有帮助。一个有强烈协作精神和自驱力的团队对项目的成败起着至关重要的作用。因此,通过绩效考核激发项目成员的工作热情是一个很好的方法。

2. 协助成员技能提升:在研发过程中要让每个团队成员都感觉到自我技能的提升,但前提是团队成员有这种技能提升愿望和学习的热情。如果项目成员长期都是按部就班进行着重复的工作,那工作积极性和热情就很难持续的保持。因此,在研发过程中应该给每位团队成员承担挑战性工作的机会,充分信任团队目成员的能力,让团队成员体会到完成这些挑战后的成就感和个人能力的提高。
3. 表扬和鼓励:项目经理要时不时的通过各种方式表扬和鼓励团队成员,对成员完成工作的给予最大的肯定,这是对团队成员最好的激励方式。例如通过邮件或电话等方式对成员的进行单独表扬、肯定和鼓励;通过项目例会对团队中表现优秀人员的表扬;通过团队聚会和活动等方式对整个团队完成工作的祝贺和鼓舞。表扬和批评两者并不矛盾,对于团队成员连续犯错误的毛病应该给予批评,但一般采用单独沟通或邮件的方式进行,整个团队也应该定期展开一些自我批评,让团队成员感受到自己的不足和待提高地方。
4. 关注每个团队成员的职业发展:项目经理需要关注每个成员的职业发展和职业规划,对团队成员的职业发展给出一些建议,并为团队成员制定一些合乎实际的学习和成长路线。

‘贰’ 如何解决软件研发团队管理的问题

高效软件开发团队的特征

高效的软件开发团队是建立在合理的开发流程及团队成员密切的合作的基础之上的,成员共同的迎接挑战、有效的计划、协调和管理各自的工作以至完成明确的目标,高效的开发团队具有如下特征:

1、 具有明确且有挑战性的共同目标

一个具有明确的而且有挑战性目标的团队比目标不明确或不具有很大的挑战性目标的团队效率高得多,通常技术人员往往会因为完成了某个明确的任务,而且这个任务的完成具有挑战性的意义而感到自豪,反过来团队成员为了获取这种自豪的感觉而更加积极的工作从而带来团队开发的高效率,如作为系统设计人员很清楚的知道在什么时候要做到什么,什么时候开始做,什么时候必须完成,为了完成工作必须面临哪些挑战,怎么解决这些困难等为设计出一个高质量的软件项目提供了重要保证,而模模糊糊的去设计一个系统或模模糊糊的就去编写代码是非常危险的,而且会为此付出高昂代价,因此高效的软件开发团队具有挑战性的共同目标。

2、 团队具有很强的凝聚力

在一个高效的软件开发团队中,成员们凝聚为一个整体共同进行工作,他们是相互支持、互相交流、互相尊重的,而不是相互推卸责任、保守、相互指责的,在一些散乱的开发团队中往往存在这样的问题,一些程序员是比较保守的,明明知道另外的模块中需要用到一段与自己已经编写完成但有些难度的程序代码,他也不愿拿出来给其它程序员共享,不愿与系统设计人员交流,这样给项目的进度造成了些不可度量的因素。

3、 具有融洽的交流环境

在一个开发团队中,每个人行使自己的职责,如需求分析人员制定需求规格说明、系统设计人员做系统概要设计和详细设计、项目经理配置项目开发环境并且制定项目计划等,但每个人的工作不可能做到完美的,如系统概要设计的文档可能有个别地方词不达意,做详细设计的时候就可能会造成误解,项目经理制定计划时可能忽略了某种风险的存在而造成执行者过于紧张的压力等等情况都需要大家通过交流、反馈的手段然后协商解决的,因此高效的软件开发团队是具有融洽的交流环境的,而不是那种简单的命令执行式的。

4、 具有共同的工作规范和框架

高效软件开发团队具有规范性及共同框架的工作,对于项目管理具有规范的项目开发计划,对于分析设计具有规范和统一框架的文档及审评标准,对于代码具有程序规范条例,对于测试有规范且可推理的测试计划及测试报告等等。并且所有成员都明白自己的职责,知道必须完成什么计划?由谁来完成?什么时候开始?什么时候结束?按什么顺序?等,总之一个高效的开发团队无论是工作内容还是工作流程都具有不同程度的规范性和标准风格的框架。

5、 采用合理的开发过程

软件的开发不同于一般商品的研发和生产,开发过程中会面临着各种难以预测的风险,比如需求的变化、人员的异动、技术的瓶颈、同行的竞争等,高效的软件开发团队往往是采用了合理的开发过程去控制开发过程中的风险、提高软件的质量、降低开发费用,这样的团队会根据自身的必要程度决定要执行哪些工作?如配置管理、资源管理、版本控制、代码控制等,团队还合理的分划并定义开发过程的里程碑,决定每项活动内容的底线和审评标准,决定各项活动的先后关系或迭代的关系等。总之高效的软件开发团队的开发过程的原则是高效率、高质量、低成本。

‘叁’ 如何管理你的程序员

简言之,这些东西都是用来最有效的发掘你的员工的全部潜能的。你有了一个领导 基于此,我们通常会有一个重要人物,他可能是一个领导,一个经理或一个总监,等等。这就有了问题:这些人有什么样的特征?一个管理者和一个程序员之间的不同之处在什么地方?他们的角色可以互换吗? 为了弄明白这个问题,我们需要从人的视角上去思考。换种方式来说,我需要用到人的因素这个词。如果他错了呢? 首先,要想管理人,你需要去理解他们。要做到这些,我们需要有情商。这并不仅仅指只针对我们这部分人。我们做的任何事情中都存在情感,你要从个人角度去体验它,要熟练掌握,在我们的公司管理中的合作方式上不能忘记这一点。管理并不仅仅指控制和命令,它还包括聆听,理解,沟通和对复杂的情绪上的问题给出有效的方案,这都是至关重要的。弄清他们的感受 很多人都忽略了管理工作中的这方面问题。有时候会很戏剧化,类似于这样:“鲍勃,从明天开始你就是一名项目经理了,因为我们的程序员太多了,需要去管理,但不用担心,你就要去上一个Scrum大师班了”。我们都知道这样的认证证书是什么样的,有什么价值。这跟那个10天的ICC培训课程后成为一名教练的故事非常的相似——这行不通,你要铭记! 另一方面,Mark Foster在他的标题为《How to make your dreams come true(如何实现你的梦想)》一书中谈到,实现目标有两种方式:推(Push mode)和拉(Pull mode)。前者是使用一种工艺上的技术来完成一项任务,比如程序员编程,而后者依赖于经验、直觉和情商,从而选择最好的方式解决一个问题——这是管理者的视角。当使用这种管理模式时,管理者是不能和程序员进行角色互换的,反之亦然。一些大公司通常使用这种管理模式。而这种方式有时会损失一些员工的潜能,因为在多个级别的管理职位中产生的太复杂的层级关系。相互协作 为什么?很多的小公司都使用敏捷方法论。这是一种基于合作的方法论。上面描述的模式并不能满足他们的需求。在不同层级上的管理者和程序员之间始终存在着一个隔膜。人们会被分成“脑力劳动者”和“体力劳动者”。结果就是导致我们失去那些同样有大脑却从来未被使用的人。如今,所谓使用有效率的员工就意味着把所有人都当作脑力劳动者。 Evan Rose 说:命令/控制(Command-and-control)文化使人们把公司成员分成了脑力劳动者和非脑力劳动者。他们让脑力劳动者去思考,让其他人去执行命令。这种文化中,合作没有基础。更重要的,信息的流转应该是多向性的,而不是瀑布式的从高层经过多个管理层流到一线员工。事实上,如今的每个人都有资格成为一个脑力劳动者 现在出现了一种称作自我管理的形式,这种形式本是我们这个世界的基础。如果我们本来是自我管理的,为什么不更进一步呢?也许我们根本不需要管理者。37Signals 和 DHH都实现了这样的思想,描述起来如下:我们同样也让我们的团队管理自己。每周,一个员工会站出来当管理者,他制定简单的日程计划,审查其他人的工作,更新公司动态信息,他对于其他同事来说是一个关键人物。这种职务轮换每周一次。你知道我们发现了什么吗?当每个人都知道自己要当一周的国王时,神奇的事情发生了。对管理者强迫自己做某些事情的抱怨消失了,因为职务的轮换让他们有机会同时清楚的了解了围栏两边的景观。如果你让员工们这样做,这给了他们提高和成长的机会。找到共识,一起努力 但不要想当然。这并不是适用于任何地方任何人。但就像David说的:这种方法可行性很大。如果你能理解这点,你可以在团队或部门里试验一下。通常在小公司里当某方面出现问题时你能相当很快的对其作出反应,这能让你更容易的避免重大事故的发生。 简言之,不管你的管理方式是什么样的,永远要记住,在公司组织结构的深处有一种叫“人的因素”的东西,它在等待着你去照顾,它能摧毁你所有美丽的计划。唯一你防止这种灾难发生的办法就是要认识到:你在跟人打交道,不是机器。

‘肆’ 应该怎么管理程序员

我是一个非常能忍耐的人,非常能忍。事情是这样的,去年春天,由于上一个东家战略失误,导致我们部门被裁(悲剧啊),只好另寻他路,恰逢旧日总监空降到现在这家公司做老总,于是我就名正言顺的过来做嫡系部队。可等俺入职后,才发现这家公司水很深啊……。溜须拍马的人比比皆是,竭尽所能讨好领导,有些话我听着都觉得脸红心跳,胃部翻腾。此为公司第一阵营:谄媚,技术不精,管理不强,但是嘴上功夫了得,总能讨得公司一把手二把手欢心,无所不用其极,堪比现代“和珅”。这一层人比较少,金字塔尖嘛。公司第二阵营:埋头苦干,一心只读“圣贤书”,两耳不闻“窗外事”。这是一群被极度剥削的新人,新时代的农奴,工资在公司垫底,升职没他们,加薪更别想,技术没人带,基本处于群龙无首状态,每天得过且过。这一层人最多,是整个公司的金字塔底,任凭黄沙盖脸,毫无怨言。公司第三阵营:技术“大牛”,是的,这群人一般都是个小头头了,管理着为数不少的第二阵营,爱好钻研技术,沟通能力基本为0,未接受过正规化训练,一件事情要反复说多次方能“略懂略懂”,平时对自己手下不管不问,老子研究高深算法,你们还是自己看书学习吧。好吧,我来了之后就有了第四阵营:不服管教派。 先说说几件小事:1.刚来的时候,安排我进了一个开发中的项目组,让我写一个图片处理和加水印的模块,图片处理,其实就是根据用户上传的图片(像素很大,不适合网页展示),压缩成各种尺寸并加上网站logo水印,两天后,我写了一个通用的接口,传入图片的原始地址,水印地址并输入要生成的尺寸就可以了,给了他们一个打好的jar包。入口参数都用“中文”注释好了,可后面一直到一个月后,还是老是被问接口怎么用。2.其二,因为存储的图片很多,很大,项目组决定用分布式存储,选了Hadoop,这任务又被委派给我了,我一看,哥也没搞过啊,but,难不倒哥。上官网查文档,上google查资料,经过几天的折腾,终于把分布式集群搞好了,那个时候公司就一个运维,只会装系统搭路由,Linux系统安装和配置都是俺自己搞的,系统搞好后死活上不了网,又把机器从头到尾检查了一遍,去问运维,说我DNS地址设错了,试了好几个包括他给我的都不行,我不死心,去问运维,聊天的过程中无意间知道公司上公网是用路由过滤MAC地址的,果断让他查路由规则,我三台服务器的MAC地址没有一台在允许列表当中,oh,my god。好了,下面继续讲Hadoop,搭建好环境,写完程序接口后就把图片迁移到集群上,跑的还算稳定,就是读取文件的时候有点延迟。后来哥有事请假两天,打算回来解决延迟问题,可当我打开电脑兴冲冲的连接Hadoop时,timeout了,What the hell did they do?去问经理,说是我离开后服务器出问题了,项目组又没有人会,就把图片迁移回Apache,Hadoop集群关闭了。这尼玛!不是坑爹嘛!!!!公司“元老”们对我的到来表示非常的不欢迎,项目组两个月后就把我T出来了,让我自立门户,领导还专门关照我组建一个项目团队时刻准备为公司冲锋陷阵,这尼玛,整个团队就我一个光杆司令。以上只是技术的,一个对互联网一窍不通,对编程压根不懂的副总搞了一套CMMI作为管理手段,大会小会一个周要开三天,还有N多管理上的事情,不一而足,以至于我来两个月后就想离职走人。后来想想,就这么走了太特么懦夫了,我要组建自己的团队。于是乎招兵买马,从招聘、带人,制定项目规范、代码规范,学会了js,struts(以前做软件,没摸过这些,惭愧……),从去年年中的1个人道现在的6个人,我的项目组成型了。 好了,不扯闲话了,转入正题。我有182的身高,80kg的体重,我会一些拳击,练了五年田径,可是我从来不跟人拳脚相向。在生活里一直信奉“人不犯我,我不犯人,人若犯我,先让两个回合”的至理名言,可是今天早上上班打开邮件,我就不淡定了。 公司新推出了绩效考核,特别强调要量化量化再量化,最极品的是要量化“每周”写的代码行数。其实呢,大家都懂的,工作上按时把工作计划里的工作完成,保证正常上线,其实就OK了。可这位副总,不懂不说,还特别不信任员工,不舍得权力下放。不知道去进行内部团队的构建工作,偏爱相信外面什么培训老师,今天早上,竟然在邮件里,赫然把外面老师考核项写在绩效模板里,还占了20%的比重。一个根本不在公司,没和项目组成员进行沟通交流,连我们做什么项目都不知道的所谓“老师”,竟然要给我们绩效考核的“工作能力”和计划能力打分,真是奇葩啊!!此邮件一出,“和珅”们拍手叫好,高呼领导英明,坚定的站在公司领导这边坚决执行新规定;“农奴”和“大牛”们依然摆出关我屁事的姿态,只是农奴看书的时候把头埋的更低了,大牛们在写代码的间隙,会抬头眺望窗外,若有所思。作为不服管教的一撮人,自然是强烈的反对,再联想来了一年了,公司对加薪一事只有书面提过,CMMI文档还躺在SVN里。我觉得快要达到爆发的临界值。其实,我们程序猿都是很善良的,真的为了公司的项目可以整日加班,挑灯夜战,只是,时间长了,付出和回报不成正比,心也就冷了。俺带人时间不长,不过也总结了一些方法和道理,雕虫小技,众位莫笑。1.团队要规范: 从项目使用工具到代码规范,最好统一,有利于项目集成和维护。一个项目立项到结项,编码、测试、日志、监控、文档……,每个环节都很重要,关系着项目质量和进度,从这些环节抓规范,建立起一套良性体系,不论是对于成员还是项目本身,都是好处多多的。在项目组不忙的时候,适时的安排一些项目组会用到的技术进行钻研,写成文档并做简短的培训分享,对技术总结,口头表达和书面总结能力的提升都是有益处的。2.成员管理: 对于新手,要用正确的方法积极引导,鼓励他们多动手,不要埋头看书,毕竟看书和实际写代码差别还是很大的,每次带新人我都战战兢兢,一开始的习惯很可能影响到他们今后职业生涯,每每想到这点,肩上压力倍增。对于老手,要善于发挥他们的长处,以此带动项目组其他成员,共同进步。平时要多关心了解组员,让他们觉得项目组就像家一样,大家都是兄弟,在攻坚克难的时候,这种团结有爱的环境对于解决问题有奇效。在公司损害到成员利益的时候要坚决和成员站在统一战线。3.工作流程: 编程是一件需要专注去做的事情,所以在日常工作中,在不影响项目进度的情况下,流程越简单越好,繁杂不合理的流程会让项目进度严重拖延,且打击团队士气。4.对于公司: 真的希望有些对这个行业不懂的老总能看到,不要再用你的一家之见来做出错误的管理决定,残害手下的员工了。这个行业和传统行业不同,不是请几个讲师就可以把公司管理好的,那是狗屁。每年请讲师花几万,从里面拿出一部分奖励给工作出色的员工,效果要好的多。而且我们这个群体非常善良,你不提加薪,我们很多时候都不好意思提,真的。可是程序员也是人,人心易冷,那些新人累死累活工作一年多,还拿着两千露头的工资,每天还在喊着让他们加班赶进度,可能吗,对了,现在加班费都没,晚上加班连晚饭都不提供一顿,我只能呵呵?即使你把人留在办公室,心早已不在了。今天牢骚到这里吧,只要我在公司一天,就不能让这些不合理的东西影响到我的组员,我会战斗到底。最后,最近研究学习Swing,得到园子里不少大牛(不加引号的哦)的帮助,俺心里十分感激,等俺学成归来,一定出个专辑,好好报答各位园友。 多谢各位建议,小弟俺现在待遇还不错(算是嫡系优待吧),只是看不惯那些“和珅”党,并试图找出自己的管理之道作为对公司乱搬乱套管理模式的回击,毕竟手下还有六七个人,我走了就真的没人带这些兄弟了,他们也不会自己争取利益,真的是很善良的小兄弟,所以在我吃饱喝足的情况下,不能让兄弟们挨饿受气。

‘伍’ 如何做好技术团队管理

经常看到有人问程序员适合做管理吗,或者手底下有牛人比我技术更好怎么办,或者感叹一下做管理好难啊之类的。同时,相当大的一部分程序员都梦想着走所谓专家路线--并不是因为对技术特别有兴趣或者觉得自己特别适合走技术路线,真正的原因是对管理工作的恐惧,觉得自己搞不定定。做管理真的很难吗,程序员出身到底适不适合做管理,我可以斩钉截铁的告诉你:不难!适合! 上面的答案显然并不完全正确。不过我们今天我们讨论的并不是管理一个国家那样的管理 ,也不是管理一个公司或者半个公司这样的管理--绝大部分程序员同志们短时间内都不会有这样的机会,这样的话题也完全超出了我的知识范畴。我们今天讨论的只是基础的简单的管理,小到几个人的小组大到十几二十个人的团队,再大的都不在讨论之列,而且仅限于软件行业。所有的爷爷都是从孙子走过来的,做管理也一样都是从小小管理一点一点慢慢做大的。 这个问题问的很多,但是实际上管理一个团队更容易碰到的也是更头疼的问题是团队里没有牛人怎么办,所以用流行的话说要怀着感恩的心看待这个问题。有牛人意味着你可以在一定程度上脱离繁重的开发或者设计工作把更多的时间放在做好管理和决策等清闲的工作上,意味着你有精兵强将可以完成更有挑战性的项目,意味着你的团队可能创造更多的效益使你的管理工作看起来更出色,等等。这都是有牛人的好处。 但是,但凡牛人多少可能有点牛脾气,不好管。但是这个不好管究竟多大程度上是因为牛人的问题,又有多大程度是因为管理者的问题是必须要搞清楚的。 管理牛人与管理普通员工并无太大的区别,只是要更慎重更懂得平衡和技巧。因为牛人通常在团队里的影响力比较大,做好牛人的工作管理就已经成功大半了,以下是一些要点,其他的自己任意添加: 最重要的一点是要保持自信,既然能做到这个位置必然有自己的过人之处,找到它们并充分发挥; 倚重但不依赖牛人,并且让牛人自己也知道这一点; 注意培养新人,只有一个牛人并且有野心才是最危险的事,自己带起来的兵最可靠; 二、道与术 很多讲人讲管理喜欢扯到道与术上去,特别是半吊子的管理者更喜欢讲道,似乎道总是比术高一个层次。例如很多人看到我们上一个话题的讨论就会跳出来大叫,你只讲到了术的层次,还要从道的层次考虑;还有人会说,这样是玩弄权术,不行,做管理要靠心,以心换心。 讲以心换心的同学未免太过天真了,在社会上混几年的人都应该知道这一条并不总是成立的,哪怕我们宁愿相信它成立。做管理当然要待人以诚、以心换心,但是这并不构成做好管理的充分条件,一个在战略方向上总是举棋不定的领导哪怕人再好也会导致下属丧失安全感从而不愿意追随。 道与术的关系本质上就是一个指导思想与具体手段的关系,是心法与招式的关系,固然脱离了心法的招式容易走向混乱,但也从来没有一种心法能够凌驾于所有的招式之上并且脱离招式而独立存在。所以,所谓的道并不是很高深很神秘的东西,它只是给我们的管理工作提供一个总体的方向,所有的具体工作都是围绕着这个方向进行。我自己总结出来的管理好一个团队必须要做好的勉强能称之为道的几个方面如下: 保持团队的进步感,让团队成员感觉到自己每隔一段时间都能学到新的东西,值得为之付出的努力; 保证团队成员的归属感和自豪感,这样的团队才有凝聚力。 三、无为而治是很扯淡的事 《英雄》中的始皇帝说用剑的最高境界是不杀,这句话直接导致了无名丢掉了自己的剑。有人喜欢把这话套用到管理上--管理的最高境界是不管,我想说的是千万不要被这样的话忽悠了,也千万不要拿这样的话忽悠自己。 无为而治的境界虽高,但不是我等屁民能达到的,而且它有一个前提:虚其心、实其腹,弱其智、强其骨,常使民无知无欲,一句话讲就是愚民政策。而我们带团队不是带着大家吃吃喝喝没事打打球强骨弱智的,这是奥巴马要做的事,我们要辛辛苦苦的写代码要辛辛苦苦的给资本家创造剩余价值 ,所以我们还是要实实在在的做管理。 无为而治要不得,更要不得的是以无为而治为借口掩饰自己的无能。一些不合格的管理者可能害怕管、或者懒得管,心里过意不去就拿类似这样的借口来欺骗自己,时间久了连自己也相信起来于是就像阿Q似的飘飘然觉得自己也成了革命者。比如看到下属上班时开小差不管,下属犯了错误也不批评指正,甚至对下属上班时间接私活争一只眼闭一只眼,然后欺骗自己说大家都是打工的都不容易,想做点什么就做点什么好了,反正吃亏的是老板是资本家。看起来似乎是看破了红尘,闲云野鹤,淡然处之,孰不知这样的心态会直接断送掉自己的管理生涯,对自己的下属也没有半点的好处,若干年后(如果团队还没散掉的话)自己和自己团队既没有什么进步也找不到值得自豪的回忆,这才是真正的悲哀。 《技术领导之路》一书中讲到一个故事:一个团队共同处理一个技术难题,成员A积极的组织大家讨论,但多次尝试都没有成功,成员B独自思考并成功的解决问题,最后问团队成员最有影响力的时候大家选择了A。 可见,影响力并不仅仅是由技术牛不牛、能不能解决问题和能解决多少问题决定的。影响力的关键在影响二字,你的每一个能对其他人产生影响的行为慢慢累积起来就组成了影响力。判断影响力也很简单,其他人是不是愿意征询你的意见、是不是愿意相信你的意见都反映这你的影响力的大小,更简单的判断是你在团队中有没有小弟,有多少个小弟。如果你团队的成员有一半以上都是你的小弟,你想不做管理都难。 影响力的来源因素有很多,年龄、职位、技术能力、性格、学历等等都会对你的影响力产生影响,但没有一项是决定性的。所以可以让你稍微宽心的是你手下的牛人未必有足够的影响力,然而你必须要担心的是虽然你是领导但也未必在团队中有与你地位相称的影响力,如果你的某个野心勃勃的手下比你的影响力还要大那你就要小心了,不及早的扭转局势很快你可能就会被取而代之。 啰啰嗦嗦说了这么多,其实我自己做管理的经验非常有限,而且也仅限于比较基础的团队管理和项目管理工作。但是对于我这样一个从小就被我妈数落不是当官的料、被所有认识的人都认为是特别适合做技术、性格内向又有深深自卑感的人来说,能走上管理岗位并且做的不输于其他的同事已经充分证明了做管理并不是一件难到让人恐惧的事,虽然不容易但也不比做技术更难。不要相信做技术的不适合做管理之类的鬼话,说这话的人要么是怕你转作管理抢了他的位置,要么是公司害怕技术人员流失没人干活故意这么宣传的。适不适合做管理只和你自己这个人有关系,和出身无关。

‘陆’ 如何做好软件项目的团队管理

决定项目成败的不仅仅是范围、成本、进度的计划多么完美,而是团队是否能高效的工作。说到项目管理,很多人都会记得范围管理、成本管理、进度管理,这些都是衡量项目成败的要素,重视对这些要素的管理,无可厚非,但却忘了一个根本的问题,那就是:所有的这些目标都将是团队来完成的。计划做的再好,没有人去实现,或者没有忠诚的成员去实现,那岂不是空谈。

或许跟其他的项目不同,软件项目彻底是"以人才为核心"的项目,项目的主要成本来自于人力成本、项目的进度完全由成员决定,因此,在软件项目中,对团队的管理不仅仅是对进度的保障,更是对项目质量、项目成本的保障。团队管理才是软件项目管理中的重中之重。

然而,软件项目中的项目经理往往缺少团队管理的意识,这可能跟他们的发展历程有关。软件行业中,很多项目经理都是从程序员做起来的,我们都知道,程序员的职业发展规划路径都是"程序员--高级程序员--项目经理"。而串起这条职业路径的线,就是技术,这就导致了只要技术高,五六年自然都发展成为项目经理了。而软件的技术高手在沟通方面都普遍存在很大的问题,他们不善于跟团队成员交流、不善于人际关系、不善于鼓励与倾听,他们都喜欢独立的研究技术问题,在大家的记忆里,很多电影里,软件高手就是那种一个人可以破jie国家安全密码的人,他们往往不可能是整个团队的管理者。

‘柒’ 如何管理技术团队

团队管理的事情很多,尤其当团队规模更大时,如产品研发、市场支持、业绩考核、日常沟通、学习培训、工作氛围等,以及更多的日常琐事,如果没有一个好的管理思路,团队管理者往往被弄得手忙脚乱,不知所措,成天累得要死,还得不到团队的理解和认可,或者团队也被折腾的很疲倦。如果整理一下,我觉得可以把技术团队的工作归纳为三个“力”,即团队的凝聚力、战斗力和成长力,重点做好这三件事,会使团队管理工作事半功倍,得心应手。
随着现代项目日益复杂和行业跨度越来越大,技术团队的活动往往需要靠团队作战的方式,单枪匹马的时代已逐渐远去。拥有一个好的团队,是工作成功的一个重要的保障,因此团队管理和建设是团队管理者的一个重要工作。

所谓凝聚力,可以理解为团队成员的向心力、对团队目标的认可和共识程度等。在任何时候,管理者都应该能确保团队成员对团队的战略目标达成共识,使大家都用共同的目标;确保团队的认识是一致的,都能自觉主动心甘情愿的为目标去努力。“一切行动听指挥”。要保证团队有凝聚力,需要管理者能做好战略沟通和目标沟通。
所谓战斗力,可以理解为团队的执行力了。三分战略七分执行,说明执行往往来的更重要。在技术团队中,不缺少聪明的人才,不缺少高明的点子,也不缺少高手,但整个团队的执行力如何,是影响整个事情的进展。团队如果能踏踏实实的把东西做出来,按时交付出来,远比其他都要重要,现在的“敏捷开发”提倡的也就是这种思想。另外一种团队的战斗力,就是团队具有突击能力,比如当遇到紧急项目时,只要一声令下,大家就能各就各位,能都够加班加点,不怕辛苦,在预期时间把项目搞定。
所谓成长力,可以理解为团队的学习和自我学习能力。团队要发展,要有长足的发展,那么团队必须要有学习和成长,不断吸取新知识,不断创新,不断改进工作中不好的地方,不断提高工作效率,将技术最高效转化为生产力。团队的不断成长,才能使团队有能力迎接新的任务,有不断的创造力。一个不善于学习的团队,一个不成长的团队,终究会因时代的进步淘汰掉,终会因项目的时间积累而把团队拖跨。
凝聚力是思想,战斗力是行动,成长力是后盾力量,三者很好的结合,就能是团队管理工作变得有序有效,团队也将成为优秀团队。那么,如何提高凝聚力、战斗力和成长力,每个管理者、每个团队的情况都不通,可以采用的办法也不同。不管采用什么方法,管理者时刻需要对这三个“力”的情况不断检查,不断改善。

http://blog.jobbole.com/6997/

‘捌’ 如何做好一线互联网技术团队管理

经常看到有人问程序员适合做管理吗,或者手底下有牛人比我技术更好怎么办,或者感叹一下做管理好难啊之类的。同时,相当大的一部分程序员都梦想着走所谓专家路线--并不是因为对技术特别有兴趣或者觉得自己特别适合走技术路线,真正的原因是对管理工作的恐惧,觉得自己搞不定定。做管理真的很难吗,程序员出身到底适不适合做管理,我可以斩钉截铁的告诉你:不难!适合! 上面的答案显然并不完全正确。不过我们今天我们讨论的并不是管理一个国家那样的管理 ,也不是管理一个公司或者半个公司这样的管理--绝大部分程序员同志们短时间内都不会有这样的机会,这样的话题也完全超出了我的知识范畴。我们今天讨论的只是基础的简单的管理,小到几个人的小组大到十几二十个人的团队,再大的都不在讨论之列,而且仅限于软件行业。所有的爷爷都是从孙子走过来的,做管理也一样都是从小小管理一点一点慢慢做大的。 这个问题问的很多,但是实际上管理一个团队更容易碰到的也是更头疼的问题是团队里没有牛人怎么办,所以用流行的话说要怀着感恩的心看待这个问题。有牛人意味着你可以在一定程度上脱离繁重的开发或者设计工作把更多的时间放在做好管理和决策等清闲的工作上,意味着你有精兵强将可以完成更有挑战性的项目,意味着你的团队可能创造更多的效益使你的管理工作看起来更出色,等等。这都是有牛人的好处。 但是,但凡牛人多少可能有点牛脾气,不好管。但是这个不好管究竟多大程度上是因为牛人的问题,又有多大程度是因为管理者的问题是必须要搞清楚的。 管理牛人与管理普通员工并无太大的区别,只是要更慎重更懂得平衡和技巧。因为牛人通常在团队里的影响力比较大,做好牛人的工作管理就已经成功大半了,以下是一些要点,其他的自己任意添加: 最重要的一点是要保持自信,既然能做到这个位置必然有自己的过人之处,找到它们并充分发挥; 倚重但不依赖牛人,并且让牛人自己也知道这一点; 注意培养新人,只有一个牛人并且有野心才是最危险的事,自己带起来的兵最可靠; 二、道与术 很多讲人讲管理喜欢扯到道与术上去,特别是半吊子的管理者更喜欢讲道,似乎道总是比术高一个层次。例如很多人看到我们上一个话题的讨论就会跳出来大叫,你只讲到了术的层次,还要从道的层次考虑;还有人会说,这样是玩弄权术,不行,做管理要靠心,以心换心。 讲以心换心的同学未免太过天真了,在社会上混几年的人都应该知道这一条并不总是成立的,哪怕我们宁愿相信它成立。做管理当然要待人以诚、以心换心,但是这并不构成做好管理的充分条件,一个在战略方向上总是举棋不定的领导哪怕人再好也会导致下属丧失安全感从而不愿意追随。 道与术的关系本质上就是一个指导思想与具体手段的关系,是心法与招式的关系,固然脱离了心法的招式容易走向混乱,但也从来没有一种心法能够凌驾于所有的招式之上并且脱离招式而独立存在。所以,所谓的道并不是很高深很神秘的东西,它只是给我们的管理工作提供一个总体的方向,所有的具体工作都是围绕着这个方向进行。我自己总结出来的管理好一个团队必须要做好的勉强能称之为道的几个方面如下: 保持团队的进步感,让团队成员感觉到自己每隔一段时间都能学到新的东西,值得为之付出的努力; 保证团队成员的归属感和自豪感,这样的团队才有凝聚力。 三、无为而治是很扯淡的事 《英雄》中的始皇帝说用剑的最高境界是不杀,这句话直接导致了无名丢掉了自己的剑。有人喜欢把这话套用到管理上--管理的最高境界是不管,我想说的是千万不要被这样的话忽悠了,也千万不要拿这样的话忽悠自己。 无为而治的境界虽高,但不是我等屁民能达到的,而且它有一个前提:虚其心、实其腹,弱其智、强其骨,常使民无知无欲,一句话讲就是愚民政策。而我们带团队不是带着大家吃吃喝喝没事打打球强骨弱智的,这是奥巴马要做的事,我们要辛辛苦苦的写代码要辛辛苦苦的给资本家创造剩余价值 ,所以我们还是要实实在在的做管理。 无为而治要不得,更要不得的是以无为而治为借口掩饰自己的无能。一些不合格的管理者可能害怕管、或者懒得管,心里过意不去就拿类似这样的借口来欺骗自己,时间久了连自己也相信起来于是就像阿Q似的飘飘然觉得自己也成了革命者。比如看到下属上班时开小差不管,下属犯了错误也不批评指正,甚至对下属上班时间接私活争一只眼闭一只眼,然后欺骗自己说大家都是打工的都不容易,想做点什么就做点什么好了,反正吃亏的是老板是资本家。看起来似乎是看破了红尘,闲云野鹤,淡然处之,孰不知这样的心态会直接断送掉自己的管理生涯,对自己的下属也没有半点的好处,若干年后(如果团队还没散掉的话)自己和自己团队既没有什么进步也找不到值得自豪的回忆,这才是真正的悲哀。 《技术领导之路》一书中讲到一个故事:一个团队共同处理一个技术难题,成员A积极的组织大家讨论,但多次尝试都没有成功,成员B独自思考并成功的解决问题,最后问团队成员最有影响力的时候大家选择了A。 可见,影响力并不仅仅是由技术牛不牛、能不能解决问题和能解决多少问题决定的。影响力的关键在影响二字,你的每一个能对其他人产生影响的行为慢慢累积起来就组成了影响力。判断影响力也很简单,其他人是不是愿意征询你的意见、是不是愿意相信你的意见都反映这你的影响力的大小,更简单的判断是你在团队中有没有小弟,有多少个小弟。如果你团队的成员有一半以上都是你的小弟,你想不做管理都难。 影响力的来源因素有很多,年龄、职位、技术能力、性格、学历等等都会对你的影响力产生影响,但没有一项是决定性的。所以可以让你稍微宽心的是你手下的牛人未必有足够的影响力,然而你必须要担心的是虽然你是领导但也未必在团队中有与你地位相称的影响力,如果你的某个野心勃勃的手下比你的影响力还要大那你就要小心了,不及早的扭转局势很快你可能就会被取而代之。 啰啰嗦嗦说了这么多,其实我自己做管理的经验非常有限,而且也仅限于比较基础的团队管理和项目管理工作。但是对于我这样一个从小就被我妈数落不是当官的料、被所有认识的人都认为是特别适合做技术、性格内向又有深深自卑感的人来说,能走上管理岗位并且做的不输于其他的同事已经充分证明了做管理并不是一件难到让人恐惧的事,虽然不容易但也不比做技术更难。不要相信做技术的不适合做管理之类的鬼话,说这话的人要么是怕你转作管理抢了他的位置,要么是公司害怕技术人员流失没人干活故意这么宣传的。适不适合做管理只和你自己这个人有关系,和出身无关。

‘玖’ 如何管理好一个团队 让每一位程序员

对研发人员考核建议要过于强调结应该注重对过程关注程序员种脑力劳动类似于研发考核由于其工作性质本身要求创造性结比较难于掌握单纯强调考核会打压其本身工作积极性符合客观规律 人觉得对们考核只要能确定们认真工作、努力工作、态度端正切围绕目标开展了!

‘拾’ 怎样管理软件开发团队

高效软件开发团队的特征
高效的软件开发团队是建立在合理的开发流程及团队成员密切的合作的基础之上的,成员共同的迎接挑战、有效的计划、协调和管理各自的工作以至完成明确的目标,高效的开发团队具有如下特征:

1、 具有明确且有挑战性的共同目标 一个具有明确的而且有挑战性目标的团队比目标不明确或不具有很大的挑战性目标的团队效率高得多,通常技术人员往往会因为完成了某个明确的任务,而且这个任务的完成具有挑战性的意义而感到自豪,反过来团队成员为了获取这种自豪的感觉而更加积极的工作从而带来团队开发的高效率,如作为系统设计人员很清楚的知道在什么时候要做到什么,什么时候开始做,什么时候必须完成,为了完成工作必须面临哪些挑战,怎么解决这些困难等为设计出一个高质量的软件项目提供了重要保证,而模模糊糊的去设计一个系统或模模糊糊的就去编写代码是非常危险的,而且会为此付出高昂代价,因此高效的软件开发团队具有挑战性的共同目标。

2、 团队具有很强的凝聚力 在一个高效的软件开发团队中,成员们凝聚为一个整体共同进行工作,他们是相互支持、互相交流、互相尊重的,而不是相互推卸责任、保守、相互指责的,在一些散乱的开发团队中往往存在这样的问题,一些程序员是比较保守的,明明知道另外的模块中需要用到一段与自己已经编写完成但有些难度的程序代码,他也不愿拿出来给其它程序员共享,不愿与系统设计人员交流,这样给项目的进度造成了些不可度量的因素。

3、 具有融洽的交流环境 在一个开发团队中,每个人行使自己的职责,如需求分析人员制定需求规格说明、系统设计人员做系统概要设计和详细设计、项目经理配置项目开发环境并且制定项目计划等,但每个人的工作不可能做到完美的,如系统概要设计的文档可能有个别地方词不达意,做详细设计的时候就可能会造成误解,项目经理制定计划时可能忽略了某种风险的存在而造成执行者过于紧张的压力等等情况都需要大家通过交流、反馈的手段然后协商解决的,因此高效的软件开发团队是具有融洽的交流环境的,而不是那种简单的命令执行式的。

4、 具有共同的工作规范和框架 高效软件开发团队具有规范性及共同框架的工作,对于项目管理具有规范的项目开发计划,对于分析设计具有规范和统一框架的文档及审评标准,对于代码具有程序规范条例,对于测试有规范且可推理的测试计划及测试报告等等。并且所有成员都明白自己的职责,知道必须完成什么计划?由谁来完成?什么时候开始?什么时候结束?按什么顺序?等,总之一个高效的开发团队无论是工作内容还是工作流程都具有不同程度的规范性和标准风格的框架。

5、 采用合理的开发过程 软件的开发不同于一般商品的研发和生产,开发过程中会面临着各种难以预测的风险,比如需求的变化、人员的异动、技术的瓶颈、同行的竞争等,高效的软件开发团队往往是采用了合理的开发过程去控制开发过程中的风险、提高软件的质量、降低开发费用,这样的团队会根据自身的必要程度决定要执行哪些工作?如配置管理、资源管理、版本控制、代码控制等,团队还合理的分划并定义开发过程的里程碑,决定每项活动内容的底线和审评标准,决定各项活动的先后关系或迭代的关系等。总之高效的软件开发团队的开发过程的原则是高效率、高质量、低成本。

阅读全文

与程序员团队管理相关的资料

热点内容
怎么能成为优秀程序员 浏览:244
智行app怎么查学生认证 浏览:556
万心pdf 浏览:92
哪个app能看3d电影 浏览:270
剑网三服务器是怎么运营 浏览:690
快手app快递在哪里查 浏览:474
开发聊天机器人python 浏览:855
程序员入职后无法工作 浏览:953
买海鲜用什么app好 浏览:923
看剧用什么app好 浏览:906
sql命令update 浏览:26
生意不忙怎么解压 浏览:501
欢太健康app在哪里下载 浏览:489
androidtools使用教程 浏览:972
十天突破雅思口语pdf剑9 浏览:296
李诞笑场pdf 浏览:266
自用纸巾做解压笔 浏览:130
银行流水解压码是多少 浏览:896
百度哪个app好用 浏览:317
115广告联盟源码 浏览:496