Scrum 思考
下个月就要离职,所以这个月特别清闲,上班时间都在上网看书,偶然在Startup News的一篇文章(http://blog.devtang.com/blog/2013/06/17/startup-anniversary-note/)中看到一个Scrum这个名词,第一印象以为是某种工具-_-!!!,遂google之,才知道是一种敏捷开发框架,看了两本相关的书,觉得这种方法非常高效,迭代式的增量开发,每次sprint都有产出,开发者非常有成就感,也能及时收到反馈,项目也不会遥遥无期。于是开始思考是否适用于现在的工作环境。
背景:
现有IT部门主要职责是负责维护旧系统(10年历史)以及基于这个系统进行功能扩展。公司是美国公司,技术部门在中国。工作模式就是,美国的客服使用SugarCRM记录客户报告的case和bug,创建后直接指派给相关负责人,负责人再分配给程序员,程序员按照priority按顺序修复。完成后发回给Q/A,Q/A确认没问题,在每周二进行预发布,每周四真正发布到正式服务器。
问题:
这样的流程已经有一段时间,程序员一般都非常清闲,只要把case和bug完成了就行。系统代码杂乱不堪,只要你能修复客服问题,能实现他们要的功能,美国同事就不理了,代码一直停留在最原始的的状态,程序员在这种环境下变得松散,慵懒。于是我就想,能否通过引入Scrum工作方法,来提升产品质量和性能,同时,对于程序员本身也是一种负责任的态度,毕竟整天没事做很无聊。于是有了下面的设想:
设想:
1. 将每周发布一次的周期改为更长周期,比如两周
2. 第一个周一开全体开发人员例会(相当于sprint计划会议),会前准备需要修复的bug和新增功能, 整理出两个星期内需要紧急完成的任务,一般不需要太多,预留充足时间,以防中途有一些critical的case。同时,全组人员讨论,系统需要优化的项目,每个人发表意见,通过投票挑选出急需优化的1项, 讨论是否能在此次周期中完成,是否需要将该项分割。
3. 确定此次要完成的任务后,大家对所有任务进行评价,按重要程度分配工作
4. 设定“看板”,看板包含四列:To Do, Work in Progress, Q/A , Done。看板的好处直观的了解到每天的进展,保持紧迫感,到最后一天看到所有任务都在Done列,也有一定的成就感。 这个“看板”在《精益创业》这本书也提到过,只是书中提到了verify列,我们很难做到。因为我们不是产品负责人,所以只保留最简单的四项。
5. 程序员完成一个case和bug,还是自行测试,然后assgin给Q/A进一步测试,确认没问题就可以直接发布到预发布服务器进一步测试。
6. 建立wiki页面,记录每次sprint完成的主要内容。
好处:
这样相对于现在有下面几个好处:
1. 解决程序员有时候无事可做,有时候很忙的情况。
2. 冷却某些高管天马行空,但是对用户根本毫无用处的想法。
3. 每次sprint都能对系统进行小规模优化,稳定性及可靠性不断提升。
4. 所有任务对于团队成员非常透明,方便交流。
5. 每次sprint的产出都具可直观体现。
这是看了两天关于Scrum后的思考,未经实践,有点邯郸学步的感觉。虽然目前情况没能力改变,但是也针对的一些思考,对我未来职业生涯有所帮助。对于即将任职的新公司,是多个项目同时进行公司,每个项目相对独立,但是每个项目成员只要1-2个程序员,人员分配应该如果处理? 有什么实践中的细节需要处理?希望有实战经验的园友们赐教!
参考书籍及文章:
http://zh.wikipedia.org/wiki/Scrum
Scrum 思考的更多相关文章
- 软件工程的引入:Scrum开发框架总结
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点如下: 软件工程概念 敏捷开发过程scrum 一.什么是软件工程?请用一句话描述. 软件工程是一门研究性的学科:它用工程化 ...
- Alpha阶段第一次Scrum Meeting
Scrum Meeting Alpha 情况简述 Alpha阶段第一次Scrum Meeting 敏捷开发起始时间 2016/10/18 00:00 敏捷开发终止时间 2016/10/20 00: ...
- Daily Scrum Meeting ——EighthDay
一.Daily Scrum Meeting照片 橙汁参加ICPC未归,周一牛姐去上课,佳恺今天去迎新晚会表演舞台剧了 二.Burndown Chart 今日没有燃掉issues 增添了两个issue ...
- [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)
Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...
- 0427 scrum & 读后感
5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 6. 团队项目选题 详情见团队博客:http://www.cnblogs.com/alfredzhu/ htt ...
- agile/scrum 如果一切都从解放前开始
一个非常珍贵的机会,聚集了公司很多牛人,进行了一场发人深省的讨论.有一个话题我想拿出来和他家分享一下我的看法. 越来越不舒服的站会 站会是每天都在固定的时间.地点,大概持续15分钟左右(我们的小组都比 ...
- 【Alpha阶段】第八次Scrum例会
会议信息 时间:2016.11.01 21:30 时长:60min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 NXT:2016.11.03 21:30 个人任务报告 姓名 今日已完成Is ...
- 【转】敏捷开发 Scrum 总结
转:http://www.open-open.com/lib/view/open1330413325514.html 最近把之前学习 Scrum 的资料整理为一篇文档,在接下来的团队和项目开发中,根据 ...
- 适合码农工作时玩的游戏:Scrum
适合码农工作时玩的游戏:Scrum 昨天遇到一个来自微软的面试者,在面试的最后,我简单介绍了一下我们团队使用一周一次的 Scrum 来做项目管理.他回答说:” 我在微软也用 Scrum,不过我们一周两 ...
随机推荐
- es6的Set()构造函数
关于Set()函数 Set是一个构造器,类似于数组,但是元素没有重复的 1.接收数组或者其他iterable接口的数据 用于初始化数据 let a=new Set([1,32,424,22,12,3, ...
- Java 深入浅出String
String String是一个被final修饰的类,直接继承于Object,同时也实现了charsequence接口,String被声明为final也就不可以被继承了.由于String的方法比较多, ...
- 2018IEEE冬季生物识别学校 5天课程
里边有很多介绍及相关报告的PPT https://www.comp.hkbu.edu.hk/wsb18/index.php https://www.comp.hkbu.edu.hk/wsb18/pro ...
- 洛谷——P2683 小岛
P2683 小岛 题目背景 西伯利亚北部的寒地,坐落着由 N 个小岛组成的岛屿群,我们把这些小岛依次编号为 1 到 N . 题目描述 起初,岛屿之间没有任何的航线.后来随着交通的发展,逐渐出现了一些连 ...
- Learn to Create Everything In a Fragment Shader(译)
学习在片元着色器中创建一切 介绍 这篇博客翻译自Shadertoy: learn to create everything in a fragment shader 大纲 本课程将介绍使用Shader ...
- 深入理解javascript作用域系列第五篇
前面的话 对于执行环境(execution context)和作用域(scope)并不容易区分,甚至很多人认为它们就是一回事,只是高程和犀牛书关于作用域的两种不同翻译而已.但实际上,它们并不相同,却相 ...
- Redis 锁的实现方案
开发中不可避免的是碰到并发请求,在数据严谨性的要求不高时,我们也不需要做什么处理,但如果碰到数据严谨性非常高的时候(例如:用户金额,秒杀产品的库存...),我们就需要慎重处理了. 解决方案多种多样,下 ...
- 检测使用内存memory_get_usage,执行时间microtime
最近经常用一些扩展,适当比较所占内存,还有一些扩展执行时间长,检测一下每步的执行时间,可以加以修正调整一下源码 查看运行时间 microtime() #返回当前 Unix 时间戳和微秒数. echo ...
- js异步处理工作机制(setTimeout, setInterval)
经常谈到异步,但是发现自己一直没深入理解setTimeout, setInterval,逛论坛的时候发现了这篇好文章,分享一下. ————————————————————以下为原文—————————— ...
- 内功心法 -- java.util.LinkedList<E> (1)
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------下文主要对java.util ...