前几天参加一个软件质量大会,会上有一个问题很有意思,“一碗一百度的粥” 就凭这一条信息,你觉得这碗粥是热还是不热。
我的回答是站在用户的角度讲,如果用户要喝粥,那这碗粥就太热了。如果用户要用这碗粥来暖手,那就不算热。
有的人是站在数据精确度的角度讲,我们知道温度的单位有摄氏度和华氏度,100华氏度等于37.78摄氏度。37.78摄氏度对于人来说不热。
还是有一点是,一百度的粥,一百度具体是什么意思?是不是粥的品牌叫一百度。如果粥是叫做一百度的粥,那么它到底热不热就无法判断了。
后来分享老师也是根据数据的精确度来讲的。
由此,我想到,作为一个软件开发者,经常会接到一些他人提的需求。而我们听到他人描述的需求后,经常会根据我们自己的方式去理解他人说的是什么意思。然后实现成代码,但结果往往不是他人想要的。
怎么解决这个问题,只能是多问?
比如,如果产品经理提了一个用户登录的需求。
那就要问清楚,是不是用邮箱,用户名,电话都可以登录?需不需要短信验证码登录?要不要第三方登录?...等等都问清楚了。然后再去开发才能降低返工率,提高开发效率。
其实,不光是开发,任何事情都不能想当然的认为别人是什么意思。对同一句话,人与人的理解都很不一样。