当我发现高级算法乃至对计算机底层的学习,以我的背景和能力差的太远,或者付出的代价远远大出我所能承受范围时。眼下这条路到底能走多远,我的方向是否正确.等各种问题迎面而来,转型的想法也再一次跳出来。
曾几何时,我深陷框架不能自拔,配置、流程、源码...记了一大本。以为手握三大框架就能走遍天下,现在看来实在幼稚可笑。我需要跳出语言的限制,以更高的角度、更宽的视野看脚下的路。JAVA也好,.NET也罢...等等语言,其共同的目标都是创造价值,利益。设计模式、设计原则,开发思想是相通的。庆幸,唔之开悟未为晚也。
记不清多少个周末没去书城了,近两周在自己强烈的自责下,去到书城。还是原来的布局,还是原来的分类。在软件工程/Java系列书架上出现了许多新面孔。其中"敏捷"二字尤为显眼。某些跟敏捷没一点关系的书,好像不加上敏捷二字就显得不合潮流似得......
任何新事物、新思想的产生都是源于对旧事物、旧思想的弊端的发现。敏捷开发的出现是源于瀑布式开发的各种弊端。
瀑布式开发流程:需求收集-->设计-->编码-->测试。
瀑布式开发最大弊端:项目前期完美化设计。我认为其"完美化"是不现实的,客户对需求的描述,业务人员对需求的理解不会也不可能达到完美的程度。一定意义上讲,客户-业务-开发人员之间是有代沟的.而这个代沟是普遍存在的。
敏捷开发的核心思想是:以人为本。其重点在于人。(这点我并没有领悟到,大致理解为遵循人性和客观规律)
敏捷开发的核心价值是:快速交付有价值的产品。这点我认为非常关键,公司和客户之间的合作很大程度在于"信誉"。那么让客户看到有价值的产品比任何口头和文档的协定都要踏实。其二,对于拥抱变化,快速更改非常有利,早发现,早治疗。
迭代,循序渐进,小步前进......