现代软件工程讲义 如何提出靠谱的项目建议
互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代。 你有很多机会做出影响世界的产品, 但是, 似乎任何想法都被别人想到过了, 做出来了, 上市了, 移植到各种平台上去了… 那么我们后来人除了羡慕别人生得早, 还有什么机会呢? 但是往往不经意间, 在同学们热衷于偷菜, 三国杀的时候, 又一批新的想法, 新的技术蜂拥而至, 别人又想出了新的点子, 新的商业模式. 我们的菜偷了不少, 三国杀玩了好几个通宵, 但是想法还是没有 …
在《现代软件工程》 这门课里, 同学们不能穿新鞋, 走老路 - 学习了很多新技术, 新的开发模式, 新的团队管理方法, 却做一个毫无新意, 没人使用, 演示后就扔掉的东西 (例如: 虚拟的学籍管理系统, 图书馆管理系统…)。 我们要做实用并且创新的项目。
首先“创新”可以分为改良型的创新 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 以及相关的案例, 论述, 大家可以看这本很厚的书 -
Innovation: The Five Disciplines for Creating What Customers Want
中科大 《现代软件工程》班的同学, 请把你们的每一个靠谱的创意按照 NABC 的框架发表在你们的博客上, 每一个组员至少提出一个创意, ***。
2012/4/15 更新:
在练习了多次的 NABC 之后, 我意识到也许还应该加一个D: Delivery。 怎样把你的创新产品交到用户的手中?
例1, 你想到了一个好主意, 建一个比 hao123 更好的导航页面! 我们姑且认为NABC 都没问题, 那如何把这么好, 这么简单的产品交到 (Deliver) 用户手中呢?
例2, 你想到了一个手机的应用, NABC 都不错, 那如何把产品交到千万个用户手中呢?
转载于:https://blog.51cto.com/softwareeng/1562996
现代软件工程讲义 如何提出靠谱的项目建议相关推荐
- 现代软件工程课件 需求分析 如何提出靠谱的项目建议 NABCD
<构建之法 - 现代软件工程>课件 互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代. 你有很多机会做出影响世界的产品, 但是, 似乎任何想法都被别人想到过了, 做出 ...
- 现代软件工程讲义 目录
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较乏味的课程. 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的. 经过几年的探索, 我总结了在16周的时间内让同学们通过 " ...
- (转)五年教学实践与思考的结晶——推荐邹欣老师的《现代软件工程讲义》目录
(转)五年教学实践与思考的结晶--推荐邹欣老师的<现代软件工程讲义>目录 2011-11-28 07:15:21 按:自打2007年结识邹老师,出版他的第一本书<移山之道>,从 ...
- 现代软件工程讲义 6 用户调研
[现代软件工程讲义 的一部分] 软件开发的过程, 就是 "用户最需要的东西" 在下面这一链条中传送,转换,实现,扭曲或丢失的过程. 用户最需要的 > 用户表达出来的 > ...
- 现代软件工程讲义 8 软件的血型
[这是 现代软件工程讲义 的一篇] 一个软件团队经历了计划/设计/开发等阶段, 达成代码完成 (Code Complete) 这一目标,似乎后面的事情就水到渠成了. 其实不然, 软件生命周期的最后阶 ...
- 现代软件工程讲义 5 项目经理 Program Manager
在一个软件团队里, 不同的人有不同的投入, 我们在 猪,鸡和鹦鹉 的故事里已经说明了. 不同的人还要在团队中担负不同的任务, 我们也要讲一下. 开发人员 (大部分内容在: 现代软件工程讲义 2 工程师 ...
- 现代软件工程讲义 2 工程师的能力评估和发展
Advanced Software Engineering 现代软件工程 讲义 软件工程师的能力评估和职业发展 介绍: 个人软件流程, 职业发展, 个人绩效的衡量和提高, 软件开发是科学, 工 ...
- 现代软件工程讲义 1 软件工程概论
现代软件工程讲义 1 软件工程概论 几乎所有程序员都知道 "数据结构+算法 = 程序 " 这句名言.但是在实际的学习和工作中,也有不少人产生了疑问. 例如: 1. 我写 ...
- 软件工程讲义 0 微博上的软件工程
[现代软件工程讲义] 有舌尖上的美味, 也有微博上的软工.舌尖上的美味各有千秋, 而微博上对软工的抱怨都是相似的. 下面是我在新浪微博收集到大学生对软件工程教学的反馈: 师生关系(不限于软件工程) 教 ...
最新文章
- 分屏显示_王者做图显示器,戴尔(DELL)U2417全面介绍
- python连接access数据库odbc_对Python通过pypyodbc访问Access数据库的方法详解
- 【转载】浏览器缓存详解:expires cache-control last-modified
- 仅需1秒!搞定100万行数据:超强Python数据分析利器
- SWPU信息学院团体程序设计竞赛题解
- poj 无向图最小环问题 详解,模板
- linux系统查看分区文件系统
- 经过了多种方法的尝试,终于找到Quartus破解成功但是没有办法编译的解决方法
- android studio 融云,融云 SDK 是否支持 AndroidX
- 【Python】所有常用Python库和功能查询表
- 第四章 变形-学习笔记+练习题
- vue使用vue-video-player实现web视频直播展示m3u8格式
- Windows Phone : 三屏一云战略的新里程碑
- 天创速盈带您速读:怎么提升拼多多关键词综合排名?方案如下
- WinHttp的简单使用用例
- AD20原理图设计与PCB封装画板--学习笔记
- 如何查看mysql警告信息_查看MySQL的警告信息
- 计算机过去现在和未来图片,数据驱动的图形学:过去、现在和未来
- ADSafe导致github等很多网站无法打开
- kerberos kubernetes读音