第三次作业
学习心得###
1.scrum是什么###
粗略的了解一下scrum,简言之就是一个团队协作的敏捷开发,注意团队是一个重要词汇,它讲究每个人去完成每个人的任务,从而达到共同的目标。用标准的语言来说,Scrum 是一种团队管理工作的方式,其将工作分解为较小的工作单元,并在周期性固定的时间段内持续地交付工作单元。
2.scrum的特点###
- Scrum规定了一个非常简单的开发流程。
- Scrum是现有设计流程的总结。
- Scrum以团队为基础,是一种在需求迅速变化情况下迭代地、增量地开发系统和产品的方法。
- Scrum是一个控制由利益和需求冲突导致的混乱的流程。
- Scrum是改善交流并最优化合作的方式。
- Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。
- Scrum是最大化生产率的一种方法。
- Scrum适用于单一的项目到整个组织。Scrum可以控制并组织多个具有相关性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。
- Scrum能让每个参与者都对自己所做的工作以及自己做出的贡献感到骄傲,并让他们发挥到最佳水平。
3.scrum的组成###
三个角色:
产品负责人(Product Owner)
Scrum Master
Scrum团队
四种仪式:
Sprint计划会议(Sprint Planning Meeting)
每日站会(Daily Scrum Meeting)
Sprint评审会议(Sprint Review Meeting)
Sprint回归会议(Sprint Retrospective Meeting)
三种物件(文档):
产品Backlog(Product Backlog)
SprintBacklog(Sprint backlog)
燃尽图(Burndown Chart)
一个经历过时间考验的开发过程
Scrum最早由Jeff Sutherland在1993年提出,Ken Schwaber 在1995年OOPSLA会议上形式化了Scrum开发过程,并向业界公布。
之后,Scrum成为领先的敏捷开发方法之一,目前世界上有超过500家公司在使用Scrum。
4.scrum的框架结构###

5.敏捷开发的特点###
敏捷方法主要有两个特点,这也是其区别于其他方法,尤其是重型方法的最主要特征:
(1)敏捷开发方法是“适应性”(Adaptive)而非“预设性” (Predictive)。这里说的预设性,可以通过一般性工程项目的做法理解,比如土木工程,在这类工程实践中,有比较稳定的需求,同时建设项目的要求也相对固定,所以此类项目通常非常强调施工前的设计规划。只要图纸设计得合理并考虑充分,施工队伍可以完全遵照图纸顺利建造,并且可以很方便地把图纸划分为许多更小的部分交给不同的施工人员分别完成。然而,在软件开发的项目中,这些稳定的因素却很难寻求。软件的设计难处在于软件需求的不稳定,从而导致软件过程的不可预测。但是传统的控制项目模式都是试图对一个软件开发项目在很长的时间跨度内做出详细的计划,然后依计划进行开发。所以,这类方法在不可预测的环境下,很难适应变化,甚至是拒绝变化。与之相反的敏捷方法则是欢迎变化,目的就是成为适应变化的过程,甚至能允许改变自身来适应变化。所以称之为适应性方法。(2)敏捷开发方法是“面向人” (people oriented)而非“面向过程”(process oriented)。Matin Flower认为:“在敏捷开发过程中,人是第一位的,过程是第二位的。所以就个人来说,应该可以从各种不同的过程中找到真正适合自己的过程。”这与软件工程理论提倡的先过程后人正好相反。 (续致信网上一页内容)在传统的软件开发工作中,项目团队分配工作的重点是明确角色的定义,以个人的能力去适应角色,而角色的定义就是为了保证过程的实施,即个人以资源的方式被分配给角色,同时,资源是可以替代的,而角色不可以替代。然而,传统软件开发的这些方法在敏捷开发方式中被完全颠覆。敏捷开发试图使软件开发工作能够利用人的特点,充分发挥人的创造能力。敏捷开发的目的是建立起一个项目团队全员参与到软件开发中,包括设定软件开发流程的管理人员,只有这样软件开发流程才有可接受性。同时敏捷开发要求研发人员独立自主在技术上进行决策,因为他们是最了解什么技术是需要和不需要的。再者,敏捷开发特别重视项目团队中的信息交流,有调查显示:“项目失败的原因最终都可追溯到信息没有及时准确地传递到应该接受它的人。”
浙公网安备 33010602011771号