随着科学技术的进步和生产力的发展,顾客(Customer)消费水平的不断提高,企业之间竞争(Competition)日益加剧,政治、经济、社会环境的巨大变化(Change),使得整个市场需求的不确定性大大增加。“3C”是顾客需求多样性与市场变化不确定性的根源。企业面对这样一个迅速变化且无法预测的买方市场,不得不改变传统的制造技术和管理方法,采用大批量定制生产、单元化生产、供应链管理等新型制造和管理模式,以求快速响应顾客不断变化的个性化需求;与企业所处经营环境的不确定性相适应,企业组织结构也从金字塔式的多层管理结构开始向充分自治的、分布式的、可以快速重构的协同工作的管理结构演变;不确定性增加还要求企业必须不断对战略、流程、方法等进行实验、调整、改进,借以实现对环境变化的适应性演进。
对于企业管理实践的快速变化,目前流行的企业管理套装软件显示出诸多不适应,主要表现在软件的大量生产模式难以适应用户的个性化需求,二次开发的困难和高昂成本难以适应实际需求的不断变迁,软件的“刚性”和“大一统”格局又限制了企业管理试验和管理实践的经验积累。平台软件(业务基础架构平台)的出现从技术上为管理软件突破上述困境提供了条件,但在传统管理软件开发思想的指导下,难以真正发挥作用。在这种情况下,笔者认为,“模式语言管理”是管理软件实现根本性突破的重要思想和方法。
(一)
“模式语言”是美国建筑学家亚历山大提出来的建筑和城市设计概念(参看《建筑的永恒之道》,[美]C·亚历山大著,赵冰译,知识产权出版社2002年2月第一版)。亚历山大认为,每一个充满活力的完整的社会都有它自己独特而清晰的模式语言。他的思维方式给了人们认识事物的一个新的视角,也为软件开发推开了一扇新的窗子,近十年来,软件工程领域学习亚历山大的思想,总结“设计模式”,用设计模式提高软件开发生产力,取得了不小的成绩。但对于企业管理领域来说,模式语言是描述管理活动中特定场景(context)、特定约束(force)下以具有“无名特质”(亚历山大语)的方式解决特定问题(problem)的方案(solution)的专用语言。它首先表现为企业经营管理活动的事件模式、空间模式、时间模式,然后才能转化为软件设计模式,而对管理的模式语言的研究却一直无人涉足。2005年4月,张西振、王甲佳、刘玉龙在《企业管理》杂志发表了《模式语言管理》一文,首次将“模式语言”概念引入企业管理领域。
模式语言概念下的模式“描述了某种环境中反复出现的问题以及该问题的求解方案,它可以被反复地使用而不必从头做起”。也就是说,一个标准的模式包括三个主要成分:(1)问题的特定场景和约束条件;(2)问题本身;(3)问题的解决方案。通常,一个模式还包括对经验证据(案例)的描述,也可以包含对原理、机理的说明,以及尚待实验证明的疑点、应用中的注意事项等等。
在每一个领域中,都有几代人积累下来的解决各种问题的经验,这些成熟的经验一旦被识别出来并按照特定格式撰写为模式,则可以指导同类问题的解决而被反复使用。在企业组织中,当这些模式被有机组合成适用于特定领域的模式系统的时候,便形成了亚历山大所说的“模式语言”,如果该语言在应用领域中被充分共享,并且成为解决特定问题的可积累知识库的一部分,则模式语言的建立对一个组织的能力提升具有巨大作用。
模式语言的效用源自于模式的适度抽象和完整、准确、实用等特点。模式描述企业经营管理活动中一再发生的问题和解决方案,员工通过学习模式,从中学到解决问题的一般性方法和他人的经验。模式语言中的每一个模式都是一种以故事体表达的正式化的语言,其优越性在于,它既能够描述各种容易编码的显性知识,也能通过故事化的叙述和案例记录来传达存在于员工头脑中的隐性知识(因为提供了故事诠释上的弹性而防止了整理编码过程中隐性知识的流失),同时,其结构化的格式可以方便检索和管理,使组织内知识共享和转移更加流畅。
模式语言系统中任何一个模式均不是孤立存在的,它依赖于其所包含的更小模式,并且帮助形成较大的模式,还要与相关的模式交互作用。基本模式的有机组合形成了能够对整个应用系统进行体系结构描述的模式语言。模式语言就像自然语言为每一个人的言语实践提供词汇、语法、惯用法等“材料”和规则一样,在员工遇到具体问题的时候,可以在模式语言库中对不同的可行方案作评估和选择,并加上对具体环境因素的考虑,产生出适合于“此时此地”的具体方案,而不是“每次设计汽车的时候都重新发明轮子”。
由于模式语言能够使应用它的人省去摸索的时间和麻烦,能够通过模式语言库共享他人或前人的经验,能够在工作过程中不断积累、丰富、完善各种模式,能够通过一点一滴的积累逐步形成组织的核心能力,因此,模式语言的积累就成为组织学习的一种有效方式。
模式语言管理实务体系主要包括:
1.建立个别模式的积累机制。
2.建立模式语言系统的形成机制。
3.建立模式语言管理流程。
模式语言管理的具体内容请参考《企业管理》2005年第4期。
我们将视线从企业管理领域再次转回到管理软件开发领域,就会发现很多过去仅仅停留在“设计模式”时所看不到的东西。应该说,任何一个类型的企业或者企业中任何一个专业领域,都有自己的模式语言,要直接总结出一套统一的模式语言还是很难做到的。但是,如果作为企业管理软件供应商,专注于某一个企业管理领域,总结出一套管理模式语言则是完全可能的。管理软件开发的任务首先应该是发掘目标领域的模式语言,然后使用这个目标领域的模式语言来思考将要构建的管理系统,在积累管理模式语言的基础上,再抽象和提炼“设计模式”,用以描述软件系统。
(二)
应用“模式语言管理”的思想和方法开发管理软件,可以实现管理软件的三大突破:
1.可以实现管理软件的“延迟制造”。
“延迟制造”是Anderson于1950年提出来的制造概念,认为产品可以在接近客户购买点时实现差异化,即实现差异化延迟。延迟制造的概念在企业追求大批量定制(MC)和供应链管理(SCM)的今天受到了特别的推崇。延迟制造的基本思想是,将产品的生产过程分为通用化阶段与差异化阶段,事先只生产中间产品或可模块化的部件,尽可能延迟产品差异化的业务,等最终用户对产品的外观、功能与数量提出要求后才完成产品的差异化业务。如羊毛衫企业首先生产出纯白色的毛衣,然后再根据订单的要求将毛衣染成各种颜色,在这里,纯白色的毛衣是基础样式,而把纯白色毛衣染成各种所需颜色便是差异化阶段需要进行的业务。延迟制造将产品生产过程分为“不变”与“变”两个阶段,将不变的通用化生产过程最大化,生产具有通用性的标准部件,当接到客户订单时,企业便能以最快的速度完成产品的差异化过程与交付过程,从而缩短了交货提前期,提高了快速反应能力,降低了不确定性,减小了企业风险,实现了“大批量”和“定制”的统一。
“模式语言管理”的思想与方法可以帮助软件商实现管理软件的“延迟制造”,降低开发成本,缩短开发时间,及时满足用户的个性化需求。基本方法是通过专注研究目标领域的管理模式,建立起管理模式语言体系,并尽可能的转化为“设计模式”,一旦获得订单,就按照用户的实际管理需要,利用现成的模式语言进行系统设计(亚历山大制定的一套利用模式语言进行建筑设计的规则可以借鉴)。
印度Wipro公司的“积木式管理”体现了“模式语言管理”的内在精神。他们的做法是累积很多自己的IP(IntellectualProperty,知识产权)模组,用户需要什么功能,就把相关的IP模组代码调出来,帮用户组装、测试,然后出货。要研发新软件,不需要每次都从头再来。一个个IP就像是一块块积木一样,可以拆开,可以重组,当IP模组累积越来越多,可以重组的空间就越大。这是因为在现在的软件技术中,代码已经可以像积木一样地分开,再重组。“就像盖房子,同样用的是砖,却可以有不一样的设计。”接到用户订做软件的订单后,研发人员只需要把心力花在系统设计上,关键的系统组件,都早已准备妥当。
当然,Wipro的“积木”、“模组”不能完全等同于“模式”,“模式”也不能等同于“模块”,“模式”应该比“模块”有更多的可塑性,更强的适应性,相对于模块的刚性来说,模式更有“韧”性(模块、标准等等,可以看作是模式的特例,或者说是固化程度最大的模式)。正确理解这一点,还需要阅读亚历山大的原著,因为这本来就是他的概念。
尽管“积木式管理”不能等同于“模式语言管理”,但Wipro公司的经验足以证明,软件商通过“模式语言管理”能够实现“延迟制造”,在产品标准化与制造柔性化之间取得平衡,不仅生产产品的成本低、质量高(管理软件厂商也就不用怀念工业化早期的T型汽车流水线了——国内某知名管理软件商将T型车作为自己的榜样),而且可以根据单个客户的特殊要求进行定制。这样一来,曾经使用过的模式,还能够成为可以不断重复利用的宝贵资源。这种做法会形成大者恒大的局面,早进入某个管理领域的软件商,能累积越来越多重要的模式,新的竞争者不掌握这些模式,就很难在这个领域与之竞争。
2.可以实现管理软件的“快速重构”。
除了本文开头强调的变化因素之外,目前多数中国企业,特别是中小企业正处于高速成长期,也就是林建安先生讲的“转型期”,如同一个正在长身高的少年,每年都会淘汰一批旧衣服。普元软件公司董事长兼CEO刘亚东认为,“高速增长的中国经济,使……企业级应用需求不断变迁。大到新政策的发布、组织间的兼并与收购、新业务模型的涌现,小到企业内部的业务流程重组、组织结构的调整、新创意的产生,这些来自市场、技术、管理等环境的不断变化,就……成为当前中国企业管理不得不面对的鲜明现实。”企业经营管理活动的不断变迁使得企业管理软件系统也面临着与“少年的衣服”同样的难题。对于固化的套装软件来说,所谓“升级”不过软件厂商的一种“忽悠”用语罢了,用户就算真的打算进行“二次开发”,软件厂商也不会向用户开放源代码,继续请厂商进行开发,其费用不比重新上一套新系统少。多数情况下,用户只能采取两种应对措施:一是凑合着穿这身不太合身的“衣服”;二是将不合身的“衣服”扔掉。
在平台软件成熟之后,这种状况从技术的角度看是能够改变。在平台软件的支持下,虽然不能做到像平台软件厂商所宣传的那样完全“技术无关”,至少改造一个系统不需要重新写代码了(也就不存在软件厂商是否开放源代码的问题了)。平台软件给我们带来了管理软件“快速重构”的可能性,但仅仅是一个必要条件,不是充分条件。笔者在《中国计算机用户》杂志2005年第38期上谈过《仅有平台是不够的》,认为在平台软件成熟和普及之后,管理软件开发商的一个重要商机,就是为用户在平台软件之上提供更多的应用支持,并为软件商提出了一个“管理支持产业”的全新定位——就是以日益完善的“平台软件”为底层技术支持,在其上有众多应用软件商开发的通用型(并且可以方便的修改)的应用软件可供选择。在根据自己的特殊需求进行自主开发的时候,有专门的“教练”提供方法性指导,还有人提供大量的模式化的“半成品组件”供系统开发者借鉴、套用。在这个初步思路的基础上我们可以继续设想,如果管理软件开发商在某个管理领域拥有丰富的管理模式语言库,在平台软件支持下,任何用户的需求变迁都能够像“延迟制造”所讲的情景一样,可以帮助用户“快速重构”其管理软件系统,使用户的管理软件系统永远都是一件合身的“衣服”。当然,对用户提供全面的“深度支持”不可能依靠一家软件商来完成,应该是众多的积累了各个管理领域的管理模式语言的软件商协同提供支持。刘东亚先生所讲的另一些话也许还能有所启发:“面对普遍的快速变化的企业环境以及低水平的应用现实,企业组织需要更多更小的‘积木’来实现业务功能。‘积木式’的企业管理软件新模式通过将注意力放在一个个真正表达企业业务的‘功能点’上,并形成一个个相互独立,又具有一定完备性的软件‘积木库’上,将最终实现完整的、强壮的企业级商业功能,驱动企业管理目标的实现。”笔者认为,我们所说的“模式语言管理”与刘东亚所说的“积木式企业管理软件”在概念上虽然有微妙的差别,但在基本思路上应该是比较一致的。像“搭积木”一样“快速重构”管理软件系统,应该是许多人的梦想。
3.可以使管理软件具有“经验积累”能力。
我们一直认为,管理软件,或者说管理信息系统,应该是能够自适应、自学习、自成长的,通过一定的管理机制,可以将经营管理活动中的成功经验不断在系统中积累,成为集体智慧的承载。这样的系统将会随着应用而不断发展、变化,并且永远是用户“自己的”系统,是拆不开、买不来、偷不去、带不走的核心能力所在。其实,这背后是对管理持“理性主义”的态度还是持“经验主义”的态度的问题。而多数管理学和管理实践,都是建立在对人的理性假设之上的,甚至是过于狭窄的建立在经济学流行语言与思想之上的。经济学家把理性限定为一个简洁的设定:人们试图最优化。这个简洁的“最优化”原则的好处是便于用数学模型来表述,但同时也是它的根本缺点:太精确。事实上,我们只是在信息和理解的局限之内,在可行的选择制约下,在喜好和趣味的引导下,试图作出理性的选择。也就是说,依靠管理者个人有限的理性,是不可能驾驭企业组织这个复杂系统的各种力场,实现力的和谐的。它太微妙、太复杂了。被称为管理学之父的德鲁克的一本早期著作名为《管理实践》,认为管理是一种实践,而不是理论。“理性主义”、“科学主义”在管理中不是处处适用的,“经验主义”、“历史主义”在管理学中应该有自己的地位。
经验的积累是一个漫长的过程,必须从一点一滴做起。任何一次性的“总体规划”都只能规划一个粗略的框架,不可能在每一个细节上都能够实现“力场和谐”,或者说具有亚历山大所说的“无名特质”。其实,按照亚历山大的观点,这种规划本身就是不合理的,是需要抛弃的。
“模式”作为一种记载并传达经验的简明工具,可以把问题适度抽象化,在忽略掉不重要的细节后,发现问题的一般性本质,并找到普遍适用的解决方案。换言之,人们在不断发现问题和寻找解决方案时,发现有一些问题及其解决方案不断变换面孔重复出现,在这些不同的面孔后面是共同的本质——这些共同的本质就是模式。在企业管理过程中,每一个管理者都不仅仅依靠自己有限的理性进行管理,而必须依靠模式的积累。正因为依靠任何个人的理性都没有足够的能力通过总体设计来实现企业这个复杂系统所有力的和谐,但可以通过对一个一个模式的力场分析、现场测试、经验总结等等管理过程,在人的理性可以把握的限度内,使得每个模式中的各种关系、机制、结构、规则都实现力的和谐,让每一个模式都充分允许所有内力自行解决,使每一个模式都成为“活”的模式,然后再参照这种“活”的模式进行组织设计、制度设计,在这些“活”的模式支持下,逐步“生成”整体的有机秩序。通过模式这扇门,我们就不必要求管理者都像经济学家所假设的那样具有完全的理性能力。企业中的每一个人,几乎都在依靠自己的感受、认知、设想、试验、总结创造并建立一些适应“力场”要求的模式。大量的能够实现力的和谐的模式组成可以共享的模式库,在人们进行管理决策、工作决策、问题解决时则可以得到这些“老朋友”的有效帮助。这样,企业就不再仅仅依靠几个精英人才进行管理,而是将每个成员的智慧凝聚成一个有机整体(智慧圈),使企业成为一个大写的人(有机体),而且,这个由个体成员的智慧组织而成的更高层次的“智慧圈”比其中的任何一个人拥有更多的智慧。
一个模式一个模式的进行改进,是模式语言管理的基本方法之一。那么,一个具有“经验积累”能力的管理软件系统也应该是分布式的,是排斥大一统格局的。在这样一个分布式的、简洁的、系统使用者可以把握的分布式小系统中(往往一个分布式小系统代表着一个较大的模式,其中还包含着许多小的模式),每一天的新经验、新方法,可以不断的转化为模式,不断地更新到系统中去,成为组织共享的“潜智”(这种更新需要一定的激励机制和约束机制配合才能实现)。我们相信,在平台软件的技术支持下,这种“经验积累”的梦想是可以实现的。实际上,管理软件系统的这种“经验积累”功能非常重要,是一个企业能力不断生长、不断适应环境变化的基础。在整个企业界都在梦想建立学习型组织的今天,管理软件却在制约组织的学习,是不可思议的事情。
从“管理支持产业”的角度来重新定位应用型管理软件厂商,那么它们的最重要的功能就是“模式语言共享”。软件厂商有自己的优势,他们在每个领域中为不同的企业服务,可以接触到企业需要面对的更多的问题。Wipro做法是,遇到新的状况,项目执行人把自己的经验做成新的IP,同时投入人力进行研发,不断丰富“脑力资本”。但是,作为“管理支持产业”定位的软件厂商,不是像Wipro那样“只有资深经理能够接触到这些IP”,而是在自己的用户中实行“模式语言共享”。
亚历山大的贡献,还不仅是告诉我们模式的作用,更重要的是他告诉我们,模式不仅仅是可以重复使用的“解决方案”,由模式库组成的系统还能形成一种“语言”。这种“模式语言”就像普通语言一样,可以创造出变化无穷的词汇组合,并且形成相互联系的网。一个模式语言系统通过模式库限定了组合方式,可以产生有条理的管理企业各种活动的能力。每一个模式是一个可以有无数特殊形式的关系场。许多小的模式协同产生更大的模式。这样,一个企业组织的模式库就如同一个物种的基因库一样,无形的控制着组织的活动方式和秩序形态。这里需要辨析的是“模式”与“模式语言”的区别。
如果某软件厂商在某一个管理领域里建立起一个共享模式语言库,也就是永久性的建立了与用户的伙伴关系。事实上,在一个管理领域中拥有一个模式语言库并能够成功的与用户共享(不要象Wipro那样仅作为内部高层才能共享的私有财产,“语言”不能共享,就会失去生命力),就是掌握了“领导”用户的一把钥匙。一个群体中所有的人共享一个共同的模式语言,并且其中每一个人做每一件事时都使用这个共同模式语言,每个人都知道相同的模式,因而相同的模式以无穷的变化的形式保持重复、重复、再重复,这样,这个群体的每一个部分就都由模式语言的某一部分支配。在这个共同的模式语言支配下,获得了灵活性与原则性的统一,变革与稳定的统一,长期与短期的统一,集中与分散的统一。实际上就形成了一个“知识教派”,并且,“教派”中的每一个成员用户都会对模式语言库的丰富、完善、进化作出贡献。这样的软件厂商也就进入了“管理支持产业”的全新境界了。这就是作者所体验到的“模式语言的力量”。
我们设想了这么多,都是把希望寄托在软件商身上的,但举目四望,在中国软件商中,果真能找出这样“有出息”的吗?做到这一点,可是需要彻底抛弃交易逻辑,改用支持逻辑来思考问题,这里面不能有营销花招,不分“你—我”关系,从而建立了一个“依存系统”,通过共同的努力使这种“依存系统”充满活力。软件商有可能做到吗?如果软件商一个个都狭隘到不愿意提供这种支持呢?我们设想,通过用户企业的联盟,也能做到这一点,也许会做得更好!