在开发软件的时候遇到最多的事情是什么?是无法预见的事情。那么,我们就需要在开发过程中建立一套尽快反馈信息的机制,尽早建立系统原型,尽早让客户参与验证设计和测试的每一个阶段,尽早提供反馈信息,使不可预见的事情尽早到来;以小步快跑,不断更新的短期迭代方式进行软件开发,使系统尽量接近可发布或可运行状态。
精益思想中首先要消除浪费,而浪费是一个很广的概念,任何妨碍迅速满足客户需要的事物都是浪费。例如:生产了超出需求的产品、开发工作移交、组件被闲置,这都是一种浪费。在软件开发中常见的七种浪费有:部分完成的工作、额外过程、额外特性、任务调换、等待、移动、缺陷。这使得我们需要思考一下,是否在团队回顾会上就这七种浪费逐一进行讨论?并针对我们的开发过程消除这些浪费?
开发是一个发现过程,就好比制定新菜谱,而新菜谱是厨师通过反复尝试,不断学习而开发出来的。软件开发也需要这样做才能更好的满足客户口味。敏捷开发要求在推测的基础上不断试验和学习,以便减少不确定性,是计划与现实相符。敏捷开发其实也是一种复盘的方法,在每一次迭代中都会针对上一次迭代进行回顾,总结上次迭代的经验教训、优点、不足,在学习中前进,让假设更接近现实结果,提高项目成功率,从而赢得客户满意。
我们在使用看板对工作进行管理时,发现价值流、拉动、可视化是核心,这也契合了敏捷开发的思想。回顾会也是一个很好的方法,能够激发组员的热情和主动性,共同努力共同发现问题解决问题,回顾会也是一个迭代的过程,当各室都掌握了这样的方法,持续开展。结合敏捷的思想加上看板工具,我相信我们的效率、质量会更上一层楼。