客户想要的东西很明确,自己有很清晰的思路,或者一套需求方案。有的客户甚至调研过技术细节。
客户没有自己的方案,只是想要一个东西,或者只知道想解决什么问题,需要我们提供方案。
在客户的分散的需求中得到项目轮廓。根据这个轮廓,调研整个项目开发中需要用到的技术栈,以及可能面临的风险。风险:比如对于不是很熟悉的领域,需要专业领域的知识。
任务一定是明确的定义,不能存在歧义。 优先级:一般按照流程的优先级做就可以了。但对于一些任务会特殊一些,对于当前没什么问题,但时间拖的越久问题越杂,优先级也应是高
1. 工作量很确定的任务:
对于要做的东西,比如普通的增删改查、静态页面结构、模仿之前其他的模块流程进行复制等。
2. 工作量存在少量波动的任务:
在制定任务时,可能有考虑不到的情况。比如:需求较为复杂,但从理论和经验上认为需求细节不会存在逻辑冲突。
需求明确,但实现过程中需要用到一些没有用过的工具。
3. 未知因素较多的任务:
理论上不应该出现这种任务,但会因为实际情况产生
任务是前期认为技术实现上属于理论验证可行,但不能确定在该需求上下文中应用这种技术/想法有没有限制性。
(例子:理论可以实现,但是具体实现团队内部没有经验,也找不到相关案例)
将任务初步分为调研类任务:
结果是,能做且清晰->重新定义任务细节
结果是,不能做/未知因素多,风险大->制定一些替代方案,与客户沟通
需求到任务快速拆分
表格
制图工具:process on之类的
形成任务管理
JIRA, Teambiton, iCafe等
如何拆分 .......
git管理 .......
-
了解客户意愿
- 主动/侧面去理解客户为什么要做这个项目,他们要解决的问题有哪些,最终目的是什么,为什么不用现有的软件。(不好用\贵\不美观\不安全\新想法等)
- 站在客户的角度,提出合理的建议,建立信任。有了信任,在任何时候都能更加主动,特别是在需求、设计、细节,甚至实现过程中遇到一些问题时,客户会更加优先的考虑你的建议,而项目整体在 效率和质量上会有所提高,形成项目合作的良性循环。
-
及时
- 疑问及时沟通,让客户有安全感。
- 有些客户若不太注意这些,多种方式提醒。对于紧急情况,描述清楚利害。
-
客户信任度低
- 为什么:1. 功能bug多。2. 没有按照预期时间内完成。3. 与客户之前要的东西有差别(理解偏差)。
- 方法:对症下药,以更高的标准来重新获取信任。
开发/设计/测试
- 及时
- 每天的会议。要表达自己要做什么,对交叉的任务及时理解双方实现意图,确认标准,提取重复的实现。
- 可能影响他人/整个项目的想法。比如忽然想到了处理某个需求更好的方案。
- 一致
- 对项目需求的理解一致。
- 对功能的实现标准一致。
- 笔记
- 分类准确
- 信息简明,准确度高
- 如何分类 ......
- 对接
- ???如何不丢失重要信息。可能由于项目处于开发阶段前期,开发信息不完善。
- 了解合作方的在改项目中的业务,知道他们需要/能提供什么的支持。
- 对于存在争议的需求。比如存在双方工作量不对等/不符合预期的需求时,带着甲方一起分析各种方案的利弊。
- 在需求定义清楚后,尽早明确双方的工作内容,以及对接的标准。