互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代。 你有很多机会做出影响世界的产品,  但是, 似乎任何想法都被别人想到过了, 做出来了, 上市了, 移植到各种平台上去了…  那么我们后来人除了羡慕别人生得早, 还有什么机会呢?  但是往往不经意间, 在同学们热衷于偷菜, 三国杀, 玩朋友圈的时候,  又一批新的想法, 新的技术蜂拥而至, 别人又想出了新的点子, 新的商业模式.  我们的菜偷了不少, 三国杀玩了好几个通宵,  但是想法还是没有 …

在《现代软件工程》 这门课里, 同学们不能穿新鞋, 走老路 - 学习了很多新技术, 新的开发模式, 新的团队管理方法, 却做一个毫无新意, 没人使用, 演示后就扔掉的东西 (例如: 虚拟的学籍管理系统, 图书馆管理系统…)。  我们要做实用并且创新的项目。

那我们怎么提出新的创意, 怎么说服别人我的创意是靠谱的?  有些同学会通过“二拍”的办法来解决:

- 拍脑袋: 嘿, 咱们做一个图书拍卖网站怎么样?

- 拍胸脯: 没问题的, 市面上Asp.net 的书很多, 我看两个晚上就能写出一个购物网站。

这些事情光靠拍脑袋和拍胸脯是不够的, “二拍" 的后果往往是第三拍 - 拍屁股走人.  有些同学可能还会遭到脑袋被砖头拍, 或者被胸袭的后果。 如果不能拍脑袋, 胸脯, 屁股,  那我们怎么才能想出靠谱的想法,  然后有条理地说服别人?  在宿舍里睡觉, 聚餐, 喝酒, 搞头脑风暴?

下面是一个比较系统的框架 - NABCD 模型, 可供大家参考:

1) N (Need 需求)

你的创意解决了用户的什么需求?   这个需求可以是明确的, 公开的 (例如: 希望能上网玩三国杀).  也可能是说不清道不明的, 例如 - 以前没人说: 嗯, 如果我能找到这样一个网站, 我可以去偷菜, 就好了…

我们要充分了解用户的痛苦, 他们对已有软件, 服务不满意的地方。但是用户往往也不知道颠覆型的创新。 例如亨利 · 福特 当年发明汽车之前, 如果他深入用户之中, 了解他们的需求, 用户会告诉他 - 我希望我的马车更快一些!

需求可以进一步分析:

这是刚性需求,或辅助性需求?需求的量有多大? 需求会一直存在么? 很多同学想象力非常丰富,觉得一定会成千上万的用户来使用我想出来的软件。那么可以实践一下,找到10个潜在用户,他们表示“一定会试用你的软件”, 那么就算你找到了合适的需求 (Need).

2) A (Approach 做法)

好, 你找到了用户的痛苦,  下一步, 得看看你有什么招数, 特别是独特的招数, 来解决用户的痛苦。  你不能说我会C++, Java,所以我一定可以写好这个软件.  你得有独特的办法,  例如, 有人脸识别技术, 会做超大规模的数据处理。 那你 (你的团队) 会什么呢?  只会冒泡排序?

这些招数不光是技术上的, 也可以是商业模式上的, 地域的, 人脉的, 行业的.

招数也可以进一步分析:

基本的招数, 独特的招数, 招数的可行性, 技术可行性,法律法规可行性。

一个刚成立的团队,他们对自己的实际能力往往不太了解。 例如有学生说 - 我懂 Java,其实他只是上过一个讲Java 的课,开卷考试通过而已,和在实际中能用 Java 语言和相关的框架按时按量地完成任务还差得很远。 那么,团队会碰到什么困难,团队成员有什么能力和办法来解决这些困难呢?  请讲一讲。

3) B (Benefit  好处)

这时候你已经弄清了需求,有了独特的解决问题的办法,  那你这个产品/服务会给客户/用户带来什么具体好处呢?  如果用户已经有一个解决方案 (例如用户已经在用 QQ 聊天),  那你的产品具体有哪些好处, 能让用户离开现有产品, 使用你的产品来聊天呢?  另外这还有一个 Benefit/Cost (成本) 的问题。  如果你要用户必须有8G 内存, 最好的视频驱动, 20M 宽带连接, 才能使用你的 “更好的”视频聊天工具,  那会有多少用户愿意支付这个成本呢?

Benefit 还可以指对自己团队/公司的好处。

4) C (Competitors 竞争)

竞争对手也没有闲着, 这个市场有多大, 目前有多少竞争者在瓜分, 你了解么? 竞争者是单独的,还是存在一个行业链,各个阶段的竞争者都一样么?  你如果不是最先进入某个市场的产品, 你还能赢么?

大家可以看看有关 First Mover Advantage (FMA),  Second Mover Advantage (SMA) 的描述。

关于更多NABC 以及相关的案例, 论述, 大家可以看这本很厚的书 -

Innovation: The Five Disciplines for Creating What Customers Want

5) D (Delivery 交付)

在练习了多次的 NABC 之后, 我意识到也许还应该加一个D: Delivery。 怎样把你的创新产品交到用户的手中?

例1, 你想到了一个好主意, 建一个比 hao123 更好的导航页面!  我们姑且认为NABC 都没问题,  那如何把这么好, 这么简单的产品交到 (Deliver) 用户手中呢?   用户怎么能知道你的产品?你如何利用互联网(或者其他途径)把这一福音传遍你的目标用户?  这一方面在早期的软件开发者的角度来看,应该是 “市场部门” 该做的事。  但是,现在网络已经成为绝大多数软件产品一一部分,对社交网络的应用不会发生在产品开发完毕之后,而是在早期就会成为产品规划和功能的一部分。

例2, 你想到了一个手机的应用, NABC 都不错,  那如何把产品交到千万个用户手中呢?

【作业】请同学们把自己项目的NABCD 都写出来。

  1. 用具体的事实和分析说明你项目的特点。特别是要说明自己找到了至少 10 个潜在用户,他们会试用你的产品。 例如你们班的同学, 请把他们的名字写出来。
  2. 把这些要点都组合成为一段话  --  当你要向别人兜售你的项目的时候, 你通常只有很短的时间 (电梯演说),能否自然而有条理地把项目说清楚?  请用你产品中实际的元素代替 <> 中的抽象概念。

各位领导/投资人/合作伙伴: 我们的产品 <foo> 是为了解决 <目标用户> 的痛苦, 他们需要 <Need>, 但是现有的方案并没有很好地解决这些需求,我们有独特的办法 <Approach>,  它能给用户带来好处 <Benefit>, 远远超过竞争对手 <Competitor>.  同时,我们有高效率的 <Delivery> 方法,能很快地让大部分用户知道我们的产品,并进一步传播。

3. 把上面的这段话录制为视频,上传到视频网站,并把链接发到个人/团队博客上。

注意,“创新”可以分为改良性的创新 incremental innovation - (软件中增加几个功能,  把某个程序变得更快一点,  把程序移植到新的平台), 和颠覆性的创新 (disruptive innovation).   这两种类型各有其重要性, 颠覆性的创新往往还没有明确定义的市场或竞争对手,但并不能说此类创新的威力不大, 创新者要锻炼表达能力,把自己项目真正的独特之处展现出来。

本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html,如需转载请自行联系原作者

现代软件工程讲义 如何提出靠谱的项目建议 NABCD的更多相关文章

  1. 用NABCD法提出靠谱的项目建议

    在项目中提出靠谱的建议,一方面能提高项目成功的概率,另一方面锻炼自己能力提升自己在项目中的影响力,所以我们要尽可能抓住机会在项目中提建议.那要如何提出靠谱的建议呢?从需求出发,明确做法和好处,分析竞争 ...

  2. 邹欣,现代软件工程讲义:单元测试&回归测试

    http://www.cnblogs.com/xinz/archive/2011/11/20/2255830.html 邹欣, 现代软件工程讲义 2 开发技术 - 单元测试 & 回归测试

  3. 高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告

    高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告 Deadline:2017-10-30(周一)21:00pm (注:以下内容参考集大作业4,集大作业5,集大作业6,集大作业7 一. ...

  4. 软件工程第三个程序:“WC项目” —— 文件信息统计(Word Count ) 命令行程序

    软件工程第三个程序:“WC项目” —— 文件信息统计(Word Count ) 命令行程序 格式:wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数 ...

  5. 201771030121-王国伟 实验一 软件工程准备—<问题提出与博客首秀>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 本次作业要求链接 https://www.cnblogs.com/nwnu- ...

  6. KB奇遇记(7):不靠谱的项目实施计划

    在ERP项目启动前期,项目组两方项目经理和我等几个人单独跟总裁开会,讨论了初步的ERP实施计划,本来第一期上线只是考虑上其中一家工厂而已,结果临时加入了深加工的工厂.本来项目组预定计划是2017年1月 ...

  7. 高级软件工程2017第7次作业--团队项目:Beta阶段综合报告

    Deadline:2017-11-06(周一) 21:00pm (注:以下内容参考集大作业8 集大作业9 集大作业10 ) 0.评分规则: 按时交 - 有分,内容包括以下5个方面: Beta阶段敏捷冲 ...

  8. 高级软件工程2017第6次作业——团队项目:Alpha阶段综合报告

    1.版本测试报告 1.1在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? Bug分类 Bug内容 Fixed 编辑博文时改变文字格式会刷新界面 Can't reproduced 无 N ...

  9. 高级软件工程2017第5次作业—— 团队项目:需求改进&系统设计

    Deadline:2017-10-23(周一) 21:00pm 注:以下内容参考 集大作业 1.评分规则: 按时交 - 有分,检查的项目包括后文的四个方面 需求&原型改进 - 20分 系统设计 ...

随机推荐

  1. 100 Path Sum

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...

  2. MongoDB查询mgov2的聚合方法

    1.多条表数据累计相加. respCount := struct { Rebatescore int64 //变量命名必须要和查询的参数一样.}{} o := bson.M{"$match& ...

  3. 安卓动画(Animation使用)

    安卓的Animation视图动画的使用非常简单,并且对象适用于一般控件. 具体使用步骤如下. Button/TextView/EditText/ImageView/Bitmap .....   obj ...

  4. centos7 NAT链接配置(静态ip/修改网卡名为eth0)|1

    NAT的静态ip设置并且修改网卡名为eth0 1 cd /etc/sysconfig/network-scripts/ mv eno16777736  ifcfg-eth0 #修改名称 vi eth0 ...

  5. [安卓] 21、android studio 疑难杂症

    目录 1 gradle问题 1.1 gradle版本不匹配导致的错误: . 1 gradle问题 1.1 gradle版本不匹配导致的错误: 背景:在导入telink ble ota安卓源码时遇到an ...

  6. git如何清除远程 __pycahce__ 文件

    第一步,清除已经存在的缓存文件 >> git rm -r -f --cached */__pycache__ rm 'common/__pycache__/__init__.cpython ...

  7. CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架

    作者:蒋天园 Date:2020-04-18 来源:3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR2020 Brief paper地址:https://arxiv.org/p ...

  8. AJ学IOS 之二维码学习,快速生成二维码

    AJ分享,必须精品 二维码是一项项目中可能会用到的,iOS打开相机索取二维码的速度可不是Android能比的...(Android扫描二维码要来回来回晃...) 简单不多说,如何把一段资料(网址呀,字 ...

  9. android学习笔记——计时器实现

    根据android疯狂讲义来写写代码,在博客里面将这些写过的代码汇总一下.实现的功能很简单:就是一个简单的计时器,点击启动按钮会开始计时,当计时到20秒时会自动停止计时. 界面如下: 界面代码: &l ...

  10. search(6)- elastic4s-CRUD

    如果我们把ES作为某种数据库来使用的话,必须熟练掌握ES的CRUD操作.在这之前先更正一下上篇中关于检查索引是否存在的方法:elastic4s的具体调用如下: //删除索引 val rspExists ...