构建之法阅读笔记5

      软件是软件工程不得不提到的,而软件需求对于软件讲也是不可少的。《构建之法》很好的讲述了软件需求,其中NABCD模型是很令人兴奋的一个点,我要好好讲述一下。

      依题目来讲,一个字母一个释义: N代表你的创意解决了用户的什么需求?这个需求可以是明确的、公开的(例如:希望能上网玩三国杀)也可能是说不清道不明的,例如——以前没人说:嗯,如果我能找 到这样一个网站,我可以去偷菜,就好了……我们要充分了解用户的痛苦,他们对已有软件、服务不满意的地方。但是用户往往也不了解颠覆型的创新。A代表做法,找到了需求,下一步怎么办,得看看你有什么招数,特别是独特的招数,来解决用户的痛苦。你不能说我会C++,所 以我一定可以写好这个软件。你得有独特的办法。 B代表好处, 这时候你已经有了独特的做法,那你这个产品/服务会给客户/用户带来什么好处呢?如果用户已经有一个解决方案(例如用户已经在用QQ聊天),那你的新的聊 天软件具体有哪些好处,能让用户离开现有产品,使用你的产品呢?这还有一个用户迁移成本的问题——用户要花费多少精力、时间、金钱才能得到你的产品的好 处?如果你要求用户必须有8GB内存、最好的显卡、10Mbps以上的宽带连接,才能使用你的“更好的”视频聊天工具,那么会有多少用户愿意支付这个成本 呢? C代表竞争, 竞争对手也没有闲着,这个市场有多大,目前有多少竞争者在瓜分,你了解么?你的产品如果不是最先进入某个市场的,你还能赢么?先进入市场的产品,有所谓的 先发优势(FirstMover Advantage,FMA),当然也有劣势。后面进入市场的产品,有种种不利的因素,但是也有后发优势。D代表推广,怎样把你的创新产品交到用户的手中?例一,你想到了一 个好主意,建一个比hao123更好的导航页面!我们姑且认为NABC都没问题,那如何把这么好、这么简单的产品交到(Deliver)用户手中呢?

     可以说日后照着邹欣老师的来做肯定可以日进千里,那么需求做好之后等待的我们是什么?我们就要考虑用功能来实现这些需求。邹欣老师又帮助我们具体到这一步,他分为四个象限来界定需求:杀手功能:OCR文字识别技术,可以在屏幕上取词解释,拥有独家权威词典,等等。外围功能:良好的界面设计,在各个平台上都能运行。必要需求:单词短语释义的准确性(如果达不到这一点,用户就不会来使用)。辅助需求:可以做各种皮肤(这也许能让一些用户更喜欢这个软件,但不是决定因素)。进而可以来够很好的实现了吗?不尽然。对自己承包的项目模块有一个很好的时间估计,那么就很好了。时间估计不多言,书上很详细。

原文地址:https://www.cnblogs.com/gaara-zhang/p/5589903.html