屌丝可以接受土坑酸菜面吗-架构可以影响需求吗
Alan 2022-3-18 9:46
潘老师,RUP里这个观点,架构影响用例,与你的课程里的观点不大一致,用例就是什么啥,该用什么药就用什么药
实际也会可能因病人家里穷,用的效果没那么好的药,所以RUP这个观点感觉与实操比较符合。
UMLChina潘加宇
这里面有一些思想上的错误,即使是RUP的作者们应该也没有意识到。
错误一:认为医生手上已经有各种各样的“药”给病人挑选。
实际上并没有,否则你拷贝一份给他不就行了?
软件的复制成本几乎为零,主要成本是研发的沉没成本。
病人是什么样的?病人是不是你想争而且能争到的?要给病人弄一个什么样的药才会让病人满意?这些并没有答案,所以才需要做业务建模和需求工作,搞清楚要做的“系统”应该是什么样子,才能被目标组织的老大所接受,才能“卖”得出去,得到符合期望的回报。
如果没有这个环节的思考,可能会导致大量研发资源沉没进去,做出系统后却得不到符合期望的回报。
错误二:以为医生可以随便挑病人。
如果说研发团队的情况(包括人员基本素质、擅长的领域、擅长的实现技能、现有的技术积累等,图中说的“已有构架”包含在这里面)会“影响用例”,那是发生在定位目标组织的时候。
研发团队负责人根据研发团队的情况,预测如果本团队研发某系统加入各个战场的胜利回报和胜利概率,来确定研发团队当前最值得加入的最佳战场,即系统的目标组织的老大(最佳病人)的大脑。
搞武器系统回报高,可是研发团队擅长的是PHP+MySQL,加入这个战场胜算极低;把团队已经做过的某网站系统随便改改,在自己熟悉的行业卖,可是这个东西的价格已经低得可怜,回报不划算。
所选择加入的战场不同,需要做的系统不同,系统用例自然也就不同。
用看病类比,就是:医生根据自己擅长的医疗技术和治疗某种疾病带来的回报挑选自己最合适的病人。
但是要注意:某个医生可以不乐意接诊某类病人,但该类病人的病情没有变。只不过从医生的视角看,可能会有“病人的病情变了”的错觉。
错误三:以为“穷病人”就好商量。
一旦经过慎重考虑选择了某个战场,就要意识到,战场上有很多对手在和我们争夺,步步惊心。
而这一点,很多开发团队并没有意识,例如问题中的“病人家里穷”就体现了这一点。
以为“病人家里穷”就可以爱怎么干怎么干,殊不知分分钟病人都在把你的所作所为和战场上的其他对手比较,在心里的小本本记着呢,我们还茫然不知。
既然你选择了某个目标组织(人群或机构),说明你是认可为它服务所获得的回报的。
你的老坛酸菜面瞄准了屌丝,说明你是认可屌丝出的这个价格的,这已经不“穷”了。
你试试和屌丝协商一下,老坛酸菜面能不能用脚踩的土坑酸菜,你看他砍不砍你。又不是非你不可,大把的竞争对手和你在抢这个屌丝。
每个战场的竞争都是残酷的。如果做面向屌丝的老坛酸菜面很容易赚钱,猪都能飞得很高,会怎么样?大量资本会从房地产、汽车制造甚至飞机制造等行业迅速涌入,难度马上和其他战场拉平。
即使是选择了某个目标人群“免费施舍”,也是认可在他身上获得的回报,例如感恩,称颂,选票等。“免费施舍”也有大量的竞争对手,难度也是杠杠的。
当然,加入战场之后,发现之前的判断错误,以自己团队的特点,在这个战场实在不好混,可以忍痛割肉撤离,换一个战场。
如果“已有构架”就是擅长脚踩土坑酸菜,中国混不下去,可以把你的方便面的目标人群转向津巴布韦嘛。当然,津巴布韦有津巴布韦的战场。
但一旦加入某个战场,就不要有侥幸心理,要意识到对手的存在,尽力去打败对手。可以选择以最小成本“险胜”对手,也可以选择大力“碾压”对手以立威。
如果说可以“和客户协商”,协商的出发点应该是以这个价格,应该先解决哪个最重要的问题,绝对不能从“已有构架”出发——因为“已有构架”这样,所以需求这样。
可以参考以下链接:
错误四:以为“大家都是这么干的”就是对的。
问题中的“感觉与实操比较符合”大概是说“大家都是这么干的”,但“大家都是这么干的”和“这么干是正确的”未必一致。而且,越有思考难度的工作,“大家这么干”和“这么干是正确的”相反的可能性越大。
总之,如果某种“需求实践”是从竞争角度出发,它可能是正确的,但往往是辛苦的。
反之,如果没有竞争的意识,就会迅速滑坡,弄出各种开发人员喜闻乐见的、“简单易行”的“最佳实践”——“爱做什么做什么,反正总能找到人来用嘛”,“爱开什么药就开什么药,反正几十亿人总能找到合适的病人”——再冠以“工程师文化”、“敏捷实践”、“DDD实践”之类的名头来割韭菜。