你必须按预定的时间、可接受的品质以及可能的最低成本,依据顾客的需求制造及运送产品。
如果你想了解生产管理这件事,请你先假设自己像我读大学时那样在一个餐厅当服务生,你的主要职责是准备一份包括煮了3分钟的鸡蛋、奶油面包以及咖啡的早餐。当你将早餐送上顾客的餐桌时,每样东西都应该是热气腾腾刚出炉的。
以上的准备过程就已涵盖了生产的基本要素。你必须按预定的时间、可接受的品质以及可能的最低成本,依据顾客的需求制造及运送产品。生产流程如果以“应对顾客突发的各种需求”来设计,通常会造成闲置产能或是存货成本提高等弊病。用早餐店做例子,顾客可能希望一坐下来,便能吃到熟度适中的煮鸡蛋、香酥可口的奶油面包以及热气腾腾的咖啡。要满足他的期望,你要么将厨房闲置着等他大驾光临,要么一直备有这套早餐的存货,但这两种做法都不实际。
制造商应该了解生产所需的时间并定下出货的目标时间。早餐店应大概在顾客进门后5到10分钟送出早餐,并以具竞争性的生产成本生产,才能获取应有的利润。就让我们先检视一下早餐店的生产流程。
首先,我们必须找出决定整个生产流程的“限制步骤”(limiting step)。早餐组合中哪一项准备起来最耗时?答案无疑是煮蛋。因为咖啡已经煮好在壶里,而烤面包只要花一分钟左右,所以我们应该以需时最长的煮蛋为限制步骤。煮蛋其实不仅需时最长,对大部分顾客而言,它也是早餐组合中最重要的一项。
接着我们要反推流程(见图1-1)——也就是用最后完成的时间向前推算,先弄清楚煮蛋、煮咖啡及烤面包分别需要的时间,以便于它们同时完成。首先,计算将这三项产品摆在餐盘里所需的时间,然后计算从烤面包机中拿出面包、从壶中倒出咖啡以及从锅中捞出蛋来的时间。将以上所需时间的总和,加上拿蛋和煮蛋的时间,便是整个流程需要的时间。这在生产管理上称为总产出时间。
图1-1 煮蛋是限制步骤
现在来看面包这一项,以煮蛋所需的时间为基准,你必须在这段时间放好面包及烤好面包;最后,以烤面包的时间为基准来决定何时倒咖啡。在此,最重要的是以需时最长(或最困难、最敏感、最昂贵)的项目为建立生产流程的基础,再以此考虑其他项目。
拟订流程计划应围绕着最关键的步骤,在早餐店的例子中就是煮蛋的时间,然后再考虑其他各项的产出时间,将其交错安排进生产流程里。用生产管理的术语来说,这些步骤“时间互偿”。
限制步骤的概念可被广泛运用。以英特尔招募大学应届毕业生为例,英特尔的经理到校园招聘,面试一些即将毕业的学生,然后邀请其中较具潜力的应征者到公司参观。
英特尔负责这些学生的餐旅费。在参观公司时,这些学生将接受另一批经理人及技术人员的面试。经过不断的测评,我们会录用那些技能与英特尔需求最相符的学生,接受职位的人便可以开始上班。
应用前述的生产基本原则,你必须围绕最昂贵的项目设计流程。在此,学生的餐旅费成本最高,所以我们让部分经理直接到校园招聘以大幅降低此成本。而为降低招聘每一职位所需的成本,我们还必须提高受邀参观公司的学生最后决定来就职的比例。若能以电话面试的方式在邀请之前先过滤一遍,不但省钱,还会提高受邀者的就职率,并减少对应征者使用昂贵的限制步骤(请他们来公司参观)的需要。
我们也运用时间互偿的准则。招聘者以学生毕业的时间向前推算,设定各种必需的步骤及其所需时间,这些步骤包括校园招聘、电话面试及参观公司等,这都必须在学生毕业前几个月妥善安排。
准备早餐的过程其实还暗藏不少玄机,其中便包含了三项基本的生产步骤:
1. 制造: 这种生产活动通常有物理或化学变化。煮蛋便是物理变化的一种。
2. 组装: 将零件拼装组合在一起产生新个体。就像我们把鸡蛋、面包和咖啡组成一份早餐一样。
3. 测试: 对零件及最终产品作检查。我们可以以目测来鉴定咖啡是不是煮好了,面包有没有烤焦。
制造、组装及测试可以灵活运用在其他不同的生产活动中。以训练业务人员销售新产品的任务为例,我们便能清楚划分出这三个要素。
1. 制造: 营销和研发人员将一大堆产品资料转化为业务人员理解的销售策略,这个将资料转化成策略的过程便是制造。
2. 组装: 将各种销售策略组合成完美的销售计划。在新产品上市的会议上,营销人员将最合适的策略和必要的市场资料(如竞争商品的价格和存货状况)结合产品说明、宣传册及活动挂图向业务人员报告。
3. 测试: 在真正上市之前应先有一场虚拟的上市发布会。在此会议上,被挑选出来的业务代表要对策略及销售工具等做出反馈。如果反馈不佳,亦即测试结果不良,整个策略就必须修改或重新制定,以符合原定的营销及销售目标。
计算机编译器的发展也同样牵涉到制造流程、组装、测试这三项要素。计算机听不懂人话,想让它运作只有使用程序语言。编译器就像一个翻译人员,它能将人的语言转换为计算机的语言。有了编译器,程序设计师就可以用人的思维来思考,而不必满脑子都是乱码或“0和1”。显而易见,这项转换工作非常复杂,因此,编译器开发的重任便落在天赋异禀的软件工程师身上。也正是因为他们的努力,人们才能如此轻松地学会使用计算机。
整个编译器的开发中便包含了一连串的制造流程。软件中每一部分的运转都是根据一定的规格设计的,而每一部分也都必须经过单元测试,无法通过测试的部分便必须重做。当所有的部分都及格了,这些个体就被组装成一个编译器,并且在送到客户手上之前进行系统测试。时间互偿的概念在这整件事中将被广泛运用。因为各步骤产出所需的时间事先都已经设定,所以步骤与步骤之间如何做最好的衔接也可以通过计算机来设计。
表面上看,准备早餐、招募新人、业务人员训练,甚至编译器的设计这几件事简直毫不相关,但本质上它们都有着相同的基本生产流程。
现实生活中总是布满荆棘。我刚刚设计的早餐店是在产能不受限制的前提下做的假设——厨师从来不用等锅煮蛋或是等面包机烤面包。而这在现实生活中根本是不可能的事。
如果你在排队等着用烤面包机,该怎么办?如果你不把排队等候这件事纳入你的生产流程来考虑,你3分钟煮的鸡蛋可能就要变成煮了6分钟的铁蛋!
所以,如果你的烤面包机数量有限,你就必须把这一步骤当成限制步骤,重新设计流程。煮鸡蛋的品质仍然决定顾客对早餐的喜恶,但时间互偿的部分必须重新调整。
我们该如何调整这个模块中的制造流程?从早餐上桌的那一个时点倒过来推,我们会比较清楚哪些步骤会受到影响。
请看图1-2,有关蛋和咖啡的部分仍然维持不变,但烤面包机的数量有限会造成相当大的变化。现在你必须考虑拿面包、烤面包和等烤面包机的时间,这表示整个生产流程要有所改变。烤面包的部分成为限制步骤,整个流程的重新设计都必须以此为中心。
再把事情复杂化一点。万一你在该煮蛋时碰巧被卡在等烤面包机的长龙中,你该如何是好?乍看之下似乎没有办法,其实不然。
图1-2 烤面包机产能有限,所以是限制步骤
如果你是这家餐厅的经理,你可以考虑让某些人专司一职。你可以让某个人专门烤面包、专门煮蛋或是专门倒咖啡,然后再找一个人来监工。当然,这笔人工支出可能太大,让你连想都不去想。
如果你是服务生,你可以请也在排队的同事帮忙,在你去放蛋时让他帮你放面包。但当事情必须寻求他人帮助时,结果通常很难预期。身为餐厅经理,你也可能再多买一台烤面包机,但这又会是一笔昂贵的支出。
或者你也可以持续不断地烤面包,这样一来虽然增加了面包的存货成本——有一些面包烤好但放久了就得丢掉,而热面包将可以随时供应。总归一句话,至少你知道天无绝人之路,总有一些办法可想。你可以增加设备产能、增加人手或是提高存货量,每个办法都各有利弊,但也都对整个烤面包的流程有帮助。
因为每一个方案都得花钱,你的责任就是找一个最具成本效益的方法来运用资源,这也是所有生产活动最佳化的关键。
虽然人们常说世上无绝对,但凡是能以最低成本达到理想的运送速度以及品质的,便是最佳方案。为了找出这个最佳方案,你必须了解各方案(诸如增加人手、增加产能以及提高存货量)的利弊得失。当然,不是要你拿着秒表去计算每个人等烤面包机的时间,或是用任何高等数学知识去计算存货和设备成本。重要的是你必须了解生产过程的每一个步骤及其互动关系。
现在我们要更进一步地把这个例子中的早餐店厨房换成一个大规模生产的大厂。首先,你添购了一台能固定且持续生产煮了3分钟的鸡蛋的机器(见图1-3)。我们已经假设顾客喜欢煮了3分钟的鸡蛋,而且有大量且可预期的需求。因为这台机器是设计好的自动设备,它将失去生产煮了4分钟的鸡蛋的弹性,而只生产煮了3分钟的鸡蛋。
图1-3 煮蛋机可以连续生产煮了3分钟的鸡蛋
其次,这部煮蛋机的生产速度应该配合烤面包机。我们现在已经将整个流程转化成连续性作业,但与此同时,我们也失去了灵活性,无法再针对个别客户的特殊需求做调整。所以,我们的顾客如果想享受这套新模块所带来的利益——较低的成本和稳定的品质,他们就得改变他们的期望。
然而,连续性作业并不能保证较低的成本和较好的品质。试想:如果煮蛋机的水温失控的话会发生什么——在失控期间所煮出的蛋将成为废品,而同一时间生产的烤面包也将因为没有蛋可以一起送上桌而成为废品。你该如何将这种风险降至最小?功能性测试会是个好方法。你要不时地敲开煮鸡蛋检查它们的品质,但这样你也必须丢掉检测过的蛋。
另一个方法称为“线上检视”,包括多种做法。举例来说,你可以找一根温度计经常性地检测水温。为了节省聘请专人读温度计的费用,你可以请人设计一个小机关,只要水温和设定的温度差了一两度就会铃声大作。这里的要点是:只要有可能,你都应该使用线上检视的方法,而避免必须要牺牲产品的测试方法。
这台煮蛋机可不是这样就可以一劳永逸了。在煮蛋之前,蛋可能已经臭了或裂了,或是它们可能过大或过小而影响了煮熟的速度。为了避免这样的问题,你必须验货。如果验货时发现不合格,你可以当场退货,但你也就没有原料可供制造。这样岂不要停工了?
且慢!这就是你要有原料存货的原因。存货的多少要视情况而定。原则上,你的存货应该至少能在供货商下次送货之前满足工厂的用料速度。在这个早餐店生产线的例子中,如果蛋商每天送一次货,你就必须要有足够一天使用的安全存货量。但记住一点:存货需要成本,你必须权衡累积一天存货量的利益和所需费用。
除了有形的费用之外,你还得考虑无形的风险。如果煮蛋机出现故障将会怎样?你会失掉多少顾客?要把这些顾客再招揽回来的成本又是多少?这些都是有关风险的问题。
所有的生产流程都有一个共同的特性,就是原料在流程中会变得越来越有价值。生蛋的价值不如煮熟的蛋,搭配好的早餐套餐比没搭配的价值高,而厨房里的那些“成品”,只有摆在顾客面前才能实现其价值。因为顾客走进这家餐厅就是要享用它们。
一个已完成的编译器的价值远胜于之前的“零组件”——语义分析、程序编写及运行时间等。而在招募新人的例子中,一个我们决定雇用的大学毕业生,其价值远超我们在校园招聘时面试的学生。
我们应该谨守“及早发现、及早解决”的准则,如此我们便能在生产流程中价值最低的阶段修正问题。
因此,我们应该在蛋商送蛋之前让他们把坏的蛋挑出来,而不是让我们的顾客在餐桌上发现它们。同理,如果我们能在校园招聘时就决定筛掉哪些人,就可以省下双方在接下来的面试中所花的时间和金钱。而在开发编译器的例子中,我们应该在单元测试时就找出问题,如果在“组装”好之后才发现有毛病,麻烦就大了。
我还想拿美国的司法审判系统举例,即使这样有可能让我戴上“冷血”的帽子。让我们把司法审判系统看成一个生产过程,而最后的目标是要找到犯人并绳之以法。
整个生产流程从有人到警察局报案开始。如果警方已掌握特定的线索,接下来便是更详细的调查,但经常案子到此便会因为缺乏证据或其他原因而僵在那里。如果案子再发展到下一阶段,警方找到了嫌犯,他们便得四处找人证、物证,立案并送至法院起诉,但起诉时通常也会因为证据不足而被驳回。
起诉若被受理,下一步便是审判。嫌犯可能被判有罪,也可能被判无罪。被判有罪的还得看刑期:有的可能被保释,有的可能还要继续上诉,到最后只有少数的人被送到监狱里。
如果我们对每一步骤进行到下一步骤的“成功率”做一个合理的假设,我们会被最后的结论吓一跳!假设我们把所有审判的费用加总,再分摊到那些最后真正被绳之以法的罪犯身上,我们将发现每件案子审判的成本高达百万美元以上——好一个让我们这群纳税人心里淌血的数字!这个数字之所以如此之高,主要是所有被指控的人之中,只有少数人会经过所有的司法程序而被关进监狱。
大家都知道现在美国的监狱已经人满为患,很多罪犯都因此而缩短刑期,甚至不用服刑而改服其他劳役。这严重地违反了生产流程中的基本概念,也因而造成了极大的浪费。非常明显的是,我们应该把“定罪”列为限制步骤。即使今日,在美国建造一间牢房的成本大约是八万美元,再加上养一个犯人的费用大约为一万到两万美元,相较于原先定罪所需的上百万美元成本,也只是沧海一粟。
我们花了上百万美元审判一个人,却因为少了一间只要八万美元的牢房而让这名犯人在社会上游荡,这真是大大滥用了我们在司法体系上的投资。而这也正是设错了限制步骤(即牢房的有无)造成的结果。