最近在读邹欣老师的书《构建之法》,读到很多地方,相当有感触,有种一拍大腿“啊,他说的太对了”的感觉,但都疏于记录,今天又看到一个一拍大腿特带感的一节,决定记录下来。

竞争性需求分析的框架——NABCD

N——need,需求

我在做软件的时候总是再想着,怎么能具体化用户的需求,还有就是怎么能拒绝用户新的或者不断变更的需求。用户有时候冲我噼里啪啦说了一大堆想要实现的功能,然而我完全没有抓住重点,根本没有明白用户到底说的是啥。反而每次和我的老师讨论需求的时候,我都非常清楚的明白他所说的需求是啥。我以前觉得这主要是因为需求是和他一块工作的人提的,所以他理解起来特别不费劲,直到有一次我和他一同去听用户需求,我才明白,其实用户对他提的需求也是噼里啪啦的,让人摸不到头脑,然而他总能和用户不断交流,最后确认用户到底想要的是啥,而且告诉用户,这个问题我将这么解决,会产生这样的效果,你看这样的效果是你想要的不,如果用户说是,那么也就完成了一个需求的确定。读《构建之法》我才觉得我以前的想法是愚蠢的,没有站在用户的角度考虑问题。我从来没有发现过用户的难处以及用户真正想要的是什么,我只是不断的在做软件的过程中,希望用户的需求简单,易于实现,不要总是变更,而没有考虑是不是用户还有其它想要的需求,或者这个功能做完了之后是否真的满足了用户的需求。

A——Approach,做法

提到这个就相当的惭愧,我总是用我自己特别擅长的技术来解决问题,有时超出了自己技术范围内的东西,更倾向于拒绝实现这个功能。然而每到这时求助于老师,老师一般会给两个解决方案:

1.你试试这个东西(一个我没见过的东西),这是一个标准解决方案。此时我的内心的崩溃的,因为我不知道这个东西会花费我多少时间,多少精力,既然它是一个标准的解决方案,那我如果没有解决问题可咋整,如果我实验没成功得多丢人啊。不过大多数情况下,是非常成功的。

2.如果上面的不成功,老师会选择一个我擅长的技术,然后给出一个曲线救国的方案。、

我觉得老师的做法才验证了邹欣老师书中所说的软件工程的思想,不用最好的最前沿的技术,而使用已有的最稳定的技术保证软件的正确运行。

B——Benefit,好处

东西做出来了,会给用户带来什么好处呢?这真的是用户想要的吗?你开发了一个聊天软件,能比QQ好吗?如果不比QQ好,那你开发的意义又在哪里呢?这觉得这个部分有点像研究生论文的高潮,你的东西为啥就好呢,现在世面上有那么多成熟的软件,你的能比那些天天成千上万的人都在用的软件好?你的好在哪里呢?至少得有一点好吧,要不你做的就完全无用武之地啊,你只说这对你个人的成长起到了帮助,那你自己做个软件玩玩好了,用户拿他来做什么呢?

C——Competitors,竞争

也许我开发的软件还不存在竞争者的问题,但我觉得我最大的对手就是市面上已经存在的软件,我怎么保证用户提到了的需求只有我的软件可以满足。可能市面上的软件已经有了XYZ功能,而用户提出的功能是WXYZ,那么我就赢了,我比市面上通用的软件多了一个W的功能。这也就是书中所说的,找到我方的优势才是最关键的。比如我的毕业论文,DSL大家已经都开始研究了,而我把DSL用在了电化学仪器上,你们没有,那我的软件的就比别人有竞争力了,我的毕业答辩也因此顺利了一小点。

D——Delivery,推广

其实我觉得这个是除了做软件以外非常重要的一个环节,就是你怎么把自己的东西推广出去。就好像毕业的时候找工作,你自己推销你自己。清华北大的人家软件硬实力就好比QQ和360,你和他们一块推销自己确定费劲了点。那如果你和同班同学一块去应聘呢,你如何能在你的同学中脱颖而出呢?首先你得能拿得出好的产品,也就是你学习得差不多点,一问三不知的肯定不行。其次就是你得把自己的优势拿出来,会C#的你就别应聘VB的岗位。第三就是你得找到正确的推销自己的渠道,硕士博士你就不要站在刮大白的地方应聘,而应该多关注研究所,各大院校高端人才招聘等招聘场所。

NABCD——竞争性需求分析的框架的更多相关文章

  1. 团队作业-第一周-NABCD竞争性需求分析

      1.  Need 需求 随着科技信息的发展,传统的课堂点名亟待步入信息处理的轨道,移动校园课堂点名软件恰好的切入了这个需求点,市场中词类软件也为数不多,因此需求也是比较强烈. 2. Approac ...

  2. NABCD竞争性需求分析

     1.  Need 需求 市面上关于各类记事本,时钟显示程序,图片显示程序,日历程序有很多,但是它们大多是零散的软件,不利于现在高集成的时代,我们所做的就是将各种功能合起来. 2. Approach ...

  3. 利用NABC模型进行竞争性需求分析

    利用NABC模型进行竞争性需求分析:   1>N(Need 需求)   越来越多的,各式各样的游戏层出不穷,大的小的中等的都已经琳琅满目了,用户貌似都看不过眼了.现在大游戏费时伤神,当然了得在有 ...

  4. 团队项目作业:利用NABCD模型进行竞争性需求分析

    NABC正是这样的一套框架,当你试图提出一项崭新的提案之际,它能够提供四个思维基点,令你的商业策划具备天马行空的基础. 具体来说,NABC是四个关键词的首字母缩写- Need(需求)-现在市场上未被满 ...

  5. NABCD模型进行竞争性需求分析

    确定项目:教室管理系统 负责人:李凤娇,高德建 选择比努力更重要.一个项目成功自然离不开组员们的努力.但是,光努力是不够的.还需要用户有需求,能快速实现. 这些东西,看似很虚,却能让我们少走不少弯路. ...

  6. 2丶利用NABCD模型进行竞争性需求分析

    确定项目:公交查询系统 分析小组:在路上 选择比努力更重要.一个项目成功自然离不开组员们的努力.但是,光努力是不够的.还需要用户有需求,能快速实现. 这些东西,看似很虚,却能让我们少走不少弯路.做项目 ...

  7. 团队项目作业第二项:利用NABCD模型进行竞争性需求分析

    项目需求分析与建议--NABCD模型(王鲁跃负责) N (Need 需求) 对于现在的学生来说,我们认为打字是很重要的.不管在什么方面都需要进行电脑打字,例如文员.QQ.MSN.制作,论文等等,都需要 ...

  8. 利用NABCD模型进行竞争性需求分析

    微博的NABCD模型 N-Need:毫无疑问,当今的中国普通民众是有这点需求的,在上个世纪中国民众的休闲娱乐方式更多的停留在以电视传媒为主的娱乐方式,而进入21世纪以来中国民众的娱乐中心向互联网转移, ...

  9. 图书馆管理系统—NABCD模型竞争性需求分析

    本次课程设计设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书.读者以及日常工作等多项管理.同时对整个系统的分析.设计过程给出一个完整论证. 1>N(Need 需求 ...

随机推荐

  1. 2014年小结之sql语句优化

    之前接手一个数据统计处理的小程序,本来逻辑上并没什么,只是数据量略大,某些表的数据达到了千万级别..因为是统计,所以免不了各种连接各种查询,结果这个小程序写完后运行一次要1个小时..这的确有点出乎意料 ...

  2. Flume practices and sqoop hive 2 oracle

    #receive the file flume-ng agent --conf conf --conf-file conf1.conf --name a1 flume-ng agent --conf ...

  3. Jenkins插件hyper slaves源码分析

    1.public class HyperSlaves extends Plugin implements Describable<HyperSlaves> (1).init():初始化co ...

  4. 【C#】SQL数据库助手类2.0(自用)

    using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...

  5. 如何实现ZBrush中的Alt和Shift键的快速运用

    ZBrush是一个数字雕刻和绘画软件,它以强大的功能和直观的工作流程彻底改变了整个三维雕刻行业.在一个简洁的界面中,ZBrush®为当代数字艺术家提供了世界上最先进的工具.利用快捷键能使操作更快捷高效 ...

  6. 通过CDC获取 HDC

    通过CDC获取HDC 通过CDC(设备描述表)获取HDC(设备上下文句柄)的方法: //第一种 void ...::OnDraw(CDC *pDC) { ...... HDC hDC=pDC-> ...

  7. Dijkstra求最短路径

    单源点的最短路径问题:给定带权有向图G和源点V,求从V到G中其余各顶点的最短路径 Dijkstra算法描述如下: (1)用带权的邻接矩阵arcs表示有向图,arcs[i][j]表示弧<vi,vj ...

  8. HOJ 1640 Mobile Phone

    题意:有一个n*n的矩阵,op==1时,在(x,y)增加值z,op==2时,求以(x1,y1)和(x2,y2)构成的矩阵的和. 思路:二维线段树. 代码: #include<stdio.h> ...

  9. C# 编码约定(C# 编程指南)

    C#注释约定 将注释放到另一行,而不要放在代码行的末尾. 以大写字母作为注释文本的开头. 以句点结束注释文本. 在注释分隔符 (//) 和注释文本之间插入一个空格,如以下示例所示. // The fo ...

  10. ASP代码审计一枚

    <% On Error Resume Next dim name, pass, sql, action set conn = server.CreateObject("ADODB.Co ...