之前从图书馆里面借了一本《敏捷软件开发》来看,虽然电脑里面有电子版的,但是没有书签,很难翻页,想不到图书馆竟然有这好东西。还是说会正题,其实这本书主要讲的是三个部分:原则,模式和实践。原则是软件设计的方面的,模式是代码设计方面的。可能有些人会这么问:软件设计和代码设计有啥不一样啊?呵呵,有这种想法的人证明你开始进步了,因为你会想东西了,不会人家说什么自己就直接搬过去。我认为,软件设计与代码设计是包含关系,软件的设计包含着代码设计,设计软件的时候定下的原则,在代码设计中也应该遵循。设计模式是基于设计原则上繁衍出来的一段代码架构,注意,只是一小段代码架构,解决的是某一系列问题,并非我们平时说的三层架构啊,MVC啊那些架构。
书就介绍到这里了,还是说回自己学到什么吧~~不瞒大家,书开始说的那些话句句都命中我之前做项目的痛处(=_=!!为什么我不早点看这本书啊),现在发现软件工程这门课是多么的重要!!人才是项目中最基本的组成元素,可能很多leader都忽略了这点,因为人才外面多的是,多你一个不多少你一个不少。然而一个不团结的团队是干不了什么大事的。很多leader都先构造好环境,然后才去构造团队,其实这是反了,我们应该先把团队先构建好后才去慢慢去构造环境。这样这个团队才能在不同的环境中活下来。
作为团队中的一员,也许每个人都想成为里面最优秀的那个,所以他们会不断地充实自己的知识,更新自己的技术。然而一个优秀的队员并非就是技术水平最高的那个,而是能够与各个队员沟通交流的那个。也许这个人的技术水平一般,但是队员之间的交流远远胜于只有高水平的技术。当然不断更新自己技术是每个人都要的。
一支优秀的团队,假如没有一个好的开发过程,那么这个团队的优秀不能发挥得淋漓尽致;同样,有着一个好的开发过程却没有一个优秀的团队,那么这个过程也是如同虚设。假如两者都没有的话。。。你懂的=_=!!
说说我们的开发工具吧,我们经常都最求着更方便,更合适的开发工具给自己用,当然,好的开发工具可以使你事半功倍,然而过于依赖开发工具的话却得不到理想的效果。因为更换开发工具后,团队必须要话一段时间去适应,而且可能用了之后发现其实跟原来的那个没什么大差别。其实在更换新工具之前,我们可以用张纸列出更换工具的理由,并对这些理由进行审核,当真的有这个必要的时候才去换。
今天就写到这里吧,最后贴上敏捷软件开发的宣言和原则吧~~
敏捷宣言:
1.个体和迭代 胜过 过程和工具
2.工作的软件 胜过 完整的文档
3.客户协作 胜过 合同谈判
4.响应变更 胜过 履行计划
虽然右项也是有价值,但是我们认为左项的价值更大。
敏捷原则:
1. 优先级最高的是,通过早期和持续交付有价值的软件来满足客户。
2. 欢迎变更需求,即使在开发的后期提出。敏捷过程为客户的竞争优势而控制变更。
3. 以两周到两月为周期,频繁地交付可运行的软件,首推较短的时间定量。
4. 在整个项目过程中,每一天开发人员都要和业务人员合作。
5. 由个体推动项目的建设,为个体提供所需的环境,支持和信任。
6. 在开发团队中或开发团队间传递信息的最为有效和高效的方法是面对面的交谈。
7. 衡量进展的重要尺度是可运行的软件。
8. 敏捷过程提介可持续的开发。
9. 发起人,开发者和用户应该步调一致。
10.不断地关注技术上优越的设计会提高敏捷性。
11.简洁是最重要的,简洁就是尽量减少工作量的艺术。
12.最佳的架构,需求和设计来自于自组织的团队。
13.团队要定期反省如何使工作更有效,然后相应地调整行为。