1.全局优化
局部的优化长期来说,会对系统整体化不利。
专注于整体价值流:从概念到现金。从客户需求到软件部署。
交付完整产品:客户不要软件产品。他们要解决问题。完整的解决的方案是由完整的团队构建的。
着眼长期:警惕导致短期思维和优化局部业绩的治理和激励体系。
2.消灭浪费
浪费指所有那些不能增加客户价值的事项。软件开发中的三大浪费:
构建错误的功能:“没有什么比高效完成根本不应该做的工作更无用。
拒绝学习:我们有很多策略都干扰我们学习,例如,只按计划行事、频繁移交、决策与工作分离等,而学习则是开发的精髓。
辗转现象:那些干扰价值顺利流动的做法,例如,任务切换、请求清单冗长、大堆未完成的工作等等,都只能达到事倍功半的效果。
3.品质为先
如果在验证过程中总能发现缺陷,那流程就有问题。
最终验证不应发现缺陷:所有软件开发流程的根本目的都是尽早在开发阶段发现并修复缺陷。
采用测试先行的开发模式让流程具有防误机制:测试(包括单元测试、端对端测试和集成测试)必不可少,以此建立信心,保证系统在任何层次、在开发阶段任何时间点都始终正确无误。
打破依赖:系统架构应当支持随时添加功能。
4.不断学习
规划工作非常有用。学习则必不可少。
可预测的性能来自于反馈:可预测的组织不会猜测未来并称之为计划;反之,他们会培养能力对未来做出响应。
保持选择方案:视代码为实验―使其具有容变性。
最后可靠时刻:在做出不可逆转的决策之前尽可能学习。不要提前做出纠正代价高昂的决策,也不要事后才做出决定!
5.尽快交付
从一开始就深入了解所有干系人看重的价值然后基于这样深入了解 价值观,创建稳定、连贯的工作流。
快速交付、高质量和低成本是完全相互兼容的:以速度竞争见长的公司拥有很高的成本优势,他们可以交付优质的产质的产品,而且对客户需求更为敏感。
排队理论同样通用于开发,两不级仅仅是服务行业:专注于使用性会造成交通堵塞,反而降低使用性,以较小的批量,限制同时进行的工作数来缩短周期时间。大力限制等待清单和队列的长度。
管理工作流比管理进度表要容易得多:建立可靠,可预测交付物的最佳方式是通过选代和看板建立可靠,司重复的工作流。
6.人人参与
聪明,有创造力的人员的时间与精力,是当代经济的稀有资源和竞争优势的基础,获得公正薪资的人员在自主性,成长性和使命感等方面受到激励。
自主性:最有效的工作小组是半自治团队,有一个内部主管从头到尾负责完整、有意义的任务。
成长性:对人员的尊重意味着提供挑战,反馈和让所有人都能够发挥潜能,表现卓越的良好环境。
使命感:将工作与价值挂钩,只有相信自己工作的意义,团队成员才会全心地投入工作,实现这种使命。
7.不断提高
结果不是重点,重点是培养人,发展体制,使之能够交付结果。
失败是个学习的机会:即便是非常小的失败都会被深入调查并纠正的,做到―丝不苟的时候,才可能获得最可靠的性能。
标准存在的目的就是要被质疑和提高的:将现行的,最知名的做法纳入人人都遵循的标准,与此同时鼓励所有人质疑并改变标准。
使用科学方法:教团队建立假设,开展大量快速实验,创建简明文档并实施最佳方案。
本文内容来自《用看板管理大型项目》。