在这周学习中,我们接触到了敏捷开发相关知识,老师在根据《构建之法》的内容讲解后,要求我们在网络上查阅关于敏捷开发方面的文章或者阅读一本关于敏捷开发方面的书籍,我根据老师的要求和自身的理解需要阅读了相关知识,了解到了相关知识。
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷开发模式是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发模型,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。
如果要实行一个很好的scrum,通常要满足两点:一、团队有三名或以上的研发工程师;二、团队内有一名合适的Scrum Master。当团队内无法找到合适的Scrum Master时,不要轻易推行敏捷。如果你的团队是由新人组成,或者即使有资深员工但是他并不了解或认同敏捷开发的话,那么你需要等待合适的Scrum Master出现。当你真正实行敏捷开发时,要注意量化衡量团队的执行力的指标:完成度、评估准确度、计划适合度。这是评定整个进度的很重要的指标,也是让迭代更好的进行下去的准则。
那么什么是scrum呢?在阅读网络资料后,我学到了下列知识:
Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprint)。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。 Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。
Scrum框架包括3个角色、3个工件、5个活动、5个价值
3个角色
- 产品负责人(Product Owner)
- Scrum Master
- Scrum团队
3个工件
- 产品Backlog(Product Backlog)
- SprintBacklog
- 燃尽图(Burn-down Chart)
5个活动
- Sprint计划会议(Sprint Planning Meeting)
- 每日站会(Daily Scrum Meeting)
- Sprint评审会议(Sprint Review Meeting)
- Sprint回顾会议(Sprint Retrospective Meeting)
- 产品Backlog梳理会议( Product Backlog Refinement)
5个价值
- 承诺 – 愿意对目标做出承诺
- 专注– 把你的心思和能力都用到你承诺的工作上去
- 开放– Scrum 把项目中的一切开放给每个人看
- 尊重– 每个人都有他独特的背景和经验
- 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重