我已经从事软件项目和产品管理工作大概6年的时间,也在2015年取得了PMP证书,算是有过一些经历, 但是总感觉没有达到炉火纯青的地步,借此机会对这些经历进行总结和思考下, 看看能不能温故而知新,得到新的提升。
计算机本科专业毕业后,我先后担任了软件工程师、需求分析师的岗位,2014年我加入了一家美国软件供应商的深圳分公司;期间我有机会担任了项目经理的角色,我负责组建团队,引入SCRUM的开发模式,为一家大型外资企业开发一套评估管理供应链能力的系统;这个项目的沟通环境有点复杂,客户方的项目经理在美国,客户方技术团队在印度,我们团队的BA也在美国。
之后先后在一家全球性的零售轻奢品牌公司和一家外贸企业担任项目经理的角色,涉及到PLM,ERP,CRM,POS, 官网,天猫,OA等等前、中、后台的系统。
项目想要达到目的,是通过完成很多事情来实现的,资源总是有限的,能完成的事情也是有限的,所以我们要做好范围管理,注意控制需求变更;
项目过程中会有很多变化,这些不确定性会带来一定的影响,所以我们要做好风险管理,要识别风险,分析风险和制定风险应对策略;
项目一般都是通过团队合作来完成,每个成员都会对项目有影响,所以我们要做好干系人管理;
项目的各个方面,包括范围,进度,成本,质量等等,都是息息相关,相互影响的,一个方面发生变化,往往对其他方面造成影响,所以项目经理要有全局观;
不管计划的多好,项目总是会面临各种各样的问题,当发生问题时,项目经理要敢于担当,站出来带领团队克服问题;
项目都是以结果为导向的,以终为始,定好的目标是一定要实现的,所以项目经理要具有很强的执行力。
项目过程涉及到很多知识,包括业务、技术、流程,所以项目经理必须是复合型人才。
首先要明确项目目标,收集项目需求,定义项目的范围,进行需求分解,根据分解的结果,定义活动,再根据活动的先后关系,需要的资源和持续时间制定进度计划,可以借助工具,比如Microsoft Project ,制作甘特图,还要定义里程碑;同时估算活动成本,制定预算;项目会有很多不确定性,所以要识别风险,分析风险,制定风险应对策略。
结合业务背景,分析业务问题,提出可行的解决方案,权衡解决方案,估算时间、成本和收益,明确项目投资回报率, 决定是否执行项目
背景
目的
收付款条款
违约条款
保密协议
里程碑计划
变更管理说明
往往需要协调双方法务审核合同条款,(冲突解决)会涉及到很多细节,本着合作共赢,各有取舍的态度协商,对于一些难以协商的问题,可能需要领导层决定。
背景
目的
工作内容
各个阶段的交付物
角色职责
项目发起人
需求方
供应商
内部开发团队
背景
目的
需求
里程碑计划
预算
主要风险
干系人列表
项目经理
访谈:明确主题,确认访谈对象,创造友好的氛围,
先问对方熟悉的问题,引导对方谈论工作的内容,问题,期望的解决方案
分析需求产生的原因,明确需求的业务价值,
根据业务价值、用户量、开发难度决定的需求的优先级(基础需求、期望需求、兴奋需求)
who, when, where, what, why, how
让大家达成共识,对需求内容、价值有一致的理解
需求编号
描述
提出人
提出原因
业务价值
复杂度(超过30人天的,需要召开IT investment meeting)
分类(功能、性能、安全、运维)
状态(新增、确认、设计、开发、测试、UAT、上线、拒绝)
非功能需求描述
Security
Compliance
Availability
Performance
Reliability
Capacity
角色职责
沟通工具
沟通日程表
https://forum.huawei.com/enterprise/en/techno-economic-model-sensitivity-analysis/thread/782181-100181
规避:
转移:自己团队开发难度比较大,让供应商来开发
减轻:新冠肺炎,团队返回办公室时间延后,启动远程办公;
人员离职,平时交叉安排任务,启用备份角色
研发人员因为别的项目需要出差,参与程度将下降,可能造成进度延迟,
出差前安排加班,提前完成任务
对新技术不熟悉(阿里奇门),组织专题讨论,邀请专家分享
上线发布失败,制定回滚策略。
项目过程中肯定会有冲突,我们要正确看待冲突,有的冲突会带来坏处,
但是也有的冲突带来好处,比如不同成员提出的不同的解决方案,
经过交流沟通,有利于找到最合适的方案。
解决冲突
先安抚情绪,站在当事人的角度思考问题,了解他的诉求
合作:共同探讨解决方法,比如系统对接时,是A推送数据给B,还是B从A拉取数据
妥协:各退一步,海阔天空; 电商制定一个促销,因为系统不完全支持,
短时间也不能实现完全支持,客服需要很多手动处理;电商稍微调整方案,减少客服的手动操作。
搁置:
仲裁:零售部和电商部关于如何分成全渠道订单,请CEO出面决定
强制:
产品和开发的冲突:按钮位置,字段名字;相互尊重,加强沟通,具有同理心,从对方的角度思考问题;产品进行需求变更要有理有据,开发接到需求变更,不能第一反应就是说做不了。要本着合作共赢的心态。
做好需求管理需要做好收集需求,分析需求,评审需求,跟踪需求,管理需求变更等等;
收集需求是通过和干系人沟通,分析现有业务和系统,整理归纳需求描述;
分析需求是通过确认需求产生的原因,根据需求的业务价值,复杂度,用户量确认需求的优先级,
需求优先级可以定义为基础需求、期望需求、兴奋需求;
跟踪需求是填写更新需求跟踪矩阵,监控需求状态,借助团队协作工具,比如Jira建立任务,分配任务,跟进任务;
管理需求变更,发生变更时,要评估变更对于范围、进度、成本的影响,评审确认了才能实施变更。
需求管理过程中产生的文档有 需求说明文档,需求跟踪矩阵,产品手册。(产品路线图)
首先做好进度计划:
根据活动的先后关系,活动需要的资源和持续时间制定进度计划,可以借助工具,比如Microsoft project ,制作甘特图,还要定义里程碑;对于不确定性高的活动,要设置缓冲;
然后做好进度监控:
借助Jira等工具进来协同工作,团队每天要更新任务状态;
每天的站会大家各自分享完成了什么,正在做什么,遇到什么困难;
编写项目周报,包含本周已完成的事项,正在进行的事项,计划进行的事项,主要问题,风险; 通过红黄绿信号灯标记项目整体状态;
核对实际的进度和计划的进度;针对偏差寻找解决方案,
如果预估到进度会产生延迟,要发出预警,可以考虑适当加班,
并且同各方沟通,优先开发优先级高的功能;
要做好活动估算,制定预算;定期更新成本报告,记录已经使用的成本,预测未来需要多少成本,跟剩余可用的成本进行比较;要做控制项目范围,严格实施变更管理,避免范围蔓延;要做好质量管理,避免返工。
要做好各个阶段的评审和确认工作;需求评审、设计评审,开发要遵循代码规范,实行code review,测试人员要尽早介入需求,编写测试用例,借助测试工具进行缺陷的统计和分析;采用鱼骨图分析缺陷的根本原因,采用帕累托图分析缺陷的主要原因;多个角度分析缺陷,按不同角色(产品、开发、测试),时间(发现的时间点、修复花费的时间),数量,原因;
UAT要做好验收确认;
团队要遵循PDCA原则,持续地改进。
要做好识别风险,分析风险发生的概率和影响,制定风险应对策略,可以规避、转移或者想办法减轻风险的影响;比如针对员工离职的风险,可以指定备份角色,交叉安排任务;比如进度延迟的风险,可以适当安排加班,优先处理高优先级的需求;从项目开始到结束都要做好风险管理,项目经理平时要向团队灌输风险意识。
降低进度延迟的风险: scrum模式中,每个人都理解需求并主动认领需求,有人请假了,其他人可以接替; 遇到问题要及时寻求帮助,不要钻牛角尖
做好识别干系人,分析干系人的权力利益对项目的影响,重点管理权力大利益大的干系人,让业务方满意,协调好供应商和内部开发团队。沟通的时候要尊重别人,懂得倾听,识别干系人的期望,多为大家服务,建立信任感。
本着产品定位
结合公司战略、业务部门需求、市场的需求,项目需求;
除了功能,考虑到系统性能, 安全等方面
采用scrum开发,迭代交付的方式
https://www.cnblogs.com/spring3/archive/2011/07/21/2401453.html
瀑布开发模式好比举行婚宴,提前订好菜谱,吃饭的时候如果说要求换个菜,非常难;
敏捷开发模式好比去吃烧烤,先点两三个菜,边吃边点
敏捷能够快速响应业务需求,符合当代互联网变化的要求
https://blog.csdn.net/maikforever/article/details/6692641
敏捷拥抱变更,降低风险
商业论证
合同
工作说明书
项目章程
干系人登记册
重申目的
概要需求
设计方案
项目团队
概要计划
沟通计划
主要风险
项目计划
需求说明文档
原型设计
编码规范
Code review记录
测试用例
测试结果
缺陷分析
用户手册
验收文档
部署说明文档
系统说明文档(业务功能、用户量)
技术架构
按照阶段分类
单元测试、SIT、UAT
按照手段分类
黑盒测试、白盒测试、手动、自动
功能测试、性能测试、安全测试、渗透测试
按照
回归测试、随机测试
产品经理如何进行产品的整体规划
https://www.jianshu.com/p/4cc7f13a4b89
地图式规划和跟踪需求
收集需求
定义需求范围
明确优先级
需求分解
需求跟踪
SCRUM团队自我考核
http://www.scrumcn.com/agile/scrum/4698.html
关于如何提高工作的效率, 关键在于管理好时间。一年之计在于春,一日之计在于晨,在工作时需要提前做好规划,辨别清楚事情的轻重缓急,先做什么,再做什么,有条不紊;要对项目进行阶段划分,设置里程碑;对于事情的进展要做好记录, 做到胸中有数,已经耗费了多少时间,预计还需要多少时间; 善于总结分析日常的工作,为什么某件事情效率高,某件事情效率低,如何进一步改善。时间的管理都是在于完成细微、重复甚至略显枯燥的事情,需要持续恒久的坚持。
关于提高团队协作, 关键在于建立相互信任,彼此分担,保持一致的目标。在工作中难免出现摩擦, 需要懂得站在不同的角度去思考问题,设身处地,理解各方的出发点,本着合作共赢的态度去积极地寻求解决问题的方法。