作为一名经理,当你接受一个现有的团队,尤其当这个团队并非以敏捷的方式进行工作,成员能力也参差不齐,甚至已经彻底陷入瘫痪时,应该采取什么样的行动?
有一种成功秘诀可以解决这个问题。成功秘诀中包含新任管理者对现有团队可以采取的若干行动指南。遵循这些秘诀,能够快速改善团队现状,而来自团队成员的阻力会很小。 一、专注于质量 Focus on Quality 缺陷过多是软件开发中最大的浪费。 鼓励提高初始质量(initial quality),会对高缺陷率团队的生产力和交付速率产生巨大影响。 代码检查能够提高质量。 协作式的分析和设计,能够提高质量。 使用设计模式能够提高质量。 使用现代开发工具也能够提高质量。 更为奇特的现代开发工具,如软件产品线(software product lines)和领域专用语言(domain specific languages)也能够减少缺陷。 减少进行中的设计(design-in-progress)的数量,能够提升软件质量。
二、减少在制品并频繁交付 Reduce Work-in-Progress and Deliver Often 频繁发布能够建立起信任。 减少在制品数量能够缩短前置时间。 缩短前置时间意味着可以更为频繁地发布可用的代码。 频繁地发布代码,能够与外部团队,尤其是与市场营销团队或业务方之间建立信任。 小规模的发布表明,软件开发团队具有交付能力,并能够一致致力于产出价值。 高质量的代码发布,能够使团队与上下游合作团队,如运营,技术支持,外部工程实施和营销等之间建立起信任。 总之,减少进行中的工作项,能够提高产品质量,并促进更为频繁的发布。更为频繁的发布更高质量的代码,则能增进与外部团队之间的信任。
三、根据交付速率来平衡需求请求量 Balance Demand against Throughput 根据交付可工作代码的速率,来设置新需求进入软件开发管道的速率。 在有工作项交付后,便会从需求提请者那里拉入新得工作项(或需求)。 在价值流中限制在制品,会有意想不到的情况发生。只有瓶颈资源才会保持满负荷状态。 处于价值流中其他环节的员工会发现,他们有了富余能力(slack capacity),同是在瓶颈处的员工的工作会很忙但不会过载。 为了能够得到持续改善,需要具备富余时间。 为了具备富余时间,就必须允许价值流保持不平衡。 允许有一项瓶颈资源存在。以提高资源利用率为目的的优化,是不可取的。
四、优先级排序 Prioritize ①要学习构建高质量的代码 ②减少进行中的工作项数量,缩短前置时间,并频繁发 ③根据交付速率来平衡需求请求量,对在制品设置限额,进而产生富余时间并释放个体的创造力,促进改善行为的发生 ④随着软件开发的顺畅运转和能力优化,通过改善优先级排序来优化交付的价值。 五、消除变异性的根源,提升可预测性 Attack Sourees of Variability to Improve Predictability 总结:
看板方法包含了成功秘诀的所有方面 成功秘诀解释了看板方法为什么具有价值 质量低下是软件开发中最大的浪费 减少在制品即进行中的工作项数量,能够提高产品质量 提高质量能够增进与下游合作伙伴如运维部门等之间的信任 频繁发布能够增进与上游合作伙伴如市场营销部门等之间的信任 可以通过拉动系统,根据交付速率来平衡需求请求量 拉动系统能够暴露瓶颈所在,并在非瓶颈处产生富余时间 对于运作良好的软件开发价值链,高质量优先级排序活动能够使交付的价值最大化 如果没有良好的初始质量,交付上也缺乏可预测性,那么优先级排序几乎毫无价值 为了降低变异性而进行的改变,需要富余时间 降低变异性能够减少对富余时间的需要 降低变异性有利于实现资源平衡(并潜在的降低对人数的需求) 降低变异性能够降低对资源的需求 降低变异性能够减少看板令牌,减少在制品数量,最终体现为平均前置时间下降 富余时间能够使更多的改进机会成为可能 过程改进能够带来更高的生产率和更好的可预测性
|