“只需要开发一个简单的网站。”王老板西装革履,发型飘逸,皮鞋擦得油光闪亮。他把手机递给我,双目恳切的望着我。
我接过手机一看,苦笑不得:“这不是x宝网吗?”
“是啊,你看,我们就只要一个这样简单的网站就可以了。不要搞得这么复杂,能买东西就行了。”王老板双目恳切地望着我:“你看这周出的来不?”
我:“。”
“我看你们公司的xx购也做的可以,你们做了多久啊?”
“咳咳。实不相瞒,我们xx购从立项、开发到上线,用了半年的时间。”
“哈?!”王老板面露惊异之色:“这么简单的网站,你们居然要开发半年?”
在和很多互联网开发行外人士聊天时,他们常常对产品研发时间感到十分诧异:特么的,这么简单的东西,居然要花如此之多的时间?
其实,软件开发时间这事儿,甚至连软件开发者自己都无法预估。
首先,开发的需求变更无法估计。很多客户并不知道自己到底要什么。这是一个漫长的过程,需要产品经理详细地去和客户沟通,不断挖掘客户需求,抓住客户真正想要的东西。
然后,产品的细节把控难以到位。软件开发人员也是人,是人便难免会犯错。不仅仅是开发人员,一个不善沟通的产品经理更是团队的灾难。
除此之外,软件项目开发中经常碰到瓶颈。攻克这些瓶颈需要花费大量时间。即使是像mysql这样的存在数十年的软件,也有不少遗留的bug,甚至到现在都没得到很好的解决。
最后提一点,软件开发过程复杂,不能以加减乘除的常理而论。讲个段子:一个女人生一个孩子要十个月,所以十个女人生出这个孩子只需要一个月,加班还可以缩短到两周。。。嗯,给你五个女人,一个月后我要看到这个孩子——it老板的思维。很多事情只能有一个人负责到尾,旁人去接替他会花费更多的时间。
所以,下一次当你听到有人说“我想你几天时间就能把它开发出来”时,不要懊恼,告诉他这篇文章的地址,让他能够听一听程序员的心声。