跳过正文

敏捷开发

·5 分钟
目录

前言
#

今年公司引进敏捷开发工具套件 jira ,bitbuket,conference ,下面 了解了下敏捷开发的使用。

敏捷思想
#

快速响应 相对独立,可持续,稳定运行。

百度百科
#

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

维基百科
#

是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。

敏捷工具
#

已经有一些项目管理工具用于敏捷开发,可以用它们来帮助规划,跟踪,分析和集成工作。 这些工具在敏捷开发中扮演的重要的角色,也是知识管理的一种方法。通常包括:版本控制集成,进度跟踪,工作分配,集成发布和迭代规划,论坛和软件缺陷的报告和跟踪。

公司 实现敏捷思想 的工具是 jira 的Scrum与 看板。

Scrum
#

Scrum 是团队用来管理其工作的框架. Scrum 将 敏捷 原则作为一组具体的项目、做法和角色来实现。

Scrum框架由角色、事件和工件组成,描述了这些实体如何相互连接并实现框架。

  • 三大角色(产品所有者scrum 主角色scrum 团队

  • 两大工件(backlog,sprint 计划)

  • Scrum会议(四大会议)

下图是它们之间的关系:

Scrum

Scrum采用迭代方法,其中开发周期为一般为2—4周。在每个迭代结束时,产品/解决方案的增量版本就准备好交付了。Scrum框架中的每个事件/工件/角色都服务于一个目的,并进一步推进了敏捷项目开发的目标。接下来我们将逐一介绍。

Scrum 角色
#

包含三大角色产品产品所有者,scrum 主角色 ,实施人员 team, 三大角色联动可以达到快速与高效。

产品所有者
#

确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品ROI(profitability of product)负责。 是维护产品需求清单( product backlog )的人,代表利益相关者的利益。一般由 产品人员为主要负责人负责 ,(sprint 计划,以及bocklog主要维护人员)

负责最大化产品以及开发团队工作的价值。主要职责如下:

1、确定产品的功能;

2、决定发布的日期和发布内容;

3、为产品的ROI负责;

4、根据市场价值确定功能优先级;

5、每个sprint中,根据需要调整功能和优先级(每个sprint开始前调整);

6、接受或拒绝开发团队的工作成果;

7 参与Scrum Planning Meetings(Sprint计划会议),Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)

一句话总结PO这个角色就是:告诉产品团队要做什么,做功能的先后顺序是怎样的,需求有变动时该如何处理。

scrum 主角色
#

是团队的导师和组织者,与Product Owner紧密合作,及时为团队成员提供帮助。促使team按照scrum方式运行,为Scrum过程负责的人。一般为 开发负责人来负责。

Scrum Master工作职责:

1、保证团队资源合理利用;

2、保证各个角色及职责良好协作;

3、解决团队开发中的障碍;

4、作为团队和团队外部的接口,协调解决沟通中的问题;

5、保证开发过程按计划进行,组织Scrum Planning Meetings(Sprint计划会议), Daily Stand-up Meeting(每日站会), Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)

另外,Scrum Master还需要帮助PO建立product backlog与sprint backlog,并确立其中每个story的优先级。

Scrum Master在团队中的作用 在junior团队中:主导和控制,在intermediate团队中:引导和教导 在Senior团队中:辅导和协助

我觉得Scrum Master对Team在很多时候都应该有一种“护犊子”的精神。确保Team神圣不可侵犯。

一句话总结SM这个角色就是:教整个团队怎么做(有效沟通,保护team),计划排定,如何估时,跟进每天进度(day meeting),风险控制(及时集成),定期总结(团队建设)。

实施人员 team
#

负责交付产品的团队。一个团队通常由5至9名具有跨职能技能的人(设计者,开发者等)组成,承担实际的开发工作。

两大工件(backlog,sprint 计划)
#

产品积压工作(backlog)是团队可以交付的优先级值列表。 产品所有者负责积压工作,并根据需要添加、更改和重新分类。 积压工作顶部的项目应始终可供团队执行。

  1. 产品积压工作

    • 史诗和功能被分解为故事,并添加验收标准。待办事项被划分优先级并排序。

      产品添加需求,开发添加优化,UI添加设计计划。

  2. sprint 计划

    • 产品 先根据需求的进行排期计划。

Scrum 会议
#

  1. 冲刺计划会议

    讨论 计划迭代周期,讨论任务排期。

  2. 每日站立会议

    早上晚上 15分钟(都要参加)

  3. 评审会议

    在冲刺结束前给产品负责人演示并接受评价的会议,(功能演示)

  4. 回顾会议

    每一个冲刺完成后,都会举行一次冲刺回顾会议,在会议上所有团队成员都要反思这个冲刺。举行冲刺回顾会议是为了进行持续过程改进。会议的时间限制在4小时。

一句话总结Scrum会议就是:任务领取,时间承诺,进度跟踪,改善建议

经验小记
#

产品开始sprint 会议时,需求已出UI已出,并审核, 主要迭代功能多少,进行优先级分类。

需求sprint以及UI sprint 要优先开发sprint

参考
#

微软什么是敏捷开发

scrum的角色分类

敏捷项目管理:最佳实践和方法论