精益思想在银行软件开发落地的一些思考

如题所述

第1个回答  2022-06-18
相比制造业,软件开发有其独特之处,”精益思想“落到方法、实践层面,需要做针对性的变通。

软件产品开发相对生产制造产品开发的不同可归类为:1)价值的不确定性;2)过程的不确定性。 价值不确定性 ,体现在:1)客户价值本身存在不确定性、无法一开始就精准定义且随时处于演变之中;2)行业处于快速变化和不确定之中。以上各种不确定性,所反映的本质可汇聚为一点,即 “变化“是软件开发的一大核心主题 ,这决定了精益软件开发 需要突出”迭代能力“ ,组织模式上需要更加扁平化。至于软件开发的 过程不确定性 ,则体现为每一次软件项目的开发过程 都是某种程度的创造过程 ,其中都有相当量的具体工作细节是无法提前精准确定的,事实上, 也正是软件开发工程师的核心价值体现之一 。

精益思想,应用到软件开发项目上,就是要让业务成功成为检验软件项目的唯一标准!

精益思想强调拉动式生产,即用户价值拉动,要确保下游的需要往上游生产环节的及时、准确的高效传递,不光让价值流动起来,还必须保证流动的是用户想要的价值。做到这一点的最佳手段是让最下游的客户价值(如用户订单)拉动整个价值流。——联系到银行信息科技的生产,就是要让信息科技的开发等工作是直接由用户对产品、服务的需求来拉动的;这里, 对“用户的需求”与“业务部门的需求”是要加以区分的 ,用户是指银行的最终用户(对公、对私)  。

为什么银行信息科技工作,在银行的整个运转体系里,总是容易陷入一种后台支持角色的状态?根本原因之一,就是信息科技部缺乏对用户价值拉动的直接感知。科技部门的所谓响应需求,完全是在对业务部门的想法进行响应,完全没有参与、也不用对最终用户价值的实现、流动负责。

这不是单单凭借信息科技部的力量所能改变的。

当然,业务部门也很委屈,他们已经在很努力的响应市场、捕捉客户需求,并已经在竭尽全力地提炼需求并传递给科技部门,并积极地推动科技部门又快又好的按需求规划交付系统。并且,为了能够最有有效地对接市场需求,业务部门作为一个一线环节,其必要性、重要性也是毋庸置疑的。

问题出在哪里呢? 

是因为传统的银行架构决定了科技部门是被隔离在业务部门后面的,是不用直接接触用户一手需求的,更不用直接参与用户价值交付场景的。

正如何勉在《第一性原理和精益敏捷的规模化实施》一文中指出的, 组织架构的模式将决定价值流动的模式 。因此,从组织架构的模式这个源头就要基于用户价值的需要做出统筹安排。业务部门与信息科技部门之间,应该改变先后顺序、改变相互关系,科技部门不应该是对业务部门负责,业务部门也不应该是系统的最终验收者、不应该完全独扛系统的最终市场效果; 科技部门、业务部门应该共同作为敏捷小组的组员,互为顾问,科技部门是业务设计的技术顾问,业务部门是科技部门的业务顾问,双方共同直接对用户价值的最终实现效果承担责任 。

业务的成功(可以是小成功到大成功,简单成功到复杂地系统性成功)才是检验醒目、验收项目的唯一标准。 如果需要一个统筹者角色,那就是产品经理(或称为,敏捷小组的项目经理)。

附摘记一、理解精益思想的三个层面:价值观、方法论、实践集。

价值观 :2001年问世的16页的《丰田之道》“丰田之道–2001”。它申明:尊重人和持续改进是精益价值观的核心。在这两个主题下具体又包含5个价值观,它们分别是,归属于持续改进的:挑战现状、改善和现地现物;归属于尊重人的:尊重和团队协作。“不给客户带来任何麻烦”——生产中的下一个环节也是自己的客户。

方法论 :《精益思想》总结了精益的5个原则,这5个原则同时也是5个实施步骤。

实践集 :从价值观到实践集,其操作性是越来越强的,同时,行业特性也越来越强,通用性也越来越低。就丰田的精益制造TPS而言,其成功的各种实践手段有看板(支撑准时化的重要工具),“一分钟换模”等。

附摘记二、产品开发与产品制造的不同之处:

附摘记三、精益产品开发的目标、方法学和实践:

目标 :顺畅、高质量、有用的价值

方法 :探索和发现有用价值、让价值顺畅流动——聚焦和提升价值流动效率

大野关注的是用户价值,以及价值流动的过程,所谓浪费是指一切从用户角度看无意义的行为和等待。这与德鲁克所说“任何组织的绩效都只能在它的外部体现”是一致的,这一思想同样适用于产品开发。

聚焦和提升价值流动效率,是精益产品开发的原则,也是精益产品开发与传统开发方法的又一本质区别。

实践 :分为管理实践和技术实践。

管理实践的第一部分是精益创业和创新实践,解决的问题是发现、验证和探索价值。第二部分是精益需求分析和管理实践,解决的问题是如何有效的拆分、规划、分析和沟通需求。第三部分是精益看板方法实践。

技术实践则可围绕DevOps展开。

附摘记四、自働化

1. 働,人字旁的动,自働化。自働化是“内建质量”(Build Quality In)的基础,依赖每个环节保障质量,而不是依赖于最后的检测环节。

2.准时化和自働化是矛盾的统一体。

附摘记五、敏捷地初心

重要的是不忘初心,记住敏捷的业务目标——更早地交付价值,更灵活地应对变化。

附摘记六、传统软件的悖论

在知识最不充分的时候,做出了最重要的决定,并把它作为其后的基准,这就是传统开发下知识累积和决策时间之间的悖论。

流程本身有自我复杂化的趋势,对软件开发十分重要的人的能动性反而受到压制。
相似回答
大家正在搜