• 现代软件工程讲义 如何提出靠谱的项目建议 NABCD


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

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

     

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

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

       - 拍胸脯: 没问题的, 市面上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 以及相关的案例, 论述, 大家可以看这本很厚的书 -

    image

    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,如需转载请自行联系原作者

  • 相关阅读:
    使用 ASP.NET Core MVC 创建 Web API(五)
    使用 ASP.NET Core MVC 创建 Web API(四)
    使用 ASP.NET Core MVC 创建 Web API(三)
    使用 ASP.NET Core MVC 创建 Web API(二)
    使用 ASP.NET Core MVC 创建 Web API(一)
    学习ASP.NET Core Razor 编程系列十九——分页
    学习ASP.NET Core Razor 编程系列十八——并发解决方案
    一个屌丝程序猿的人生(九十八)
    一个屌丝程序猿的人生(九十七)
    一个屌丝程序猿的人生(九十五)
  • 原文地址:https://www.cnblogs.com/twodog/p/12138104.html
Copyright © 2020-2023  润新知