项目管理的要旨:假设每个环节一定会出问题,提前准备,慎重行动。
所以,你需要知道:
1、软件开发项目的整个流程有哪些环节 ?
2、这些环节可能会出什么样的问题?
3、有哪些可选的预案?
4、这些预案应该在什么时候启动?
产品开发项目管理4个阶段:出需求→启动→开发→上线。下面将按照这4个阶段来梳理各阶段的项目管理要点。
出需求
可能出现的问题:
1、花很多时间做的需求,在需求评审会上呗开发团队拍回来
2、开发团队没有参与过整个需求的思考过程,无法跟上你的思路。对场景和目标理解有误,导致你认为是理所当然的事情,但是开发团队不理解
3、需求中含有大量的按规则和前导知识,给开发团队埋下无数的坑
4、你深知需求中有很多不确定、不统一的意见,但是没有告知项目关键人。没有提前考虑任何可能的变化
要
1、提前沟通:出原型之前找项目负责人或架构师聊一聊你的想法和粗略的需求
2、告诉项目负责人或架构师,你的问题是什么,让他们来提供解决方案
3、讲述业务价值,明确项目或需求的意义。一定要讲解典型的业务场景
4、把不统一的意见也告诉项目负责人或架构师,提前打预防针
不要
1、需求评审之前没有人知道你要做什么、大概想怎么做
2、只告诉项目负责人或架构师你的解决方案是什么
3、项目开始之后,告诉大家,这个功能其实在XXX那边还有分歧
警惕
1、你完全不知道项目的关键角色是哪些人(项目负责人/架构师/QA)
2、项目负责人只关心你要的feature,不关心问题和场景
3、开发团队告诉你,以前就这么做过/考虑过,后来没有做,但原因现在未知
项目启动
可能出现的问题:
1、业务分析做的不够好,导致无法估算工作量或者需求做漏
2、拆卡不合理,对测试不友好。导致大家都说不清楚一张卡是否开发完成了
3、拆卡不合理,项目带宽太小,加人加不进去
4、技术架构没有经过review,导致后期上线不顺利
5、开发环境和测试环境没有提前准备好,导致后期不断花时间搞环境
6、与设计师衔接出现问题,常见表现在:RD等设计图、设计图与产品原型不一致
7、集成店准备不足,导致团队要等其他项目(或其他团队)准备联调的接口
8、没有引入QA,QA对业务、拆卡、开发进度了解太少,或者来不及给出测试用例,开发不知道怎么算是达到质量标准
9、为评估人员风险,项目启动后才发现有人需要休假,或者有人员还需要培训
10、没有交互计划,QA不知道什么时候应该测试什么。导致QA工作无法与RD并行,项目开发完成后花大量的时间测试
要
1、第一时间引入BA、QA、架构师、设计师。要求BA参与拆卡、QA准备测试用例、架构师负责出技术方案(架构方案+部署方案)
2、检查拆卡是否完成、是否合理、是否充分
3、与BA、QA共同制定开发的优先级和顺序,需要设计师按照时间点出图、QA按照时间点测试
4、要求QA开始准备测试用并告知开发,保证卡片+测试用例就是完整的完成标准
5、要求架构师列出系统集成点,提前预约集成测试
6、明确团队的休假计划
7、问问项目中的每个人:你是否已经非常清楚地知道你的职责、目标和接下来两天要做什么?
8、建立项目看板(worktile+物理墙),明确完成时间
不要
1、对着太大、太模糊的需求评估时间。一定不准确
2、只列举要开发的功能,为明确列出具体的时间和完成标准
3、人员角色重叠,但并不完全明确每个人的职责
警惕
1、完全不了解团队成员,不知道谁偏乐观、谁偏谨慎。需要向可信任的同事求证
2、团队告诉你这个项目很简单,不用太考虑架构和部署
3、团队没有明确的技术责任人,环境和技术上出了问题不知道该找谁
4、项目的关键人员有太多项目外的并行任务,对此保持谨慎且开放的态度
5、团队告诉你,某个工作有谁+谁+谁共同负责。这将意味着没有人负责
6、出现一些任务,你根本无法认定它是否被完成了
开发
可能出现的问题
1、开卡太草率,没有明确完成标准。不停返工
2、完成质量太低,提测的功能完全不达标,导致团队辛苦但是没有成效
3、不停调整架构和技术,不停倒腾代码,但是没有产出
4、没有人知道现在的进度是提前还是落后,没有人能判断局面
5、前期QA没有事情做,后期QA忙成狗
6、测试环境不断被干扰,大量时间用来搞环境
7、士气低落、相互抱怨,对目标失去信心
8、项目带宽不足,即使家人都无法加速
9、项目出现单点,少部分人忙成狗,大部分人在等待依赖项
要
1、迭代!迭代!迭代!要求大家按照顺序来做卡,尽量保证每张卡片做完了都能验证,做完一张测一张,把QA的工作摊开,避免开发完成后一次性提交测试
2、每天早上晨会,每个人都参与发言。讲一讲昨天的任务是否完成,遇到什么问题,需要什么协助。项目经理要告诉大家现在的进度如何,是否延迟。一定要表扬按时完成任务的同事,给没有按时完成的人足够的压力
3、利用荣誉新和羞耻心来驱动团队
4、每隔几天找架构师聊一聊,问他是否清楚地知道项目目前的架构、部署存在哪些问题和风险
5、每隔几天找需求方聊一聊,告诉他们目前的进展和系统功能,询问是否存在需求变更的可能
6、项目过程保持透明,出了问题不要捂着,第一时间暴露、第一时间求助
7、在执行过程中不断了解每个同事的风格,哪些人偏乐观、哪些人偏保守
8、对内严格、公证、透明,对外要给团队足够的保护,让大家有尊严地工作。搞好气氛,让大家high
9、可以为项目考虑一定的buffer,但是一定要有合理的理由,并且让团队知道
不要
1、晨会的时候一个人在那说
2、对于按时完成任务的同事和未按时完成任务的同事,你的态度没有太大的差别
3、用钱驱动团队
4、出了问题不求助、不报警,总是试图自己解决
5、只考虑自己项目的成败,不看产品和研发的大局
警惕
1、项目初期的几天很轻松,这会导致项目后期忙成狗
2、RD告诉你,虽然出了问题,但是问题不大,很快能够解决。一定要要求对方承诺解决时间并按时检查,同时问问可能了解类似情况的同事,是否真的很简单
3、希望你抽资源来支援其他工作的时候,要保持谨慎且开放的态度
4、团队人员自行为自己的工作预留buffer,buffer可以留在明处,不能留在暗处
5、如果项目时间过半,你还非常忙,说明项目即将失败。成功的项目一定是前期非常忙,后期越来越闲
上线
对于项目经理来说,如果上线阶段还非常忙,说明项目已经失败
可能出现的问题
1、Bug很多,越修越多
2、上线时发现部署环境和你计划的完全是两回事
3、性能和体验查到无法忍受
4、代码合并导致计划外的bug
5、项目虽然成功了,团队散了
要
1、遵循QA制定的上线流程
2、明确上线后系统应该如何被监控,并保证监控措施已经实施
3、系统上线后通知需求方
4、安排项目总结工作,列出好的、不好的、需要改进的和后续行动项,落实到责任人
项目管理,服务而不是管理。
网友评论