惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
D
DataBreaches.Net
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
IT之家
IT之家
月光博客
月光博客
U
Unit 42
K
Kaspersky official blog
T
Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
GbyAI
GbyAI
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
Engineering at Meta
Engineering at Meta
Recorded Future
Recorded Future
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security @ Cisco Blogs
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Schneier on Security
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog RSS Feed
The Last Watchdog
The Last Watchdog
P
Palo Alto Networks Blog
爱范儿
爱范儿
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 热门话题
C
Cisco Blogs
Spread Privacy
Spread Privacy
F
Full Disclosure
博客园 - 聂微东
T
The Blog of Author Tim Ferriss

博客园 - 那时花开

VS2012 快捷键 VS Resharper 设置 TFS2012 独占签出实现 WinForm 生产环境、测试环境 多配置-App.config(分享) TFS2010 服务器名称变更bug MSMQ XP 0x433 430 错误处理 页面关闭时弹出广告 ajax 同步异步模式问题 asp.net membership 配置错误 Test Concurrent 本地安全策略 脚本 在asp.net 3.5中sql 2005数据库缓存依赖 关于 p3p ie 跨域 问题 jQuery插入,复制、替换和删除节点 jquery 常用方法整理 存储过程生成代码 sql2000版 It 人大多路线图 收集常用数据库设计技巧 PowerDesigner 常用设置 mssql 数据库文档生成
怎样和客户一起搞定需求
那时花开 · 2011-07-10 · via 博客园 - 那时花开

项目刚刚开始的时期,项目经理做的主要事情是搜集客户需求,这是一个项目经理非常头疼的阶段,合作的磨合刚刚开始,需求问题上的失误又会导致无穷的后患。

  三种客户类型:

  1 的确很专业。能提供基本可用的文档,能给出要求规范,能向你提出有价值疑问和担心。能快速回答你的问题。

  2 以为自己很专业。 给的文档基本没法用。没法提供规范和标准,喜欢指指点点和挑毛病。只会向你提傻逼问题。基本回答不了你的问题。

  3 啥都不懂。 不给文档。能给你几个参考范例(打开数个网站,告诉你我要做成和它们一样的。)只能等着你来问100个问题。。。

  四种合作方式:

  1 创始人直接和你接洽:

  交流结果的协商余地很大,需求不易反复,细节不会被过分追究。更容易统一想法,执行力高,你能对项目和产品产生更大的影响。但往往甲方会过于急进。

  2 项目代表和你接洽:

  这是非常理想的状况了。甲方有一个产品经理或IT经理能作为代表,负责汇总甲方的所有需求和标准和你沟通,他有过与外包方合作的经验,知道危险的环节所在,能承担翻译和桥梁的角色,帮助你阻挡和说服不恰当的需求。能集中地承担责任,也会积极地和你一起规避项目失败的风险。非常lucky!

  3 专业部门和你接洽:

  IT部门或技术部门的某个高级别工程师负责和你沟通,你们会比较有共同语言,甚至惺惺相惜。技术方面的合作会很顺利,但是涉及到产品和需求,他们无法帮你挡住来自市场或内容部门的麻烦。合作开始后,很有可能在技术思路上产生分歧;如果在程序部分耽误了太多时间,而产品端被忽视,你有可能受到其它部门及上层的质疑。

  4 市场部门(内容部门)和你接洽:

  最好你先去烧烧香,准备好最坏打算。专业和思考模式的差异会导致你们关心的问题完全不一样。你首要满足了他们关心的地方后,切记留出不少时间来解决那些他们看不见但实际上非常重要的问题。另外你需要做更多的事,写更多的文档,主动和专业部门联系,力争和决策层有沟通。

  如果你面临了第3和第4种状况,

  请先熟悉一下甲方的组织机构。例如一般 内容型、媒体、渠道、宣传类项目的开发:

  需求 和 市场部门 沟通
  功能 和 内容部门 沟通
  软硬广告位或专题 等 和 销售部门 沟通(如果是改版类,广告位合同可能提前半年签订,一定要和销售协调好)
  技术、系统、安全、统计问题等 和IT、网管、数据统计部门 沟通
  某些问题 需要和 总裁助理、行政 等官僚部门沟通。
  部分特别的内容 需要和 创意、美工、文案部门 沟通
  当以后确定需求的时候,如果发现这些部门的人没有参与,请提前与之沟通。

  第1和第2种状况可跳过上述步骤。

  八步流程:

  第一步:听听客户想要什么。

  以及预计工期和预算(这两件事上一点都不要腼腆,这是关系项目成本最重要的元素)。

  第二步:提问。

  1 项目的目的是什么。(品牌、渠道、流量、广告费、用户数、VC、其它商业模式)

  2 甲方的优势和资源是什么。(钱,内容资源,人力大战,传统行业优势)

  3 尽量提供可视的参照及借鉴对象 。(应用上有没有可解决的。界面上比较喜欢哪个站点的设计。交互上有没有可参考的对象)

  4 其它工程的细节问题。

  比如(工期上的上下限是什么?
  是否会需要与现有系统整合、是否需要数据迁移?是否会需要甲方的工程师合作?
  是否有开发平台的限制?
  是否有代码规范及标准?最终需要哪些开发文档和源码 )

  第三步:取得共识。

  与甲方取得共识非常重要,保证你所理解的那他们所理解是同一个东西。这一步需要你根据掌握的情况列出提纲,画出草图或框架图。有参考对象的,标注上,哪个部分会比较像某某。

  然后请甲方确认, 这个框架是他们想要的。

  第四步:给出工程时间轴。

  到了这一环节,就需要你的项目经理组织所有团队成员坐下来讨论,先划分功能模块,然后讨论每个功能模块的可行性、难度、花费时间、bug发生率、测试耗时。再讨论一头一尾 系统搭建和系统整合的所需时间。

  项目经理对工程耗时和可行性完全心里有数后,画出工程的时间轴。包括并行状况,里程碑节点、测试期、缓冲期等(如何画工程时间轴,甘特图,我以后会专门写一篇)。时间轴要实事求是,并且预留好充分的缓冲期(工程师估时*2*110%)。

第五步:需求做减法。

  大部分情况下,时间轴表现的状况都会超出客户的预期。如果客户对工期没有要求,也要提醒客户考虑 项目可行性风险、市场等候成本、市场或战略变化导致的浪费。

  韩磊有一篇《大褂还是内裤》的blog很形象地描述过这个问题。

  所以要和甲方一起尽量对需求做减法。把整体需求拆成2~3期,落实只开发最基础和最必要的一期需求。

  这时签订正式开发协议。不要忘了计算 需求文档和产品方案 的费用。

  第六步:撰写详细的需求文档。

  《框架图》下载西乔的模版。可视化表现产品的框架、布局、细节、部分交互。
  《流程图》》下载西乔的模版。理出产品的逻辑关系。
  《功能需求文档》》下载西乔的模版。 罗列 功能、应用、交互上细节,分离基础件,作为开发分工和系统及数据构造的 基础文档。

  第七步:商讨需求文档

  尽量召集甲方所有相关部门的负责人 一起召开这次会议,商讨需求文档。

  在阅读到你的需求文档之前,可能甲方的大部分人都对产品没有可视和具象的理解。也从未关注到细节和逻辑关系。所以需要产品经理从全局角度和逻辑线索讲解文档。

  更可能发生的状况是,没有人坚持看完或仔细看过你写的文档。

  所以这次会议是一场耐心和体力的考研。

  文档作者需要 分别向各个部门指出他们需要关注和拍板的地方,听取他们的建议,将任何变动要求都分类记录。

  安抚情绪。解答困惑。控制需求变动。

  第八步:定稿需求文档

  分职能(部门)类建立表格文档。将会议协商中所有 分歧性意见和变动意见 都逐条写下。抄送所有相关负责人。并要求他们纠正分歧和确认变动。

  所有会议中可能被提出但是未出现在此邮件文档中的 意见,不会列入需求文档中。当然允许可以书面反馈补充。

  根据确认过的反馈回复,修改需求文档。直到需求文档定稿。

  协商讨论和文档修改可能经过2~3轮。所以需要项目经理提前提醒客户注意,搜集需求和文档定稿的 时间线里程碑。如果这个阶段耗时过久,会严重延误整个项目进度。要求客户尽量集中地谨慎地提出建议和修改。

  三种武器:

  需求问卷:无论是面对专业还是不专业的客户,交流中都有很多没考虑到的遗漏点,这些他们看不到的点往往是最关键的点,也有可能是被客户故意规避掉的点。

  此时撰写一份需求问卷非常有效。

  问卷里提出重要的全局性的问题,需要客户逐条书面回答。

  某些问题可以提供多个选项答案,及补充区域。
  某些问题 需要确凿的态度,Yes或NO。
  不要提出需要客户写一大段表述性文字的问题。

  需求问卷精简扼要,有针对性,重要,不要浪费客户的时间,不要把写字的工作量丢给客户。

  书面确认:

  书面确认 一方面包括 :所有讨论结果、建议 和变更 都要有书面文字备查。电话和开会上说说的这些口头表达都没有效应。这一点一开始你就要声明,甚至有必要写在合同里。

  另一方面包括:你要尽量提供书面的可视化的东西 来让甲方确认。

  甲方很难完备或是提供适合工程使用的文档。所以千万不要在项目初期的需求文档上省懒。

  邮件抄送:

  邮件抄送一种明确职责的方法。对方可能不看你的邮件,但代表你告之过。

  尽可能地抄送重要邮件给战略层,可以能避免一些重大问题的出现。

  结语:

  到此看起来,搜集和确定需求真是一件耗时耗力的工程。

  其实在理想的工程项目时间分配中,1/3的时间用于确定所有需求和开发文档。 1/2的时间用于测试,解决bug,安全测试、压力测试等。真正用于开发的只应该占1/6。

  当然web项目的开发肯定达不到这个理想状况。但是也由此可见需求阶段的重要性和工作量。这一阶段省一分力或有一分遗漏,到了项目后期可能需要十分力来弥补。