前言#
今年公司引进敏捷开发工具套件 jira ,bitbuket,conference ,下面 了解了下敏捷开发的使用。
敏捷思想#
快速响应 相对独立,可持续,稳定运行。
百度百科#
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
维基百科#
是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。
敏捷工具#
已经有一些项目管理工具用于敏捷开发,可以用它们来帮助规划,跟踪,分析和集成工作。 这些工具在敏捷开发中扮演的重要的角色,也是知识管理的一种方法。通常包括:版本控制集成,进度跟踪,工作分配,集成发布和迭代规划,论坛和软件缺陷的报告和跟踪。
公司 实现敏捷思想 的工具是 jira 的Scrum与 看板。
Scrum#
Scrum 是团队用来管理其工作的框架. Scrum 将 敏捷 原则作为一组具体的项目、做法和角色来实现。
Scrum框架由角色、事件和工件组成,描述了这些实体如何相互连接并实现框架。
三大角色(产品所有者、 scrum 主角色和 scrum 团队)
两大工件(backlog,sprint 计划)
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)是团队可以交付的优先级值列表。 产品所有者负责积压工作,并根据需要添加、更改和重新分类。 积压工作顶部的项目应始终可供团队执行。
产品积压工作
史诗和功能被分解为故事,并添加验收标准。待办事项被划分优先级并排序。
产品添加需求,开发添加优化,UI添加设计计划。
sprint 计划
- 产品 先根据需求的进行排期计划。
Scrum 会议#
冲刺计划会议
讨论 计划迭代周期,讨论任务排期。
每日站立会议
早上晚上 15分钟(都要参加)
评审会议
在冲刺结束前给产品负责人演示并接受评价的会议,(功能演示)
回顾会议
每一个冲刺完成后,都会举行一次冲刺回顾会议,在会议上所有团队成员都要反思这个冲刺。举行冲刺回顾会议是为了进行持续过程改进。会议的时间限制在4小时。
一句话总结Scrum会议就是:任务领取,时间承诺,进度跟踪,改善建议
经验小记#
产品开始sprint 会议时,需求已出UI已出,并审核, 主要迭代功能多少,进行优先级分类。
需求sprint以及UI sprint 要优先开发sprint