项目如何开始与完成(上)
项目如何开始与结束,这篇文章比较长,我会写的尽量详细一些,本篇讲述的内容是项目的立项与计划
ps:这里是互联网项目的文章,仅包含Web开发与软件应用开发;
如何立项
一个项目立项的前期准备是在一个项目中比较耗费时间与精力的环节,我们需要做以下的工作:
- 与需求方沟通共同完成项目需求方案,这里指的是 BRD (商业需求文档) 与 MRD (市场需求文档);
- 根据用户的市场需求与商业需求做相应的市场调查分析,从而完成 PRD (产品需求文档);
- 不断重复的比对双方的需求是否一致,取得共识后完善你的这些文档中的细节并构思 原型交互设计;
- 按照需求方的需求设计功能的交互原型以及布局的线框稿,或者是DEMO演示;(如对方有需求做高保真原型, 应协要求UI协同一起制作原型);
- 交付原型设计给需求方,对于变更的环节要对需求多做减法,利用快速迭代方式来进行项目开发;
以上就是立项的准备工作,我们需要知道三个内容点:要做一个什么产品或者项目、产品核心或者项目目标是什么、现在的团队资源能不能做、怎么做;有了这些简单的项目范围,我们的项目就可以立项了。当然如果是客户,我们在以上的环节会碰到很多问题:
- 客户比你更专业的
- 客户不懂装懂的
- 客户什么都不懂的
- 需求反复都确认不了, 客户一天一个想法的
- 客户不懂设计要干涉设计工作的
- 原型交互客户指指点点的
- 市场分析、需求分析不给力的
- …………
碰到这样的场景,应该多沟通,多用数据与案例来武装自己的立场。当然与你对接的人一定要是可以拍板的。
<span style="color:#B71918;">注意:有时候要学会妥协,虽然我们想把项目做的我们自认为很好,但是需求方才是最终审核的人,这点我们要清楚。当你认为你比客户更了解市场的时候,应该多提问,而不是直接反驳。 </span>
所用到的工具与实现:
- word:问卷调查、商业需求文档、市场需求文档、产品需求文档;
- Axure、Visio、Mindmanager 等:交互原型、业务思维导图、业务流程图;
- photoshop、fireworks、After Effects 等:UI设计、DEMO设计;
项目计划与启动
项目在启动实施的时候也是比较头疼的,我们需要做的计划工作依然很多:
项目人员确认
我们要挑选合适这个项目的成员参与这个项目,选择的条件会根据你们公司或者团队的现状而定。但是为了减少内耗,我们尽量用最少、最合适的人与最少时间来完成当前项目。
注意:人员的选定与确认是招兵买马的环节,确认后可能需要培训和制定一系列的考核制度
项目人员分工
在确认了人员以后,我们要对现在的团队进行责任分工。那除了对人员的分工,对部门层级也要有一个部署,在项目人员管理上我们要确认三件事:
- 角色与责任的划分
- 人员配备计划
- 组织机构部署
我们除了要把现有的人员进行责任划分与分工,还要对以后可能面临的人员问题进行储备。为什么要储备呢? 也许在项目过程中,有人因为不可抗力离职了,或者在项目中有人生病或者受伤了,这个时候我们需要有备用的人员可以随时接手项目并实施下去。另一方面,当项目中遇到未知的难点与现有人员解决不了问题的时候,我们也需要有储备的人员进行难点的攻关。那组织机构的部署,是为了团队的工作流程完善,需要有分配与管控人员的的人或者部门的存在来更规范的完成项目。
项目成本管理与控制
项目成本管理有很多方法:经验估算法、WBS法、因素估算法等, 但是我们想要实现的内容不管用什么方法顺手都要把下面这些问题考虑进去:
- 自上而下、自下而上的预算
- 人员工时表以及设备费用
- 预留或者预算偏差费用
对于项目的成本控制我认为是仅次于时间管理最重要的环节之一。 因为做项目毕竟最终的目的是为了盈利。
项目时间管理
时间管理是项目中最重要的部分,没有之一。 它提现一个团队的协调性、严谨性、诚信性、规范性、计划性。时间管理有6个内容:
- 量化项目任务
- 任务排序
- 资源分配
- 制定任务时间节点计划
- 进度控制
- 预留时间、变更时间管理
我们在拿到业务需求以后,我们需要制定功能需求以及开发的周期时间,在确定了功能需求与大概时间以后,我们要先把任务拆分下,然后进行每个任务的时间预算,这些被量化后的任务要有一个优先级排序。 在进行排序以后根据难度我们来寻找节省时间跟成本的辅助资源,并且把任务按照难度来分配给每个人员。依照每个人员的能力跟项目领导的规定时间预算做一个协调,制定出每个人物所消耗的时间。把这些时间都收集起来以后,我们进行一个整体的任务时间节点图(包括对关键路径的控制),严格遵守以上的时间与任务描述。
同时,我们要制定一个进度控制的方案以及预留或不可抗力的时间管理。在每个单元测试环节都要有一些时间预留,甚至在项目人员管理这个环节可能失去的时间也要计划在内。当然最主要的影响时间的因素是变更。
注意:项目的时间三要素:什么人、做什么、什么时候完成。
项目质量管理
项目质量管理有两个大部分:
- 标准
- 测试
首先,我们需要我们的标准是什么,我们需要制定一个合格的标准。在很多项目中由于时间关系大家对标准的概念越来越模糊,甚至会有人去应付、迁就。在项目开始的时候我们就应该严格的制定出一个标准,如果在项目过程中有时间或者质量问题,应及时跟需求方和项目管理人员协调沟通。
其次,我们要如何测试。 测试需要建立用例,比如:什么环境下,在哪个模块,进行了什么操作,理想状态是什么,实际状态是什么等。我们也可以用一些脚本来节省测试时间, 这就是上面所说的,寻找资源以及合理分配资源。当然测试也是为了标准而准备的,单独拿出来是因为测试是很重要的。
项目沟通管理
项目沟通成本在一个项目中是越少越好。所以我们要制定一个沟通的方法以及流程来减少在项目中沟通所消耗的成本。我们来讲下错误的沟通,看你们是不是也会遇到:
- 以为只要沟通了,别人就清楚了
- 不敢越级沟通
- 不带解决方案的建议沟通
- 欠缺沟通技巧
- 没有想周全就着急沟通
- 时机不对的沟通
以上都会导致出问题,影响项目进度。那我们应该如何去合理有效的沟通呢?
- 沟通是要有反馈的,当你与其他人沟通以后应该得到对方的反馈。
- 沟通记录是非常重要的,不管是会议还是单独与人之间的沟通都应该记录下来并抄送对方存根。
- 要有解决方案与目的的沟通,告诉他人这些沟通的内容会影响到什么,要素是什么。
- 在合理的时间,合理的位置,提出合理的意见。
- 制定计划与总结报告的定期会议。
博主现在管理团队一般是日会,并且是站会的形式,提醒今天的任务计划以及对昨日的任务进行总结。
注意:在沟通中,除了我们自身会遇到的问题也会有很多时候是在为需求变更而沟通。所以我们必须清楚的确认需要变更的内容后才进行沟通。
项目风险管理
项目风险管理其实对于我们现实中碰到的还是很多的,比如项目正在做的时候突然因为资金问题或者其他问题做不下去了。比如做着做着就闹翻了之类的吧。看似都是一些纯粹风险,实际上我们在项目会遇到如下的风险:
- 工期风险
- 费用风险
- 质量风险
- 市场风险
- 信誉风险
- 人身伤亡、安全、健康以及工程或设备的损坏
- 法律责任
又会碰到以下的结果:
- 项目搁浅
- 项目延期
- 项目重组
合理控制项目风险我们需要:
- 预先评估风险因素
- 量化风险
- 模拟风险
- 风险对策
- 风险跟踪
以上就是项目的立项与计划内容,我们只有在前期准备越充足,对项目的执行与实施越有利。
项目管理一般是需要工具的, 推荐几个不错的项目中用到的东西:
项目管理类:
禅道项目管理
RedMind
印象笔记
…………
代码类:
GIT
SVN
FTP
沟通类:
邮箱
即时聊天工具
FAQ
还有很多好用的软件或者工具,全看个人喜好,只要觉得怎么有效率就怎么来。 下一篇我们讲项目的实施与测试完成。