软件⼯程导论学习笔记(2):可⾏性研究的任务
软件⼯程学习笔记(2)
可⾏性研究的任务
前⾔
从这⼀篇开始,我们正式进⼊可⾏性研究的学习。这是第⼀篇,⾸先来研究⼀下可⾏性研究的任务。
为什么要进⾏可⾏性研究?
并不是所有的软件都值得去做,做⼀个软件之前要考虑各种因素,技术,精⼒,时间,社会因素。盲⽬去做往往会浪费⼤量的时间。就像学习⼀门知识之前我们会去思考这门知识是不是值得花费时间和精⼒去学习,做⼀款软件之前我们也要考虑是不是值得去做。能做,就进⾏下⼀部;不能做就果断放弃。
可⾏性研究的⽬的
很重要的⼀点是,可⾏性研究的⽬的不是怎么把问题解决,⽽是这个问题是不是值得团队花时间去解决。做⼀款软件花费的时间是⾮常多的,所以搞清楚值不值是⼀件⼤事。
第⼀步:澄清问题的定义
如果连问题是什么都没有搞清楚,那⼜谈何该问题是否合理呢?
举个例⼦,淘宝的销售额主要由⼀⼆线的⼤城市提供,三四线的⼩城市则会觉得淘宝的东西太贵。拼多多发现了这个现象,于是提出问题,三四线城市的居民由于收⼊低,⽆法体会到⽹上购物的便利
第⼆步:导出系统的逻辑模型
这就是对这个问题所有解法的抽象。是根据上⾯的问题,从逻辑上提供思路。
延续上⾯的例⼦,逻辑模型就是,要让三四线的⼈体会到⽹上购物的遍历
这样就能在淘宝触⼿还未波及的地⽅⽣根发芽,农村包围城市。
这⼀步的模型可能会看上去⾮常不合理,不如当时的⼈认为淘宝的价格已经很低了,三四线收⼊低抵触消费也是没有办法的事。
但是可⾏性研究还没有结束,因为⾯对看似不合理的思路,也有⼈可以提出极其合理的解决⽅案。这样的⼈往往可以改变世界,他们也是最伟⼤的⼀批产品经理,乔布斯,张⼩龙就都是这样的⼈。
第三步:提出若⼲解决⽅案
根据上⼀步的逻辑模型开始头脑风暴,提出若⼲解决⽅案。
⽐如拼多多可能就想到,⼚商直销来压低价格,给三四线城市的居民发优惠券来提⾼他们消费的欲望,通过团购的⽅式⽤⾼销量来换低价,或者开展活动⾼价收购居民的闲置物品让居民习惯⼆⼿交易。
这些解法不仅要合理,⽽且要新颖,才能在不经意间发现某个天才的创意。
第四步:对每种解法研究可⾏性
主要应该考虑以下这三个⽅⾯:
1. 技术可⾏性:现有的技术能不能实现这个解决⽅案?
2. 经济可⾏性:这个解决⽅案的收益能超过它的成本吗?
3. 操作可⾏性:⽬标⽤户会使⽤这个软件吗?
当然还有其他要考虑的点,需要具体问题具体分析。
如果问题⽆解
那就趁早放弃,以避免资源的浪费
如果问题有解
选⼀个最好的解决⽅案,并⽴即制定⼀个初步的计划。
后记
软件工程学什么这⼀篇说明了可⾏性研究的任务,其实已经是可以执⾏的操作流程了,下⼀篇会对这个流程进⾏补充,形成经典可⾏性研究8步骤。