记录一下前天的读书分享吧。公司最近开始经常举办读书分享与培训,总体上的感觉还是挺好的。这次轮到我来分享,便准备分享下敏捷软件开发这本书。
然而分享出来的效果并不是非常好。感觉大家似乎不是很感兴趣。我觉得有我讲解不太行的锅。没足够时间去多演练几遍。
把那天分享的内容简单记录下。
敏捷是什么?
我认为,敏捷是一种思想,开发模式。不同于瀑布式,他讨厌计划,讨厌按部就班;他提倡拥抱变化。他出现的原因也正是如此,因为在现如今,需求变化越来越多的出现。世界上唯一不会变化的就是变化。
找出软件时无数变化中不变的部分,并把不变的部分抽象出来,就是解决不断返工的一个方法。
需求不断变化,沟通总是质量低下。用户与需求,需求与设计,设计与开发……甚至还会再多转几道手。每个人都只是中间层,最初的想法经过几手转达,到了开发手上时已经不知道曲解成什么样了。而这就意味着返工。做出来的东西发到现场,就是各种不满意……于是后来,我学会了封装,代码不要一下子从头写到尾。有重复代码的地方,坚决要想方法,把里面的变量抽出来。不然,就是稍微一动,就要改好多地方的节奏。
个体和交互 胜过 过程和工具,可以工作的软件 胜过 面面俱到的文档……是啊,软件从来都是用户拿到手上就能用的最好。世面上成功的软件,哪一个软件需要人们看着用户手册才能操作的?然而我们做得项目,往往每个都需要来个用户操作手册。
关于中间层,是我看这本书感悟最多的一个点。明白了“软件工程中的困难,没有一个是增加一个中间层不能解决的”。
我们都是中间层,用的东西也都是中间层……二进制屏蔽了电路复杂性,操作系统屏蔽了0和1的复杂性,java屏蔽操作系统复杂性,我们这些开发,屏蔽了计算机语言与自然语言的复杂性,设计屏蔽了文档与用户的复杂性……每个人都是中间层,被别人调用方法,也调用别人身上的方法。
推荐理由:
推荐这本书的点,适合所有互联网行业从业的人看。浅显易懂,大量类比,理论结合实际。也让我们有一种新的理念去看待问题。 书中内容:UML类图、敏捷软件开发的思想、实践案例、设计模式、面向对象的原则、附录还有2个关于敏捷的搞笑文章与一篇论文。值的一读。
嗯。。也做到我能做到最好的准备了,下次有机会再好好准备吧!