DevOps中的Dev指的是Development(开发),Ops指的是Operations(运维)
DevOps包含了三个部分:开发、测试和运维,是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。
DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系;突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
Scrum是用于开发、交付和持续支持复杂产品的一个框架,是一个增量的、迭代的开发过程。
Scrum框架敏捷项目管理核心要素是3355,指的是3个核心角色,3个工件,5个关键事件和5个价值观。
负责最大化投资回报率,通过确定产品特性,把它们翻译成一个有优先级的列表,为下一个Sprint决定在这个列表中哪些应当优先级最高,并且不断地重新调整优先级和梳理这个列表。
职责是定义需求,定义需求优先级,定义需求的验收标准,定义产品发布内容与日期。
帮助产品开发团队学习并应用Scrum来达成商业价值,为大家服务,会做任何力所能及的事情来帮助团队、产品负责人和组织取得成功。
职责是促进团队的工作,帮助团队熟悉和掌握敏捷的价值观与框架,帮助排除影响生产力障碍,确保团队不受打扰。
建造产品负责人所指定的产品。对交付结果负责。
团队是“跨职能”的,它包含了所有专业能力,如开发、测试、需求分析等,并且它是“自组织”,被给予很高程度的自治和责任。
产品视角的需求清单,每项需求都需要描述其外部价值
此次冲刺周期内规划要完成的内容,团队需要一起定义“完成”标准
冲刺结束后可对外发布的产品功能增量部分
2~4周,固定周期,固定事件开始,固定事件结束。
Sprint计划会的核心议题是下一次冲刺要实现的目标和范围。
站会的目标是促进信息在团队内共享与透明。每次15分钟左右,不对问题进行深入讨论,每天固定时间召开。
评审会在冲刺默契召开,检查本期的成果,需要团队全员参与,并邀请产品相关干系人对产品进行展示,若与产品负责人预想的不一样,产品负责人可以拒绝接收成果。
冲刺结束后,团队一起复盘本次冲刺的过程,总结经验与教训,并形成切实可行的改进清单。
Scrum把项目中的一切开放给每个人看
每个人都有他独特的背景和经验
有勇气做出承诺,履行承诺,接受别人的尊重
把你的心思和能力都用到你承诺的工作上去
愿意对目标做出承诺,全身心投入去完成Scrum团队的目标,而不是必须按计划完成,两者之间是有区别的。
结对编程来自于极限编程,是一种敏捷软件开发方法,通过两名程序员共同在同一计算机上编写代码,以提高代码质量、知识分享和团队合作。
(1)分工明确型团队:
一个人负责编写代码,另外一个人审查代码,负责代码的正确性和可读性;
一个人负责详细设计,一个人负责代码实现;
一个人写功能代码,一个人写测试用例。
(2)共同合作型团队:
两个人共同讨论关于所开发功能的架构设计、编码实现、测试方法等,然后轮流做输入和观察的工作。
(1)提高代码质量:两名程序员共同审查和编写代码,可以更加快速地发现错误和缺陷,减少拼写错误等,从而提高代码质量。
(2)有利于知识分享:结对编程中两位程序员可以互相学习各自的知识和技能,更有经验的程序员可以向较新的程序员传授技能。
(3)提高工作效率:两位程序员共同工作可以更加快速地完成任务,遇到问题时可以及时地沟通,减少了寻求帮助的等待时间。
(4)团队合作:结对编程鼓励团队成员之间的紧密合作,增强了团队的凝聚力和协作能力。
(5)减少代码错误:两个程序员共同审视一段代码,可以大大地减少软件中的漏洞和问题。
(6)提高工作的积极性:当面对困难时,可以向另一个程序员寻求帮助,一起分担和共同解决问题,能够增加工作的积极主动性。
(7)互相监督,共同进步:结对编程需要两个程序员间的密切合作,要保持同频和专注度,可以减少工作拖延和偷懒的情况。
(8)多角度看待问题:两个程序员可以从不同的方面来思考和解决问题,更加具有创新性,看待问题更加全面和客观。