it-swarm.cn

软件开发经理的书面角色

我们都知道软件开发经理的工作,但恐怕我们只知道模糊地。我们认为我们知道他在做什么,但是要准确列出他的工作范围有点困难。

您认为软件开发经理的作用是什么?

62
Graviton

以工作中的某人(也是开发人员)的身份发言,我要做的关键事情是:

  • 让开发团队保持前进的轨道(并在可能的情况下感到高兴)-将事情移开以阻止他们继续工作,并解释为什么不可能将他们移到尝试减少的地方任何由此产生的压力(如果人们至少了解它们,则他们更有可能接受事物)。最终,如果项目与团队之间存在无法解决的冲突,通常情况下该项目将获胜。那并不一定会使您在团队中受欢迎,但是您会获得交付项目/产品的报酬,而不是作为工会领袖。显而易见的技能是最大程度地减少这种情况的发生。

  • 确保团队正在与客户沟通正确的金额。这往往是平等的部分,使客户远离团队,并确保团队正在向客户询问他们不完全了解的事情(而不只是做出可能不正确的假设)。开发人员非常重视确保客户不会打扰他们,并且偶尔会忘记客户可能会添加一些有用的东西。

  • 项目计划和优先级资源冲突,客户需求,支持问题等。我倾向于说这个客户的优先级高于这个客户,或者说这个错误必须在其发布之前得到解决,但是这个错误可以作为已知问题解决。

  • 管理开发的商业方面-确保要收费的事情以及我们不打算为支持范围内的事情收费的事情。

  • 成为团队中企业和团队中企业的代言人-帮助每个人了解对方的立场并帮助解决出现的分歧。这在很大程度上倾向于解决团队需求/需求与大型组织之间的文化冲突,以及预算问题。这实际上是很糟糕的,因为这意味着当有分歧时,您就是每个人的敌人。

  • 与团队合作,确保有足够的流程和工具来满足业务和客户的需求。确保遵循这些过程并根据需要进行调整。其中一些是确保团队定义流程(例如,对于他们比我理解得更好的技术问题),有些是自己定义(对于我比他们理解得更好的东西-规划,估算等)。这里重要的一句话就足够了-您不希望出于过程的考虑而使用过程,但是有些事情必须发生,而过程是实现这一目标的最佳方法。

  • 确保团队中的每个成员都在至少一个合理的水平上工作,并且最好在此范围之外。与他们合作,以帮助解决任何阻碍他们达到此水平的问题。我很想说我的角色是使他们成为最好的人,但是在某种程度上说这是对的(项目,预算,时间)意味着这几乎总是或多或少地受到损害。

  • 做所有的administration并满足组织(和法律)的要求

总体而言,这是部分指导,部分秘书,部分项目管理,部分客户管理和部分PR(针对团队)。开发人员不需要考虑或不考虑要做的事情很多,有的确保他们做了需要做但不想做的事情。

要做的不是最好的开发人员(通常,您太过分了,无法长期保持最新状态,因此您需要接受人们会比您了解更多的知识-该技能是要知道您更长久而过时的经验比什么更相关他们较短但较新的经历)或成为某种独裁者。在这方面,思考问题的最佳方法不是您的年龄更高,而是您的职责不同。有时,这涉及对某些事情进行最终决定(这可能会违背团队的观点),但更多情况下,它应该是关于共识或妥协。

100
Jon Hopkins