这是6月初写的一个日志,发的时间没注意格式有点问题,今天看到
http://www.cnblogs.com/cowbird/archive/2004/09/19/44615.aspx
整理格式后重发一下....
五一期间,因为书店打折,买了好多书,其中一本就是排行版上居高不下的《敏捷软件开发》,也许是我理解能力有限,
没能掌握其精髓,到现在也只是当小说一样翻着看了。但是有一点想法最近始终出现在我的脑海里,“我能敏捷得起来吗?”,
想来想去我是不行。
对于单无测试,测试驱动开发我认为是非常有意义的,效果比较明显的,也是比较容易做到(至少比其它方面)。
因为没有健全的测试保证,重构,迭代,集成都会遇到很多问题,但是测试只是基础,只是开发过程中的一个组成部分,
它并不能保证系统的成功。XP提倡尽量少的前置设计,而是在开发的过程中进行演进设计,从不断的演进中使系统的
架构逐渐的浮现,这非常的好,也很符合大家比较认同的系统累积的隐喻(codecomplete steve93),但是这种方法并不
是对任何人都有效的,对于面向对象,设计模式,基至于OOP还不是很清楚的人们来说,一味的跟风追求、使用所谓的XP,
敏捷这样的编程方法,最终形成的不可能是一个架构清析,结构优美,稳定,扩展性良好的系统。因为你没有OO思想,
模式理论,就不可能在代码的改进过程中改出结构良好的框架,体现良好的设计,最终你使用的将是code and fix,使你
的团队深陷焦油坑中。没有这些基础,即使使用再强大的开发语言,也只能写出有强大OO机制支持的面向过程的程序,使
用再先进,完善的开发过程,也不能带给你项目的成功。
我所要说的就是任何先进的技术和方法,没有一定基础和环境是没办法为你创造生产力的,不是你整天"拥抱变化",
敏捷开发就真的能开发出客户满意的产品的。软件开发的最初和最终的目的是为你及你的客户创造价值。像我一样的初学
者们醒醒吧,不要整天被出版商和商家们的炒作牵着走,回去好好学学OO,写写代码,当你对于编程(或都说软件开发)
的理解达到一定程度、技能达到一定水平时不用别人的说教,凭借你自己的努力也可以在软件开发的大道上“敏捷”的行走。
“没有最好的过程,只有最适合的过程”(不知道谁说的),只有你自己知道什么是最适合于你自己,你的团队的软件开发过程。
“那些在任何情况下都美丽的事物,美丽是对其本性而言的,赞美不是其本性的一部份”(敏捷软件开发)