/project-management

project management focusing on developers..(If you have good ideas, welcome to submit a PR)

MIT LicenseMIT

项目总结

项目需求:

客户想要的东西很明确,自己有很清晰的思路,或者一套需求方案。有的客户甚至调研过技术细节。
客户没有自己的方案,只是想要一个东西,或者只知道想解决什么问题,需要我们提供方案。

了解项目性质

在客户的分散的需求中得到项目轮廓。根据这个轮廓,调研整个项目开发中需要用到的技术栈,以及可能面临的风险。风险:比如对于不是很熟悉的领域,需要专业领域的知识。

尽可能的了解需求(沟通中有说)

任务:

任务一定是明确的定义,不能存在歧义。 优先级:一般按照流程的优先级做就可以了。但对于一些任务会特殊一些,对于当前没什么问题,但时间拖的越久问题越杂,优先级也应是高

从需求到任务,一般有三种情况:

1. 工作量很确定的任务:

对于要做的东西,比如普通的增删改查、静态页面结构、模仿之前其他的模块流程进行复制等。

2. 工作量存在少量波动的任务:

在制定任务时,可能有考虑不到的情况。比如:需求较为复杂,但从理论和经验上认为需求细节不会存在逻辑冲突。
需求明确,但实现过程中需要用到一些没有用过的工具。

3. 未知因素较多的任务:

理论上不应该出现这种任务,但会因为实际情况产生

任务是前期认为技术实现上属于理论验证可行,但不能确定在该需求上下文中应用这种技术/想法有没有限制性。

(例子:理论可以实现,但是具体实现团队内部没有经验,也找不到相关案例)

将任务初步分为调研类任务:

结果是,能做且清晰->重新定义任务细节
结果是,不能做/未知因素多,风险大->制定一些替代方案,与客户沟通

可借用的工具:

需求到任务快速拆分

表格
制图工具:process on之类的

形成任务管理

JIRA, Teambiton, iCafe等

如何拆分 .......

git管理 .......

沟通:

与客户

  • 了解客户意愿

    • 主动/侧面去理解客户为什么要做这个项目,他们要解决的问题有哪些,最终目的是什么,为什么不用现有的软件。(不好用\贵\不美观\不安全\新想法等)
    • 站在客户的角度,提出合理的建议,建立信任。有了信任,在任何时候都能更加主动,特别是在需求、设计、细节,甚至实现过程中遇到一些问题时,客户会更加优先的考虑你的建议,而项目整体在 效率和质量上会有所提高,形成项目合作的良性循环。
  • 及时

    • 疑问及时沟通,让客户有安全感。
    • 有些客户若不太注意这些,多种方式提醒。对于紧急情况,描述清楚利害。
  • 客户信任度低

    • 为什么:1. 功能bug多。2. 没有按照预期时间内完成。3. 与客户之前要的东西有差别(理解偏差)。
    • 方法:对症下药,以更高的标准来重新获取信任。

与团队

开发/设计/测试

  • 及时
    • 每天的会议。要表达自己要做什么,对交叉的任务及时理解双方实现意图,确认标准,提取重复的实现。
    • 可能影响他人/整个项目的想法。比如忽然想到了处理某个需求更好的方案。
  • 一致
    • 对项目需求的理解一致。
    • 对功能的实现标准一致。
  • 笔记
    • 分类准确
    • 信息简明,准确度高
    • 如何分类 ......
  • 对接
    • ???如何不丢失重要信息。可能由于项目处于开发阶段前期,开发信息不完善。

与合作方

  • 了解合作方的在改项目中的业务,知道他们需要/能提供什么的支持。
  • 对于存在争议的需求。比如存在双方工作量不对等/不符合预期的需求时,带着甲方一起分析各种方案的利弊。
  • 在需求定义清楚后,尽早明确双方的工作内容,以及对接的标准。