2005年11月5日

Xiaoning Lin & MS^2 Final Day!

一想到是MS^2培训的最后一天大家上起课来都感到振奋有余 ^_^
上午的学习内容是Product Lifecycle Models,主将人是Xiaoning Lin博士。在简短的自我介绍后我们得知他是98年和开复一起建立MSRA的创始人之一,有着多年丰富的项目管理经验。开篇主将的内容和我们当初在学习软件工程时的内容差不多,但是挺起来缺非常的好懂。Xiaoning老师给我们介绍了每种模型的使用范围和情况。我首次听说了作研究其实也需要Lifecycle model,这种模型非常的简单,就是软件工程里面的Code&Fix模型。其实本质上就是想到一个新的idea,然后立即实现,然后要么发出论文,要么作出项目。在介绍中强调的Parallel WaterFall我感觉很像现在大型的项目开发下面的工程模型,总体设计之后划分为小块然后进行详细的设计编码测试,最后是汇总的集成与测试。对于那些需求不是很明确的项目,Incremental的模型比较好,根据用户不是很明确的需求先快速开发一个原型系统,然后根据用户的反馈修改,直到用户满意后再开始最后一次的详细设计与实现。还有一种比较
实用的开发模型就是Staged Delivery Model。就是将需要开发的项目中的Features按照重要性和关联性分成几个类别,然后每个阶段实现一部分,每个阶段发布一个版本。在Microsoft中流行这两种模型:Shrink-Wrap 和 Service。前者和常见的分阶段并行设计方法大同小异,后一个模型主要是针对现在网络时代下的快速开发模型。在提问阶段我向Xiaoning博士请教了现在流行的XP编程的事情。他说这种模型非常的好,现在美国总部那边有人正在进行详细的研究。现在Visual Studio 2005中已经部分囊括了XP编程的理念。这样看来以后需要进一步的学习和使用XP编程的方法。

随后的课程Xiaoning老师介绍了他的24年计算机生涯,以及如果返回求学时代会作些什么。其中提到了一个很有名的论断:

改变你能改变的;有度量接受你不能改变的;有智慧区分你能改变的和不能改变的。

这句话我以前也听说过,Xiaoning老师说它的出处是Bible。同时Xiaoning老师的理解和建议是:

改变我们自己,在现有的环境下,最大限度的实现自己的理想。

Xiaoning老师的报告中提到了几种事情上不同的境界,我归纳整理如下:
学习的境界:
-学会答案
----学会一个解
-学会方法
----学会一种方法
-学会学习
----学会找到方法的方法
-学会做事
----超越“纸上谈兵”,与实际“融会贯通”
-学会做人
----学会做有价值的自我
注:在Xiaoning老师讲这个之前询问我们对于学习的本质的理解。我举手说是学会如何学习。后来他说有人提到过:所谓大学就是
你学完之后忘记所学的一切之后剩下的东西。关键是要学会如何做人,也就是所谓的素质。这才是根本。我觉得这个说法很有道理,因为做人是一辈子最关键的事情,其它事情都是能够付之努力就能学到的。

编程的境界 vs 写文章的境界
-学会写程序 vs -学字、词、句、文法、句法
-学会高效的写程序 vs -快速写文章
-学会写高效的程序 vs -写简洁明快的好文章
-学会设计程序 vs -对于不同文章选择结构、流程、方法
-学会设计有用的程序 vs -写人们喜欢看的文章
注:联想自己的编程和写文章,我现在都还处在第二个境界,看来这方面还需要我投入很多的时间。

学习数学的境界
-解数学题
-物理问题->数学问题
-实际问题->数学问题
-实际问题->数学问题->软件解
注:以前多次参加过的数学建模竞赛仅仅让我处在了第三个阶段,至于完全自己编写软件来解决问题,我还需要多多的锻炼。

Xiaoning老师讲完这些后给我们讲述了“如果我能重新开始”。提到的几个要点如下:
-确立相对明确的目标
-根据这一目标确定要掌握的专业、课程、技能和知识
-选作大量的相关实践项目
-对每一个实践项目
--确立一个模拟的实际工作中的用户场景
--尽量以实际工作中的方法和标准做每件事
--碰到不会的东西,虚心向这方面比较专业的人员请教,并且切实掌握
--团队合作中尽量做好自己的,让团队取得最大限度的成功

年轻人比起年长者的优势在于年轻,年轻就是资本。当拥有年轻的时候一定要敢于创,敢于理性的冒险。做事时一定要在保证生存的情况下不要估计钱的多少,做自己真正想要做的和让自己快乐的事情,这样才能最大限度的实现自己的人生价值。


尾注:以上很多东西都是罗列出来的,细细品味才能发现其中本质的东西。

没有评论: