任何一软件都会有局限性,假如你想让他按照你的想法来运行,那么你很有可能需要重新在编出一款软件来。有的功能,你想的很简单,或许这个功能真的是很简单,但体现在软件里可就不是这么容易的事情了。软件里的东西都是相互关联的,千丝万缕,即使是一个小小的变动,都有可能造成意想不到的后果。就好像盖楼房时,钢筋混凝土都灌注好了,结果你突然说,呀,我有一个小地方没有处理好,虽然是个小地方,但是这就需要把钢筋混凝土都拆开,和软件其实是一个道理。
速度,便宜,优质,这好像就是个奇怪的选择题,想要三者兼得,那估计只能在梦里了。软件开发也是这样,为了赶工,匆匆忙忙就随便交付出去一个不成熟的软件。你想要一个优质的软件,那么时间长短不说,价格也一定会高的惊人。三个选择永远只能选两个。速度快,就不能保证质量;质量好,就有可能会延误工期。
里面谈到了一个集成的问题,其实我觉得一个团队里,这样或许是效率最高的方法了,每个人都去做自己最擅长的事情,每个人都清楚的知道自己该做些什么。不过这样也有很大的弊端,必须要求一个团队的高度一致性。否则做代码时,我没有考虑你,你也不管我,到最后每个模块是都做出来了,但根本无法集成出一个完整的东西出来。这个我是深有体会,我们的软件编写时也曾出现了类似的问题,两个人都没有太为对方考虑,最后的结果只能是大修大改重新来过。不仅没有提高效率,反而还白白的耽误了很多时间。
我承认看到这里,我之前想象的软件开发的过程还是太简单了,这并不是你付出1你得到1的等式,充满未知,就和探险一样。不过即使是这样,我们也应该坚持下去,就像自己的锁屏软件一样,你不去做,你就永远不知道,原来自己是可以做到的,即使过程艰辛,可能一整天都在电脑前面,但最后有好的结果,这些都是值得的。