构建软件就像烤蛋糕

构建软件有点像第一次在没有菜谱的情况下,从零开始烘焙一个精美的蛋糕。漂亮的蛋糕
除非你是一个经验丰富的面包师,否则你不会有信心为一对品味无可挑剔的夫妇在昂贵的婚礼上烘焙和装饰多层蛋糕。然而,软件开发人员经常尝试这样做。我们坐在电脑前,写一份规格说明,说明当所有覆盖着冰的层成型后,我们的产品将如何工作。换句话说,我们在没有烘焙的情况下就做出了一个食谱。
我们试图严格遵循该配方,尽管在编写规范之前我们还没有实际构建这个确切的产品。会发生什么呢?
软件团队实现了你一直梦寐以求的大功能——使你在市场上与众不同的功能。你就像婚礼当天的新娘一样兴奋,因为面包店送来了盒装蛋糕,这是她婚礼的一个特色。
然而,开箱后的大特征并不是你想象的那样。它不会说服用户使用你的产品。它不会让所有人都惊叹。
让我们想象另一个例子来真正理解构建软件如何像烤蛋糕一样。

婚礼(蛋糕)的故事

一个阳光明媚的星期六早晨,基玛面包店门口的铜铃响起,一对年轻英俊的夫妇踏进门来。当他们喜气洋洋地走向柜台时,他们几乎没有把目光从彼此身上移开,目不转睛地注视着自己要去的地方。
基马以前见过无数次了。他们需要婚礼蛋糕。
“我们想要一个五层的婚礼蛋糕,法式香草加一点卡梅尔糖,珍珠和与之相配的薰衣草色。”准新娘向前推了一把布。


嗯。这是基玛以前没做过的食谱。我不知道你是怎么想的,但我听到的是“一个大型而独特的定制软件项目”。你也听到了吗?


更漂亮的蛋糕
“好吧!那个蛋糕在我们俩之间要来回花些时间,小姐。如果我们试图根据你在婚礼当天告诉我的来送蛋糕的话,我们很可能会让你失望。我知道你希望一切完美。你明天能来看看我们做的糖霜颜色吗?”
基玛拿着布匹来到面包店的后面,吉米和班克正在那里工作。他们开始把食用色素混合到装糖霜的小碗里,互相鼓励,来来回回,直到他们认为自己成功了。当然,准新娘有权改变主意。
“这和布料的颜色一模一样!”但是,你们能把颜色调淡一点吗?它看起来太黑暗了。”


这发生在我所参与的每个软件项目中。这是正常的!我们是人,尽管我们的头脑有创造力、想象力和广博,但在看到它付诸行动之前,我们不可能总是知道什么是有效的。

你的产品不是房子软件是蛋糕,不是房子

把软件产品想象成一栋建筑似乎很自然,而构建软件常常被比作建造一座房子。在破土动工之前,建筑物的规划要精确到最细微的细节。蓝图被创建了。材料和设备都是提前购买的。然而,软件产品并不是建筑物。
软件是蛋糕——高度定制的,特别口味的蛋糕。为了让它正确,你需要人们经常合作,准备做出改变。
冒着隐喻延伸的风险,我也建议你从一个纸杯蛋糕开始。

类别:

Baidu
map