软件项目管理的关键要点与实用策略
1. 项目管理即问题管理
软件项目管理本就是一项具有挑战性和复杂性的工作,但一些项目经理因对自身角色期望有误,让工作变得更难。实际上,项目管理本质就是问题管理。若一切能自然顺利推进,就无需项目经理了。
现实中,资源分配过度、技术与技能不匹配、需求不明确、时间线不切实际等问题普遍存在。部分项目经理把这些问题视为外部干扰,抱怨若某些条件满足,项目就能顺利开展,结果自己常处于沮丧、紧张和易怒的状态。
项目经理的职责是更好地规划、更清晰地思考,拥有比项目发起者和执行者更宏大的战略眼光,解决这些问题。而且,项目管理不仅涉及项目的机械性管理,还包括处理人际问题。比如“心怀不满的资源人员”“焦虑的利益相关者”“爱指手画脚的参与者”等。将这些情况视为工作核心,而非障碍,工作会更顺利。
2. 赋能开发者:以蒂姆为例
软件项目经理有时最好的做法是设定愿景和优先级,然后放手。有个关于蒂姆的真实故事,团队招聘时,蒂姆技术出众,但有位项目经理曾与他共事,认为他缺乏动力,工作时爱上网,很懒散。不过,从技术角度看,蒂姆的技能远超其他候选人,最终他被录用。
项目采用敏捷开发方法,迭代开始时会开公开会议,目的如下:
1. 根据用户输入创建故事并确定优先级。
2. 通过故事形成项目范围的团队愿景,建立良好的验收标准。
3. 将故事分解为任务,由负责完成任务的开发者进行估算。
会议后,任务录入任务跟踪系统。该系统可让开发者了解任务启动情况,若提前完成自己的任务,可“抢夺”未开始的任务。蒂姆表现出色,完成的任务比其他人都多,项目也因此提前完成。原来,那位认为蒂姆没效率的项目