美文网首页编程的乱七八糟产品
为什么你总觉得需求不停在变?

为什么你总觉得需求不停在变?

作者: 溪石iOS | 来源:发表于2016-12-07 08:44 被阅读897次

本文假设的读者对象是程序员。

按他们说的做,真的没问题吗?


请问以下是一个真实需求吗?

按钮背景为灰色。

有时候,程序员接到需求,往往都是这样的只言片语,作为开发人员,我们必须保持警惕和怀疑:
灰色是UI设计还是客户公司的标准?它会变化吗,可能有其它颜色吗?
事实上,以上需求正确的描述是这样:

APP的所有可视元素(颜色、字体)都可由用户配置

看似一个不经意的颜色改动,背后隐藏的是这样宽泛的功能性需求,如果不加以挖掘明确,开发过程将不停的在一个“小”功能上打转:比如发布新版时,客户要求所有按钮背景改为粉红色。

如何对付“我没说过”的需求?


有时辛苦完成一个功能,领导过来让你修改,你明明记得上次他的要求不是这样,当你指出这点时,领导丢来一句“我没说过”,这时你是不是感到百口莫辩?
其实有时候也不是领导为难你,一个产品,随着时间推移,战略、想法、优先级都会变化,当然,也有可能是领导真的忘记了;但程序开发毕竟是有周期的,因此为避免对功能需求产生误解,杜绝“翻盘式修改”,推荐使用【需求卡片】。


简化版的需求卡片

可能有的开发一线的童鞋不乐意了:这不是需求人员的活吗?是的,收集需求确实是需求分析工作的一部分,但需求人员可能并不了解实现细节,这个表格就是一份检查清单,确认用户描述的需求转化成了可以具体执行的【用户用例】,可以用于进度追踪和测试标准。
当然,即使我们完成了需求卡片,也不是默默地自我欣赏遵循就好了,请把这些卡片发给产品需求或项目经理、测试人员确认,如果能直接发给“问题提出人”,也是最好不过。

在开始写下第一行代码前,花点时间,填写需求卡片。

确认双方在说同一件事


某周五距离下班前半小时,产品汪在群里大喊:“@XXX,某某功能做完了吗?测试那边等着要。”
程序猿:“做完了,周三的测试包里就有。”
(...大约10分钟后)
产品汪:“测试那边说没看见,我也安装试过了,没有发现某某功能模块!”
程序猿:“等等,我检查下”
(...大约20分钟后)
程序猿:“明明在安装包里啊,你确定安装了0.2.8版吗?”
产品汪:“我看下”
(...大约15分钟后)
产品汪:“确认过了,版本号是0.2.8,测试那边也确认过了,你打个新包出来。”
程序猿:“好吧|||”
(...大约20分钟后)
程序猿:“新包打好了,你们看一下。”
(...大约10分钟后)
产品汪:“还是没有!!!”
程序猿:“怎么没有,(截图)”
产品汪:“!不是这个呀,是某某功能。”
程序猿:“这就是某某功能!”
产品汪:“某某功能是这样的(另一幅截图)!!!”
程序猿:“这个功能啊!!!这个不是某某某功能吗?某某功能还在开发”
产品汪:“...”
(此时,距离下班时间已过去一个小时,产品汪、程序猿的对话还在继续,苦逼的测试鼠默默地拿起手机向女友道歉:晚上估计要加班...)
这样一幕是不是感到似曾相识?问题在于对于“某某功能”,产品汪、程序猿没有统一,如果测试鼠对“某某功能”的定义与产品汪也不一致,这个反复确认的时间会指数级增长,各种产品参与者对具体功能定义产生了<u>理解误差</u>,或许我们不停加班原因就在于此。
同样是表格,在iOS系统(左图)和Excel(右图)中分别指:

【表格】的不同含义

因此,在开发前,产品参与者们一同约定一个【词汇表】,并用“有道云协作”这样的云工具共同编辑,确保大家在后面的沟通没有误差,是非常必要的。

IBM产品词汇表

词汇表是一组为项目构建一致性的常规术语而创建的词汇。

区分无形的脚镣还是大气层


经常听到,APP端的童鞋抱怨服务端的接口改了,导致一套界面无法使用。很多时候我们觉得程序无法修改了,甚至无法开始写代码,这时候不如问下自己下面这些问题:

  1. 这是需求问题还是技术问题?
  2. 商量好的方法确实能解决这个问题吗?
  3. 这个问题必须要解决吗?不解决会怎么样?
  4. 作为开发者,我能自由发挥的范围有多大?

NLP心理学说就假设

凡事有三个以上解决方案。

有时候重新解释问题,问题会自己消失。
比如现在APP开发对过场动画越来越重视,很多开发童鞋一开始实现功能时就纠缠于加动效,可有时候,领导可能只是要个演示功能的安装包而已,正式开发时,可能很多页面都不要了,如果不加以区分,一律加动效,自己做了无用功不说,还耽误了软件发布的时间,自然双方都不满意。

小结:


本篇介绍了在实际编程前,必须要做的工作:

  1. 对需求保持警惕,主动了解真实需求。
  2. 用需求卡片记录需求,挖掘领导或客户的真实意图。
  3. 使用词汇表,保持大家对某具体问题的描述一致。
  4. 重新解释问题,避免纠缠于不必要的问题。

不要收集需求,而要挖掘需求!

毕竟我们程序员是最终为程序负责的人,祝各位编程快乐!

本文为溪石iOS原创
转载务经授权

相关文章

  • 为什么你总觉得需求不停在变?

    本文假设的读者对象是程序员。 按他们说的做,真的没问题吗? 请问以下是一个真实需求吗? 按钮背景为灰色。 有时候,...

  • 一条单身老狗的爱情自白书

    为什么有的人没有恋爱需求? 是因为总觉得自己不够好,所以每天想着变的更好之后才能配得上未来的他。 总觉得老天能看到...

  • SEO实战:志超老师教你如何进行网站改版

    为什么要进行网站改版? 时代在变,客户需求在变,我们的营销型网站也得跟着客户的需求而变,跟着搜索引擎的规则而变,深...

  • 让爱停在这时光隧道

    我要陪着你一起变老,让爱停在这时光隧道。

  • 深耕专业,再行变现——章鱼小洋子

    为什么,有的人,学了很多,总也变现不了? 为什么,有的人,总觉得变现很难? 不为什么 ——就是你不精,也不够专业而...

  • 《知识就是力量》笔记

    需求感。“你应该谈恋爱了”“你为什么不找男盆友”——因为我暂时对男朋友没有需求啊。恰好,《知识就是力量》在开篇说出...

  • 孩子如何才能主动?

    反问一句,孩子为什么不主动了呢?每个人都有主动向上的需求,但后来为什么不主动了呢?你是否把主动权交给孩子?你是...

  • 2019-07-26

    灯又绿了 你不走 我也不走 我们彼此望着 停在路口

  • 他为什么笑嘻嘻地和别人说他打老婆

    今天又看到关于打老婆的新闻了。为什么现在这个社会,居然还有这么不尊重女人的人?他的脑子都停在古代了吗?说停在古代都...

  • 营销――价值决定价格。

    时代在变,生活方式在变,人们的消费需求也在变。当然,这就需要一个灵活多变,随机应变的营销方式。 “不营销,就死亡”...

网友评论

  • 41b5db6748f8:宁愿多花时间需求确认,也不要在开发过程中在边写边改。我通常是先写需求实现方案,然后是自测用例。自测用例需要产品和测试验收。在开发前接口,字段都先跟后台定好,最后在进行开发。 :smile:
    溪石iOS:@小鬼旦_ :+1::+1:
    41b5db6748f8:@溪石 就是根据具体的场景来描述页面变化,或者交互逻辑。举个栗子,比如页面断网场景下,页面展示是什么样子的,哪些按钮是可以点击了,哪些按钮是不可以点击的。要让产品和测试一眼就能看清楚
    溪石iOS:666,请教一下自测用例是什么格式的?
  • dfe147f4a102:是牙 小卡纸记下就能防止他们无止境的修改
  • 马铃薯蜀黍:就怕有的人沟通起来费劲,情商低,脾气还差的那种人,分分钟想离职
    溪石iOS:@马铃薯蜀黍 宽恕他们
    马铃薯蜀黍:@溪石 我一般总会迁就别人 笑脸相迎 但是如果太过分我肯定会怼他
    溪石iOS:@马铃薯蜀黍 很多人其实不知道自己要什么
  • 0416119a816f:在主动挖真实需求的过程中往往自己给自己种下一枚爆炸式增量的需求弹,然而最后湮没在有限的开发周期中,然后后期再来增量甚至重构...:joy:
    溪石iOS:@艾尔欧唯伊 确实要注意什么时候应该适可而止
  • 鲁鲁妹:如何对付“改到让我满意为止”的需求?
    溪石iOS:@鲁鲁妹 送他三个字gun
  • 360577008c32:还是觉得领导思路不清晰最可怕,按着需要开发做出来说不行,再改再提交还是不行,握草,到底要干嘛(⊙o⊙?)
    溪石iOS:@切克闹闹哪样 说多了都是泪
  • Thebloodelves:好文
    溪石iOS:@Thebloodelves 有什么好招欢迎交流
  • 5efd75a1c3fc:像是作者的心声啊,哈哈
    溪石iOS:@5efd75a1c3fc 真的这么明显吗?:joy:
  • 溪石iOS:强力实践中

本文标题:为什么你总觉得需求不停在变?

本文链接:https://www.haomeiwen.com/subject/uyqnpttx.html