敏捷开发
在星期四的课上老师讲到了敏捷开发的知识,课下对其进行了写了解,查阅了些资料,有了新的认识。
敏捷开发的原则:
1、主张简单
当从事开发工作时,你应当主张最简单的解决方案就是最好的解决方案。不要过分构建
你的软件。用AM的说法就是,如果你现在并不需要这项额外功能,那就不要在模型中增加它。要有这样的勇气:你现在不必要对这个系统进行过分研究,
你的软件。用AM的说法就是,如果你现在并不需要这项额外功能,那就不要在模型中增加它。要有这样的勇气:你现在不必要对这个系统进行过分研究,
只要基于现有的需求进行建模,日后需求有变更时,再来重构这个系统。尽可能的保持模型的简单。
2、拥抱变化
需求时刻在变,人们对于需求的理解也时刻在变。项目进行中,Project stakeholder可能变化,会有新人加入,也会有旧人离开。,你努力的目标和成功标准也有可能发生变化。这就意味着随着项目的进行,项目环境也在不停的变化,因此你的开发方法必须要能够反映这种现实。
3、递增的变化
和建模相关的一个重要概念是你不用在一开始就准备好一切。实际上,你就算想这么做也不太可能。而且,你不用在模型中包容所有的细节,你只要足够的细节就够了。没有必要试图在一开始就建立一个囊括一切的模型,你只要开发一个小的模型,或是概要模型,打下一个基础,然后慢慢的改进模型,或是在不在需要的时候丢弃这个模型。这就是递增的思想。
4、多种模型
开发软件需要使用多种模型,因为每种模型只能描述软件的单个方面,“要开发现今的商业应敏捷开发
用,我们该需要什么样的模型?”考虑到现今的软件的复杂性,你的建模工具箱应该要包容大量有用的技术。
用,我们该需要什么样的模型?”考虑到现今的软件的复杂性,你的建模工具箱应该要包容大量有用的技术。
有一点很重要,你没有必要为一个系统开发所有的模型,而应该针对系统的具体情况,挑选一部分的模型。不同的系统使用不同部分的模型。
5、高质量的工作
没有人喜欢烂糟糟的工作。做这项工作的人不喜欢,是因为没有成就感;日后负责重构这项工作的人不喜欢,是因为它难以理解,难以更新;最终用户不喜欢,是因为它太脆弱,容易出错,也不符合他们的期望。
6、软件是你的主要目标
软件开发的主要目标是以有效的方式,制造出满足project stakeholder需要的软件,而不是制造无关的文档,无关的用于管理的artifact,甚至无关的模型。任何一项活动,如果不符合这项原则,不能有助于目标实现的,都应该受到审核,甚至取消。
7、宣言原则
个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划
敏捷开发的误区:
误区一
建模就等于是写文档
误区二
从开始阶段你可以考虑到所有的一切
误区三
建模意味着需要一个重量级的软件开发过程
误区四
必须“冻结”需求
误区五
设计是不可更改的
误区六
必须使用CASE工具
误区七
建模是在浪费时间
误区八
数据模型就是一切
误区九
所有的开发人员都知道如何建模
关于敏捷开发感觉理解的还是表面的东西,毕竟我们没有那样的团队,没有那样的经理,了解的也就只是些“死知识”,但是相比与传统的开发模式来说,敏捷的开发意识对我们还是很有帮助的。敏捷开发在于“敏捷”,也许这就是精髓吧。