1.从瀑布到敏捷------漫画解读软件开发模式变迁史。
部分资料:1913 年,美利坚工业之神——亨利福特,发明了世界上第一条流水线,汽车工业从此进入了大规模生产的时代。丰田公司提出的丰田生产系统(Toyota Production System)又为汽车工业带来了很多先进的生产和管理理念。
先进的生产和管理理念是一个行业从小作坊走向规模化的必经之路,软件工业虽然诞生较晚,但是发展却非常迅速,这也同样得益于软件工业开发和管理理念的发展。这其中就从汽车工业吸收了很多成熟的理念。
下面,就让我们通过这张出自 Toggle 的漫画,来了解软件开发模式的变迁史。
总览
这张图从上到下分为五个房间,分别主要描写的是瀑布模型、敏捷开发、看板、scrum和精益软件开发。
除了瀑布模型这间小屋与其他的模型有界限外,其他几个模型就像是一个四合院,有着不可分割的关系。
感想:通过这幅漫画我们可以清晰的了解到软件开发模式变迁史的内容,理清他们之间的关系,对于我们掌握这些模式有着很重要的帮助,可以让我们对软件开发模式更加容易的熟透牢记。
2.有人负责,才有质量:写给集市中迷失的一代。
部分资料:13年前,新兴的草根开源软件运动如火如荼,而Eric Raymond的《大教堂与集市》(O'Reilly Media, 2001)一书则重新定义了我们的词汇表,几乎预言了瀑布模型和大型软件公司的终结。这本书有煽动性,但却没有说服我。与此同时,由于我正全身心投入开源运动,也就情不自禁地宁愿相信他是对的
而今年夏天我带到海滨别墅来的这本书,同样有煽动性,比Raymond那本更甚(但这本书在提到《大教堂与集市》时是相当正面的),那就是Frederick P. Brooks的《设计原本》(Addison-Wesley Professional, 2010)。Brooks这本书不断引发我的共鸣,我也越来越佩服他的语言表达能力和他提出的观点,然而越是有共鸣,就越感到难过和失望。
![enter image description here][5]
13年前,正值.COM热潮涌动,年轻的Web程序员比比皆是,辍学创业的大学生也屡见不鲜。在向其中一些人传授过去那些编程技巧的同时,我也获得了很多乐趣。像什么测试恢复备份、写脚本安装操作系统、版本控制等等。当然,现在再看,也就那么回事(有些事并不像你印象中那么激动人心,对吧)。而且,我们已经无路可逃,整个.COM时代总体上对IT/CS而言就是一场灾难,尤其对软件质量和Unix来说,更是如此。
好像从来没有人分析过.COM泛滥那些年,IT行业增长了多少。以我个人的经验,我估计整个行业(包括IT行业由此新增的就业机会)大概增长了两个数量级,或者更确切地说,达到了原来的百分之一万(100倍)。
学会计算机编程很容易,就像学会用钉子把两块木板钉到一起一样简单。但问题是——打个不恰当的比方,市场对“钉在一起的两块木板”的需求,除了“自豪的爷爷”的那点天伦之乐以外,真的是太小了。而且,由此再进一步学习钉椅子或做碗橱,都需要天分、实践和训练。我们增长的这99倍恰恰都来自那些既没有实践经验,又没有受过良好训练的人。等这些人有时间学习和接受训练了,聚会已然结束,大多数人失去了工作。可以乐观地假定那些坚持下来的人最有天分,而且经验也最多,即便如此我们还是无路可逃,因为作为IT专业人士,由于缺乏基本功,他们大多数都很滥!
感想:我读的这篇文章我接触到了新的专业术语,增加了我对这方面的知识,也理解到了现在许多的程序员技术是非常滥的,集市中出现了非常粗糙低劣的软件,只知道代码重用,不断重复的利用复制粘贴。只有通过专门的规划和管理,不断的培养出相关的人才负责到底,才能够保证质量,才能让客户更好的享受软件的功能。
3.软件工程方法论对我们经软件开发有多大用处?谈谈你的看法。
答:软件工程方法论包含3个要素:方法、工具和过程。它可以给我们提供一个构造的框架,规范我们的编程行为,好像现实中有法律道德管控着我们,才能让这个社会正常的运行下去,不至于混乱不堪,软件工程方法论就是如此。
总之,软件工程方法论可以让我们更加有效的完成软件开发,避免不必要的错误。