敏捷的程序员才是程序员——谈快速响应需求

敏捷软件开发,是我在06年读硕士的时候正式接触的概念,I Love it.当我第一次听说这个东西的东西,我立刻被他迷住了。在林锐的《大学十年》中,他说他母亲观察他有没有退步,有两个法宝:1)有没有发胖,如果胖了说明用功不够;2)说话快不快,快说明思维仍然敏捷。梁肇新曾经说:快是一种本质,东方不败为什么强,因为他快,快的所有人都赶不上它。敏捷的程序员是快的,XP甚至提出,当项目接近末尾的时候,都不要害怕变化,要拥抱变化。
邵老师曾经说当我们面临项目压力的时候,我们是很难做到拥抱变化的。是的,没有人喜欢变化。所以我们说约定比规定好。因为约定可以避免沟通的麻烦。但是,对于一个技术狂热分子,很有可能喜欢变化——因为他总是喜欢做新东西。这个人可能不适合当领导,因为他不喜欢做重复的东西。一个CRUD做一次还行,做多了,就想想有没有偷懒的方法。但是对于技术型的人,还是比较喜欢做新东西,原因很简单——好玩。
今天上午项目公司提了新需求:批量添加规章的水印,水印能够提供自定义功能。上午9:00提出,中午修改软件,下午3:00上线。运行效果不错,心情很好,自己做的东西帮助别人解决问题是非常快乐的一件事情。
当我们开始做项目的时候,就要依靠快速的实现用户需求来实现价值,SAS(Software as Service),软件业就是服务业。你做不了微软,就要以做项目为目标。有同学说在公司里面找不到软件工程的影子,其实,大学里面的软件工程的老师,自己要么没有以工程形式组织软件实践,要么就是开发高手而不是管理专家。大学课本上的软件工程告诉你的软件开发是个什么流程,而我们实际工作中软件开发不是那么规范的。软件工程告诉你是去做对的事情,而程序员是把事情做对。这个看上去是完美的组合,有了完美的流程,再加上完美的人,就可以把事情OK。在工程实践中,有时候是没有人先验的知道什么是对的事情,什么又是把事情做对。所以敏捷软件开发把这个问题又交给做事情的人。这是对人的尊重,也是一个可行的解决方案。编程之美曾经说过:程序员的双手是魔术师的手。能够解决问题的人,就是对的人。能够快速解决问题的人,就是敏捷的人。
下学期,给我排了软件工程,好久没上这门课,现在对于教学我有了新的感悟,以前,我是不太管同学,现在想想还是要严格要求一些的好。因为现在的同学比较懒散,吃苦玩命的劲头不足,这样对以后参加工作不利。工程要求参与个体的遵守纪律,而即将面临找工作的同学读大学以后已经不再有高中时候的劲头了。如果这样的话,如何才能长本事呢?你会的东西别人也会,别人不会的你也不会,你是不会脱颖而出的,你也不可能成为一个敏捷的人——一个能把事情做对的人,更不会是一个迅速把事情做对的人。
训练自己,训练自己,要和自己过不去,要逼自己做困难的事情,记住突破死亡线才能增长才干。我喜欢玩命的人,不要给自己找借口。当我们的同学想放弃的时候,想想自己的痛苦,想想如果放弃自己的苦就白吃了,你会轻易放弃吗?你失恋了,你会轻易放弃曾经追求过的人吗?我刚动完手术,完全可以好好休息一下,但是别人给你活干,是对你的信任。给你一口饭吃,就要把事情给结了,不然你就不够男人。活着就干,死了就算。要有一股狠劲,对着呢~~

你可能感兴趣的:(IT技术与教育)