您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 其他 > 正文

技术转管理,我做了什么来拯救自己?

发表于:2018-09-07 作者:李雪涛 来源:51CTO技术栈

最开始,我极度不适应这个岗位。感觉很累,还不见成效。经过一年多的摸索,我终于在工作中总结出了一些心得和套路。

所以我想给技术转管理的同学们讲一讲:我做了什么,来拯救自己。

个人背景和公司背景


首先单说下我的个人及公司背景:

  • 我是一名野生程序员(就是非计算机专业毕业)。
  • 目前为止工作 4 年半,也就是说,我做了 3 年开发,1 年半管理。
  • 我写过 Android、iOS、Web 页面、Java 后端、Python 后端等等。虽然看起来像传说中的全栈程序员,但其实我心知肚明,就是那种啥都会但啥也不行的程序员。
  • 公司此前做产品,后来在产品的基础上转型外包扩大规模。
  • 公司转型的基础上,我也转型成了管理。
  • 我司项目经理是一个专门的职位,负责项目管理、技术架构、客户对接。总之项目的一切相关问题,包括技术问题,都由项目经理负责。

我做了什么

事必躬亲,会毁了团队也会毁了自己





这恐怕是所有从技术转管理的人都会犯的通病。我刚开始带团队的时候,核心代码都要自己写。

然后看同事进度的时候总是嫌这个慢,那个不行。看不下去了索性自己上手吭哧吭哧写好,这样弄得自己非常疲惫。

通常技术能力强的人,更有机会转型管理岗。所以在带团队的过程中,总是情不自禁的亲自动手完成别人应该做的事情。最终结果就是总会替代同事做他们自己本应该做的事情。

但这个行为对管理者来说,只会让管理者越来越疲惫。而对整个团队来说,更是温水煮青蛙,一步一步把团队带进深渊。

管理者负担太多工作,导致团队长期无法成长。轻则导致管理者累崩;重则导致项目崩塌、团队分崩离析。

我应该怎么办?实际上,影响别人去做好一件事,比亲自去做要难的多。

而我处理这个问题的方式如下:

  • 忍住自己亲自动手的心理
  • 复杂任务拆解细化,分派任务时明确任务目标和验收标准
  • 分派任务时给予同事鼓励,对他们保持充分信任
  • 有难度的任务,提供一定的辅助或者培训

多想、多说、多做


我开始带团队的时候,一直忙于处理各种各样的项目问题,写代码、沟通需求、进度汇报、现场演示。

大部分时间都埋头于项目本身,以为只要把项目做好,按时交付就行。做的太多, 导致思考的时间少了,对团队同事的关注也就少了。而一个团队领导者,多做是应该的,更重要的是多思考和多说。

思考什么:

  • 项目干系人是否清楚,干系人不清楚会导致项目管理混乱,出的东西不满足要求。
  • 需求是否合理,需求是否可以优化、技术架构是否满足需求。
  • 功能是否拆解到位,任务分派是否合理。
  • 若尝试新技术,是否有把握在出问题的时候力挽狂澜。
  • 团队成员状态如何,要如何激励他们。
  • 项目流程是否合理,如何改进。
  • 项目成本如何控制,时间节点如何把握,质量如何保证。

以上都是我目前每个项目都会思考的问题。项目管理者一定要告诫自己:不要用战术上的勤奋掩盖战略上的懒惰。

说什么:

  • 需求不清楚要问。
  • 需求可以优化要说,不要闷声发大财,坑的是自己。
  • 有困难处理不了要及时汇报给领导,悉知客户。
  • 团队成员有问题要给予正确指导,而不是放任自由。
  • 进度情况、项目情况要积极和客户保持沟通。

不仅是监督,更要做指引


“那个功能写完了吗?”;“这个功能怎么还没做好”;“你这个东西什么时候能够写完”。

以上是我日常工作中最常做的事情,即便到了目前,我依然在做这些事。

监督催促同事干活!每天像个监工一样,漫步在同事周围,监督他们的进度,在他们耳边逼逼叨。

但我认为,催促同事干活的不应该是项目经理,而是项目流程,是规则。每个人明确自己的角色,各司其职,由规则约束着大家前行。而不是简单靠项目经理赶着大家往前走。

但我并没有做好这个工作,目前还是处于制定计划、监督执行的死循环中。对于规则、流程只是有个模糊的想法,还不成型,也未经试验。暂不与大家分享。

救火能力固然重要,要防范于未然


我由技术转管理的初期,最擅长的事情就是技术。所以一直在项目中充当救火队员的角色。

有突发情况?我自己来;没有人能攻克的技术难点?那我自己来;开发了很久,发现需求理解错误?咔咔咔自己一顿改。

总之就是这有问题,咔咔咔自己一顿弄;那有问题,嗒嗒嗒自己一顿搞。总用自己的技术能力挽救项目中的各种突发情况。

而作为一个项目管理者,救火能力固然重要,要在关键时刻能够站出来力挽狂澜。但更重要的,我想是如何去避免突发情况吧。

要避免突发情况,就要思考如何做好风险管理。提早做好准备,把可能出现的未知风险扼杀在襁褓中。

在 IT 项目管理中,我认为风险主要存在于以下几点,应思考准备以便规避风险:

  • 需求变更。开发中需求变更是难免的,但如何控制需求变更,如何管理需求变更是我们着重要考虑的问题。SCALPEL 方法,大家可以了解一下。
  • 项目干系人不清楚,导致项目需求分歧。
  • 技术难点预估不足。总是会存在开发过程中才发现某项功能无法实现或者实现成本过高,这主要是由于前期对需求理解不足,对自我或团队太自信造成的。
  • 计划制定问题。开发计划制定有问题,可能由于错误的估计了团队的能力,项目的难度造成的。
  • 计划风险通常是由项目经理自己造成,需自我强化、学习、思考来避免此问题。
  • 组织成员问题。开发成员不足、人员离职、其他项目需紧急支援人手、团队沟通不畅都可能引起此问题。
  • 流程风险。过于流程化,导致流程工作占用太多开发时间,流程和灵活是一对冲突的概念。
  • 如何解决项目管理中流程化和灵活度的问题,我认为是项目经理较重要的能力之一。
  • 性能问题。开发过程中,最怕的是功能做完了,最后发现性能不行。导致前期开发工作全白费。

所以在需求阶段,软件的用户量,数据量都是要考虑在内的。在开发之初,就要在程序设计过程中将性能问题考虑进去。

保持内心强大


项目管理是一个磨人的工作。虽然外面说要做风险管理,但突发情况避免不了。一个合格的项目管理者,要有泰山崩于前而色不变的内心。

需求变了不要紧、计划变了不要紧、成员情况发生变化不要紧。毕竟我们都知道世界上唯一不变的就是变化,尽可能的给自己准备好 Plan B。

背黑锅要上,邀功也要上


我相信各位做开发的时候,最讨厌的就是那种黑锅你背,有功他领的 Leader。既然如此,希望我们也不要变成这样的人。

项目经理嘛,统管这个项目的一切。项目出了问题,不管因为什么原因,都一定是项目经理的责任。

你的同事可能在项目里表现不佳,你的客户可能经常变更需求。不管多少理由,都不是你甩锅的理由。有锅一定要自己扛着,所以,背黑锅要上。

做的好,也要说出来。超出客户预期的项目闪光点,要告诉客户团队的优秀。

项目完成的不错,要告诉老板团队的优秀。让客户让老板知道你们团队做的好,下一次他们才会给你们更充分的信任。

项目成员表现优秀的地方,不光要表扬,也要和上级说。你是和你团队成员接触最紧密的人,他们的优点别人不知道,但你知道。

所以他们优秀的地方,要宣扬,要让别的部门知道,要让上级知道。所以邀功也要上。

在帮派里,不能为兄弟们挡刀并引领兄弟们前进的老大是不值得追随的,弟兄们在你手下做事受尽委屈,争不了一口气,那这个老大也做不长。

技术出身的管理者中,我相信背黑锅要上是大家都能做到的。但技术人员不善言辞,总是闷头干活,不会表达。所以要适当学会邀功,为团队邀功。希望大家都能学会邀功也要上。

别抛弃技术,它可能是你的救命良药


做项目管理以后,尤其是像我现在这种一个人带多个项目的情况。管理工作会占用每天极多的时间。

这是工作本身需要你做的,无可厚非。我想说的是,即便如此,也要保证自己对技术的学习。

了解新技术也好,写写开源项目也好,总之要保持对技术的持续学习。它总能在你需要的时候帮到你。学如逆水行舟,不进则退,与大家共勉。

总结


总体而言,我认为一个新手项目经理,要学会以下事情:

  • 要学会带领团队成长,不要事必躬亲
  • 要多进行思考
  • 要学会风险管理
  • 要保持内心的强大
  • 要学会邀功

以上,就是我想和大家分享的内容,其中很多点,我自己做的也不是很好,依然需要自我练习和努力。希望各位技术转管理的同学,都能尽快适应自己的工作。

作者:李雪涛(zer0Black)

简介:主要从事项目群管理、需求分析、系统设计工作。带领 20 余人团队攻关在汽车领域一线,参与汽车领域设计、制造、试验测试、销售全阶段信息化改造。现任天津盛扬信远科技有限公司项目经理。