PM 如何帮程序员提高效率?做好这 5 件事 - 博客 - 伯乐在线
1) 沟通业务重点,思考技术重点
我们都在超负荷工作,我们有一堆希望可以在本周完成的工作。作为一名程序员,我需要评估每项要完成的工作所花费的精力,以及它们之间的关系。也许某个重构可以简化一项功能的开发,因此对这些工作做相应的排序是非常合理的。某项工作可能需要两周,而其它三个功能每个只需要半天就搞定了。我当然希望可以先完成它们。
但技术方面只是一方面的考量:对这些工作进行排序,需要了解业务的重点。什么功能对客户最重要?什么功能对收入有直接影响?这对我们决定集中精力先交付什么相当重要。我认为项目经理应该和程序员经常沟通项目的优先顺序,并且项目经理也得明白:他需要对业务方面和技术方面的项目优先顺序都加以考虑,才能决定我们下一步的工作是什么。
有时候技术的优先顺序也是很重要的:不能只考虑业务优先顺序而忽视它们,因为如果这样做会影响我们交付软件的质量,进而影响到业务。
2) 提前让开发者知道截止时间
曾几何时你突然发现有件事情需今天晚些时候就要交活?或者昨天的时候有人承诺客户会拿到一个新的版本?它们不是惊喜,而是惊吓。坦白来讲就是一旦出现异常我们需要立刻处理。如果应用程序挂了的话,公司每分每秒都在赔钱:所以无论你手头上有什么事都要停下来,把它解决掉。比如说发现了一个棘手的新的 bug,或者存在安全漏洞需要尽快解决等等。现实生活中很多事情都不是计划好的:我们只能见招拆招。
但不能每件事情都这样,我们不能总是进行应急驱动开发。这是很差的实践。大家需要讨论截至日期并达成共识,开发就可以按计划行事。程序员通常看不到整个项目的全貌,但项目经理又何尝不是呢:他们会忽视技术的方面,但如果不能提前知道这些,是不可能在截止日期前完成工作的。所以亲爱的项目经理们:一旦你们知道截止时间就马上告诉我们。
提醒:我所说的"让程序员知道截止时间",是指真实的截止时间。项目经理做的最烂的事情就是给出一个假的、自己强加的截止时间。有的项目经理有自己的小算盘,他们给自己留有一定的时间余量,比如他告诉开发者客户希望 1 号交付,但实际上他和客户承诺的日期是 15 号。他们这么做可能是因为我们经常晚交付东西,但是……你猜怎样?程序员早晚都会发现,并认为这些无谓的压力和长时间的工作都是拜你的谎言所赐。你猜他们会有何反应?
3) 沟通管理
我知道这听起来让人不爽,但程序员或多或少都会有些小缺点。其中一点就是开发者的沟通方式……与众不同。他们倾向于直言不讳。这样的性格很适合与机器一起工作,但是对客户也这样就会出问题。是的,客户提供给你的 SDK 是不是看上去不够……优化。是的,如果我们给一群猴子,提供一瓶廉价的威士忌和一本手册,上面记载了所有软件工程上的最差实践,他们也就做成这个样子。好了,还是不要让客户知道这些。项目经理需要重新措词再告诉客户。
每当看到项目经理追着客户要他们确定需求的时候,或者是他们与其他团队的项目经理交涉,说服其他团队回复我们提出的需求的时候,我都感到异常欣慰。是的,我们很迫切地需要回答,但是往往一个同样的需求我们转了三遍,都好几周了还没有回复。
一个出色的项目经理会提供给我们所有工作中所需要的信息,并且可以确保所有参与的团队都可以顺畅地沟通。我们很可能没有意识到他为此所付出的努力。
4) 让程序员远离麻烦
公司里压力很大。压力来自方方面面,所以需要对它进行管理。作为一名程序员,我们需要应对很多的技术难题:一个很难复现的 bug,一个和线程同步有关的偶发问题,一个改动很大的框架发布,一段不可靠的、无法通过集成测试的基础代码。我们有足够的理由感到压力山大。
项目经理也一样:他们需要比我们处理更多的内部规章,参与功能开发的讨论,还要积极为团队争取资源。他们会和其他团队展开竞争,也要接受客户对他们的咆哮发泄。对此我深表同情,但如果项目经理把这些压力转嫁到程序员身上,那我们这些程序员就会成为板上鱼肉,任人宰割。我们会受到两方面的压力,一方面是现实的技术难题,另一方面是疯狂的客户和办公室政治。这些重担太沉重,所以我们需要达成一个共识:技术上的问题,我们会负责搞定。而其余的问题――虽然我同情项目经理――但那些都是你们的责任。
5) 确保我们没做不相关的工作
想要开发对公司产品影响很少的东西是非常困难的。尽管对于那些喜欢长时间开发很酷的东西的人而言,会很享受这一点,但是这对你的职业生涯很不利。如果你一直开发不相关的东西,你很难被升职加薪。相反如果你做的事情可以对于业务开展非常有意义的话,好处是显而易见的:它为你提供额外的动力,容易让人注意到你,也更容易在组织内获得更多的资源和支持。
开发一个不相关的功能并被不是最糟糕的事情。最惨的是工作的项目在完成前或完成后马上被丢弃掉。想象一下你的努力和汗水就这样被丢弃掉。感觉很差,不是吗?所以最好和那些不会把你带入这种境地的项目经理合作。
Read full article from PM 如何帮程序员提高效率?做好这 5 件事 - 博客 - 伯乐在线
No comments:
Post a Comment