敏捷教练(scrum master)前端
1.敏捷开发概念(对比传统瀑布式开发)java
从需求到设计git
设计到编码docker
编码到测试编程
测试到提交产品后端
瀑布式缺点: 需求常常改,开发人员作增量交付,迭代式开发,并可以持续发布架构
以用户需求为核心,进行迭代,按部就班进行软件开发app
敏捷强调适应性而非预见性 运维
项目需求发生变化, 项目团队快速响应交付ide
软件开发初期会切分红多个子项目,各个子项目的成果都需通过测试,具有可视化,可集成,可发布
主体软件随时可发布,可交付给用户
2.敏捷开发人员架构划分
部门->项目组->小团队
8-10我的的小团队
小团队里有四个角色
PO:product owner 产品或业务负责人(产品经理或项目经理) 肯定产品前景原景 定义产品发布内容 交付任务的优先级 交付时间
SM:Scrum Master 敏捷专家 (team leader) 熟悉敏捷开发模式和实施流程
DEV:开发人员
QA:测试人员
3.敏捷开发相关的四个会议
1.敏捷计划会 一个月一次月初 一个迭代开一次 任务明确 需求划分 故事点划分(小的任务点 1-3天完成的)
迭代或冲刺:Sprint 周期 一个月 因此每一年12个迭代
2.天天立会 对着任务展板 说 从昨天的立会到如今,我完成了什么.从如今到明天立会,我计划完成什么.有什么阻碍了个人进度,风险和困难抛出 让leader进行抉择
我这边进度正常,没障碍
3.敏捷评审会
向客户和利益关系人展现 团队在本次迭代中完成的工做并获取客户的反馈
4.敏捷回顾会 一个月一次月尾
每一个迭代结束时进行,总结工做中的经验和教训 30-60分 整个团队参加
1.定量分析
迭代是否完成目标
收集评审迭代的度量指标 wiki的工具链上作
2.定性分析
主观化的 那些好的保持 很差的中止 改进的,提建议,在下一个迭代改进
4. 平时写代码怎么样的, 任务如何完成
立会上领取故事点(任务点)
跑测试用例,功能测试彻底经过才能push
ci流程 代码质量的保证 不经过重复上述流程 跑过了进入team leader那进行代码评审code review 不经过 在循环改代码直到经过 入库 闭环反馈机制操做
合代码宗旨
人与人不影响 最大程度隔离 作任务能全速推动
任务与任务中间不影响
不须要每一个人任务作完,主分支才能交给客户,随时随地交付
敏捷是一种科学作事的方式
从人员划分 开会 故事点划分 编码里的守护防御系统 开发和代码评审的方式
circle ci
目前参与过公司的项目,公司专业从事敏捷开发,也比较成熟,能够分享下其中的细节。
一、概念,能够参考敏捷宣言,强调适应变化,四句指导
个体和互动 高于 流程和工具(动员每一个人积极交流,相互之间能够 battle,头脑风暴);
工做的软件 高于 详尽的文档(好的代码是不须要注释和文档的,顶多有一些规范指南一类的在线协做文档);
客户合做 高于 合同谈判(真心实意为客户创造价值,而不止于眼前的功能交付,这个很难,由此还专门有一个角色去 control 这件事);
响应变化 高于 遵循计划(计划是赶不上变化的,随时改需求随时变更迭代计划,有迭代的概念);
基于于右边,而更注重左边的价值,并非说彻底抛弃传统的瀑布式开发。
二、人员架构
由于公司没有所谓的各类领导,这里就说下交付组里,我所见的一些角色,也是天天在一块儿工做的小伙伴:
PM:项目管理者,这里不是项目经理,负责和客户签合同,各类会议的组织者,没有项目经理那种权利
BA:业务分析师,专门和客户谈需求,超强的交流和控制客户的能力,几乎天天都和客户泡在一块儿开会过需求,疯狂开会,驱动客户(咱们组的BA是御姐型的,气场极强)
QA:测试人员
DEV:开发人员,其中有掌握技术话语权的 TL
PO:比较特殊,是客户某的部门领导人,通常和 PM 单独沟通,几乎没出现过,网友同样的存在
一个团队通常 1 PM、1 BA、1 QA 、6 DEV (三前三后,至少两个TL)
这里没有 MS,因此每一个人都是 SM,233333
先作好运维,再作运维开发。zabbix,elk,ansible,docker,k8s这些工具自带的功能基本够一开始用了。业务驱动
用了这么多PM工具,Atlassian JIRA Confluence + 插件是挺好用的,这个平台就是JAVA开发里的一个很牛产品
ThoughtWorks 了解一下