面试题-软件项目管理

背景

在去年晋升为中间件组的组长之后,遇到了之前做纯粹开发时没有遇到过的困难和挑战,在实践中最后也成功的解决了。写这篇博客的目的是整理下作为一个软件开发管理者在面试的时候需要关注的问题,能给面试者以帮助是最好的了。

软件项目管理

  1. 简单说说软件项目管理的职责

    基本职责就是确保项目目标的实现,领导项目团队准时、优质地完成全部工作

  2. 你平时工作中都负责哪些方面?

    作为一个研发leader,工作内容可以分为以下几个大方面:

    • 技术方面:确定关键性技术,设计系统架构,确定核心算法等等
    • 规划方面:确定开发计划,保证执行进度以及指定开发规范等等
    • 协调方面:跨部门沟通协作,协调资源
    • 团队方面:招聘培养沟通等等(团队方面目前实际工作中只涉及到招聘这块,中间件组的招聘是由我来负责的,其他的工作目前由部长来做的。)
  3. 你认为项目中最重要的是哪些过程?

    最重要的是需求分析、设计阶段和测试阶段,但是国内的公司受限于工期,应该尽量按照功能点划分出优先级,首先拿出最核心的功能点,其他的留到迭代再做。

  4. 你觉得技术Leader应该是团队中个人贡献值最高的吗?

    不应该。

    技术Leader的岗位职责和作为一个开发组员时最不相同的就是,研发leader要确保整个团队的产出或者贡献而不应该只看个人的贡献。不应该形成以自己为主,团队中其他人为辅助的模式,这种以个人技术为主的模式会严重影响一个技术leader的其他方面工作。研发Leader应该把精力放在体现leader价值的事情中:

    • 把控项目需求
    • 核心架构设计和核心算法设计
    • 提高团队成员能力
  5. 你怎么看待这种观点,"我是做技术的,产品和运营做的好不好,和我无关"?

    这种观点是不正确的。对企业来说,是希望完成业务目标,如果没有完成业务目标,那么这个环节中的每一环都应该负一定的责任,而不应该事不关己高高挂起。

  6. 如果团队中,大部分成员的工作效率都没有leader高,是否可以替代组员,让leader完成一部分工作呢?

    不应该这么做。

    首先,精力不允许,这种拆东墙补西墙的做法会影响团队的整体效率。

    其次,对组员的个人发展不利。

    那么,应该如何处理这种情况呢?我会和组员约定好完成时间,进度1/3的时候review工作进度。

    • 符合预期就继续让他自己做
    • 高于预期50%,给予指导,以便提高效率
    • 低于50%,为了追赶项目工期,我会协调部门内其他资源或者我亲自来做这部分工作,这种员工其实是应该优化的
  7. 你如何看待跨部门协作存在困难这个观点?

    跨部门协调协作天然存在困难,这种情况之前在资料中学习过,叫做部门墙,部门墙的存在使得部门之间不能有效协作,并且会对公司的整体目标造成损害。

    面对部门墙时,应该如何处理呢?

    • 个体主动放弃防御心理,不曲解对方的意思
    • 对外寻求合作时,把事情想清楚,具体包括
      • 目标
      • 计划
      • 资源
      • 价值
    • 在支持外部发起的合作时,努力理清楚外部信息,准确调度资源协作,这里的信息也可以按照上面的框架梳理
    • 从更高的维度看待问题
  8. 未完待续...

原文地址:https://www.cnblogs.com/ging/p/13821606.html