构建之法 学习笔记06
关于敏捷流程。
在软件工程的语境中,“敏捷流程”是一系列价值观和方法论的集合。从2001年开始,一些软件界的专家开始倡导“敏捷”的价值观和流程,他们肯定了流行做法的价值,但是强调了敏捷做法更能带来价值 。“敏捷”(Agile)是一种思潮,或者说是一种价值观,它涵盖了好几种软件开发的方法论(Methodology);这些方法论又是建立在许多行之有效的最佳实践方法(Best Practices)之上的。而关于敏捷的方法论比较有名的是一下三种:1.爱抚弟弟(FDD——Feature Driven Design);2.史克朗姆(SCRUM);3.极限编程(XP)。
还有一点需要明确的是,敏捷不是万能的。敏捷的方法能帮助你更早的知道你是否能如期完成任务,仅此而以。敏捷的方法(迭代的方式)能帮你尽快让用户看到项目的部分价值。当你尽早交付部分价值时,也许用户已经对你目前交付的东西很满意了,这样你就不需要再花时间来实现其他需求。另一种可能是,用户看到部分系统,他们有新的需求,这样你就可以实现新的需求,而不用在浪费时间实现过时的需求了。总之,敏捷能在一定程度上提高工作效率。
敏捷开发的原则是:(总结为以下十点)
1.尽早并持续地交付有价值的软件以满足顾客的需求。
2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。
3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。不断关注技术和设计,提高效率,才能越来越敏捷。
4.业务人员和开发人员在项目开发的过程中应该每天共同工作。
5.以有进取心的人为项目核心,充分支持和信任他们。
6.无论团队内外,面对面交流始终是最有效的沟通方法。同样的话语,文字和语言单传递都比不上当面交流交换信息之多以及准确。
7.可用的软件是衡量项目进展的主要目标。
8.敏捷落差呢过应该能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去。
9.保持简明——尽可能多简化工作量的技艺——极为重要。
10.自我管理在团队中同样十分重要。时时总结如何提高团队效率。