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

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

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

 

首先“创新”可以分为改良型的创新 incremental innovation - (软件中增加几个功能,  把某个程序变得更快一点,  把程序移植到新的平台), 和颠覆型的创新 (disruptive innovation).   这两种类型各有其重要性, 不宜偏废。 

 

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

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

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

 

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

 

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

1) N (Need 需求)

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

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

 

2) A (Approach 做法)

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

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

 

3) B (Benefit  好处)

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

 

4) C (Competitors 竞争)

    竞争对手也没有闲着, 这个市场有多大, 目前有多少竞争者在瓜分, 你了解么? 你如果不是最先进入某个市场的产品, 你还能赢么?

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

 

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

image

Innovation: The Five Disciplines for Creating What Customers Want

 

中科大 《现代软件工程》班的同学,  请把你们的每一个靠谱的创意按照 NABC 的框架发表在你们的博客上, 每一个组员至少提出一个创意, 多多益善。

2012/4/15 更新:

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

例1, 你想到了一个好主意, 建一个比 hao123 更好的导航页面!  我们姑且认为NABC 都没问题,  那如何把这么好, 这么简单的产品交到 (Deliver) 用户手中呢?   

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代软件工程 教学计划 中国科学技术大学-微软亚洲研究院联合培养班

屈指一算, 我已经讲了3年 <现代软件工程>, 教了 4 个班。 2007 - 2009 清华大学理论计算机科学研究中心 (姚班) 2009 北航计算机系还有在北大合作的教学: 2007 - 2009 北京大学软件学院 (课程名叫 - 微软软件实现技术, 我是讲师之一) …

c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...

前言Visual Basic程序设计实验指导本书是《Visual Basic 程序设计教程》的配套实验指导书&#xff0c;全书内容分为四部分。第1部分为实验指导&#xff0c;设计了18个实验&#xff0c;每个实验都是编者精心设计和选择的&#xff0c;所构思的实验内容选材合理&#xff0c;实验目…

基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)

http://www.newsmth.net/bbstcon.php?boardMicrosoft&gid48785 有人提问: 看了很多的面试题之类的&#xff0c;感觉虽然自己数据结构与算法基础知识很扎实&#xff0c;但还是做不出来&#xff0c;所以请高人指点。 这个问题看似迷惑, 其实提问的人搞混了两件事 - “数据…

c语言中的for循环怎么提前终止,[新人求指教]51C语言编程可否用中断令循环结束提早结束...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼C51_C语言编程控制流水灯硬件电路 p0 接 led 8 个&#xff0c;P33 接按键使用中断2开机灯按1~8逐位闪烁&#xff0c;并循环按键后改为 两灯亮 的流水灯下面写了个程序#include #include #define uchar unsigned char#define uint u…

湖南工程学院+c语言程序设计人事档案管理系统,程序设计人事档案管理系统.doc...

课 程 设 计 报 告课程名称 C语言程序设计课题名称 人事档案管理系统专 业 电子信息班 级 1001班学 号 201001030112姓 名指导教师 肖伟平 黄哲 罗敬2011年 6 月 23 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计课 题 人事档案管理系统专业班级 电子信息1001班学…

敏捷软件开发宣言ndash;Manifesto for Agile Software Development

敏捷开发, 谁不会呀, 不就是 没文档, 出活快, 用户说啥都能改?下面是一个笑话, 王屋村的大牛说 - 我最近转手接了一个活, 完事能挣四五万, 我拿过图纸一看, 不就是盖一烟囱吗? 我们是敏捷 (Agile) 的团队&#xff0c;要文档作甚? 马上开始干活&#xff01;都快盖好了&…

2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc

2015电大本科C语言程序设计A试题汇总2015年电大本科《C语言程序设计A》一、单选题1&#xff0e;在每个C语言程序中都必须包含有这样一个函数&#xff0c;该函数的函数名为 A 。A. main B. MAIN C. name D. function 2&#xff0e;每个C语言程序文件的编译错误分为(B)类。 A. 1 …

现代软件工程 - 代码量等于树叶量

我 2008年在清华大学上<现代软件工程> 的时候, 和同学讨论了代码量的问题。 同学说&#xff0c;许多相似课程都有“代码量”的要求&#xff0c;就是说软件工程的项目选题如果没有到一定量的代码&#xff0c;就不能算合格的选题。 老师助教专门花时间分析学生的代码是否…

计算机二级考试c语言公共基础知识,全国计算机二级c语言公共基础知识考试内容.doc...

全国计算机二级c语言公共基础知识考试内容全国计算机二级等级考试的笔试包括基础知识和程序设计两部分&#xff0c;其中基础知识占30分。以下是由关于全国计算机二级c语言公共基础知识考试内容的内容&#xff0c;希望大家喜欢!全国计算机二级c语言公共基础知识考试内容一、C语言…

现代软件工程 其实还是人的问题

在《现代软件工程》这门课程上&#xff0c;大家分成6-7人的小组进行项目开发&#xff0c;有项目经理 (PM)&#xff0c;有开发人员 (dev)&#xff0c;测试人员 (test) 等。不久就有PM说&#xff0c;怎么小组里有些人就是不干活&#xff1f; 最早&#xff0c;大家假设所有人都是…

现代软件工程系列 结对编程 (II) 电梯调度程序新需求

原来布置的作业在这里: http://www.cnblogs.com/xinz/archive/2010/11/28/1890300.html 正如在现实生活中一样, 软件项目的需求也会经常发生变化. 原题假设所有电梯都停靠所有楼层, 我们改成各个电梯停靠的楼层不尽相同。这在实际生活中也很常见。 例如原来: Elevator name…

nodejs怎么与c语言通信费是什么,NodeJS介绍与使用

NodeJS是什么Node.js是一个基于Chrome V8引擎的JavaScript运行时。NodeJS并不是一门语言&#xff0c;JavaScript才是一门语言&#xff0c;他是一个运行时&#xff0c;如果想要在服务器端运行就需要运行时。nodeJS使用了一个事件驱动、非阻塞式I/O的模型非阻塞式I/OI/O:就是inpu…

历年高考报考人数和录取人数

全国历年参加高考人数和录取人数统计 (1977年&#xff5e;2010年) 时间&#xff08;年&#xff09;参加高考人数&#xff08;万人&#xff09;录取人数 &#xff08;万人&#xff09;录取率 &#xff08;%&#xff09;1977570274.7%197861040.26.6%1979468286.0%1980333288.4%1…

android xml配置,Android XML设置z-Index

基本上我有2个线性布局。用户单击按钮时&#xff0c;一个线性布局将展开或折叠。另一个将始终显示在顶部。这里是我的xml&#xff1a;Android XML设置z-Indexandroid:layout_width"fill_parent"android:layout_height"fill_parent" >android:id"id…

现代软件工程 M1 博客要求

各个小组都大致确定了自己的项目和人员分工, 这太好了。 第一个里程碑马上就要开始了。 请同学们按照下表的要求, 把各个角色, 各个阶段要做的事情都快速地用博客表达出来吧。 每个博客的截止日期是: 每日博客:第二天早上9点。 每周博客:下一周周一早上9点。 每个团队有6-7 …

android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...

作者&#xff1a;程序员小冰&#xff0c;GitHub主页&#xff1a;https://github.com/QQ986945193新浪微博&#xff1a;http://weibo.com/mcxiaobing首先给大家看一下我们今天这个最终实现的效果图&#xff1a;当然&#xff0c;这里的进度&#xff0c;是我们手动触摸控制的。截图…

同学, 有板砖么?

这次 <现代软件工程> 的4 个团队要做下面的项目: 第一组: 一个BBS 的通用客户端 第二组: 挖掘学术圈内的师承关系 第三组: 真人拳皇 - 把你老板的照片变成对手, 然后给他一顿痛打 第四组: 一个叫呆呆的东东。 这些想法都各有特点&#xff0c;同学们也意识到自己…

顶级程序员的心得ndash;Coders at Work

[原文在 www.yishan.cc 连载, 现在合成一篇] 我去年读了 “Coders at Work”, 对15 位顶级程序员的采访&#xff0c; 总共600页。 从采访的模式看&#xff0c;有点像“艺术人生”&#xff0c; 一般都是音乐起&#xff0c;讲小时候的故事&#xff0c;你怎么开始写程序的? (…

android动态表格数据类型,华为运动表GT表盘主题制作教程

控件介绍运动表 GT单图控件用于显示一张静态图片&#xff0c;通常用作背景图、图标等。属性区域操作说明&#xff1a;1) 图片路径&#xff1a;点击 号图标选择图片。注&#xff1a;图片尺寸不得超过所选表盘 DPI 大小&#xff0c;如&#xff0c;选择 390 X 390 表盘&#xff0…

cnblog 的小问题 - 尽在 null 中

在Chrome 上发送消息的时候, 出来一个内容为 “null” 的错误。 期望: 至少要用一个缺省的错误信息 “网站内部错误, 请稍后再试 …” 来代替 null.