在上家公司专门培训过scrum敏捷开发,过去几年了,许多的概念也忘得差不多了,但有一个大概的印象,scrum敏捷软件开发当时作为对敏捷的入门这本书以前也读过一部分分内容,但是没读完,这段时间借公司平台(敏捷教练培养)重新读一遍,总结如下:
对于scrum团队成员来说, 不要考虑是你的任务还是我的任务, 而应该考虑是我们的任务.scrum master一方面是团队的领导, 另一方面是毫无行政权力的普通人,scrum master的存在是为了帮助团队使用scrum, 他类似于健身教练, 教会你用正确的方式进行各种练习, 但是教练的权利又是有限的,他不能强迫你参加你不喜欢的工作, 他们的权利是客户授予的. 而scrum master的权利是团队授予的,如果团队不能按时交付软件, 那一定是流程上出了问题. 而scrum master的权利不能超越流程之外;
对于scrum master的权利, 举个例子: 某团队成员在提交代码之前, 必须进行code review, 这个虽然是个好主意, 但是不应该是scrum master来决定,因为它超出了流程之外, 这个是要求团队怎么工作的决定,优秀的scrum master能够并愿意承担责任的人。
我总结的scrum master工作时应坚持的原则是:
1、scrum master不应该对项目的成功负责, 这个是团队的责任.
2、scrum master必须对团队产出最大化以及支持团队使用scrum负责.
3、scrum master相当于乐队的指挥, 二者都必须对团队的行为进行引导.
4、优秀的scrum master不会以自我为中心. 应该帮助团队实现目标提供任何帮助.
scrum master必须保证团队中存在一种互相协作的文化, 需要确保团队成员能将问题拿出来公开讨论,善于合作的scrum master应该鼓励团队用共赢的方式思考, 而不是以赢家和输家的方式思考;如果团队发现障碍经常不能很快得到清除, 那么应该提醒scrum master积极投入团队的重要性,成功的scrum master应该影响团队内和团队外的人, scrum master应该懂得向别人施加影响, 同时又要避免独裁,
scrum master应该是这样的人:
1、scrum master不仅要有scrum知识, 还必须具有技术, 市场和其他专业知识, 帮助团队实现目标.
2、scrum master的职责是提供指导而非答案, 团队必须自己找答案.
3、保证团队一起顺利工作, 迅速清理挡路石, 团队有效朝着目标前进. 而产品负责人则是保证团队朝着正确目标前进的人.
产品负责人不仅仅是一名项目经理, 同时还必须撰写需求和排列优先级,需求边界必须由负责人提出并且经常表现为限制条件, 比如: 我六月需要它;我需要减少一半的开销; 它的速度要加倍; 内存占用要减半等,产品负责人的工作分两部分: 对外了解市场趋势, 对内与团队一起建造产品.
产品负责人的品质:
1、必须要有非常强的业务背景
2、能与各种干系人等友好相处, 是一个良好的沟通者.
3、当团队成员遇到问题找你时, 产品负责人必须给出一个解决方案或决定.要懂得授权,产品负责人通常会要求的更多, scrum master必须在这种情况下站出来与之抗衡从而保护团队.
scrum基本原则:
相信团队能解决问题,scrum并没有规定必须有测试, 必须结对编程, 它只要求团队在每个sprint结束时能交付高质量, 可工作的软件不断的重构, 让小问题在变成大问题之前修复他们, 保证我们的应用不会腐烂;如果能保证我们在提交代码的时候比我们更新代码干净一点点, 那么我们的代码就不会变烂。集体所有制鼓励成员对程序的任何部分都承担责任, 以便团队成员能在任何一个模块工作;必须确保开发人员不会变得太专业以至于只能在某一方面做出贡献. 确保没有一个地方变得太复杂以至于只有一个开发人员可以明白和完成其工作。
个人的看法:冲刺是Scrum最核心的部分,通过快速的迭代来缩短反馈环的周期,以达到相应变化的目的,冲刺的概念在落地的过程中,关注的核心在于节奏的把握和目标的制定,每一轮的冲刺都是对团队的一次挑战,也同样是让团队进步的一次机会,通过冲刺的方式,不断的让团队实现小目标,进而实现一个更大的目标,便是“小步快跑”的思路的应用,当然这需要PO不断的把控方向,在战略上做好规划和设计,以免被众多的小目标迷失了大的方向。