软件项目一直很难管理,直至今天,仍然只有为数不多的软件团队能够按照承诺的进度和接近计划的成本一致地交付高品质的产品。现代企业需要面对的两个关键挑战:管理增长的规模和管理知识工作。
知识工作需要新的管理策略和风格,这一事实从软件行业的历史来看是很明显的。软件项目一直很难管理,直至今天,仍然只有为数不多的软件团队,能够按照承诺的进度和接近计划的成本一致地交付高品质的产品。软件开发是涉及大规模知识管理的第一种技术,虽然软件工作一直是一个管理问题,但是过去它只涉及大多数公司的一小部分。现代企业需要面对的两个关键挑战:管理增长的规模和管理知识工作。
为什么组织需要硬性规定
随着组织机构的成长,它们必须建立一些硬性规定来帮助运营业务。这些硬性规定通常有着层次化的结构,根据制定好的规则和过程进行运作。虽然硬性规定常常被视为麻烦的、有害的,但除了最小的公司之外,它们都有存在的必要。然而,必须正确地构建和管理,否则将产生延迟和低效。原因在于,就像人体的疤痕组织一样,硬性规定提供了保护,但同时也限制了速度和灵活性。
硬性规定的基本目的是要自动处理业务的运营细节。在正确运行时,它们可以节约高级经理的时间,使他们专注于业务的核心部分。例如,硬性规定可以例行处理一些任务,如运营自助餐厅,保持场地的干净和舒适,处理工资单、账单和开销,管理其他的业务日常细节等。在这些领域的硬性规定管理风格很少对业务的核心领域产生影响。但是,硬性规定在涉及更关键的活动时,可能会带来麻烦。下面的例子说明了这种事情是如何发生的。
软件危机
公司的软件工作一直以来就是麻烦,但现在它太大,与业务的关系太深,因此无法忽略。软件部门一直延迟交付程序,公司的许多产品因为软件问题而落后于进度计划。这个部门麻烦深重,所以副总裁炒掉了软件部主任,要布兰登取而代之。他的任务是让软件工作摆脱失控状态。
布兰登视察了最大的3个开发团队,发现没有人有好的计划或进度表。虽然每个人都在努力工作,但工作混乱而失控。布兰登决定取消所有原有的进度计划,并要求每个软件团队制作一份详细的工作计划。他将复查并批准这些计划,并亲自做出所有将来的承诺。在副总裁批准了这个恢复计划之后,布兰登向他的经理发出了一道指示,告诉他们为所有的项目制定详细的计划,并在60天内和他一起复查。在他拒绝了前几份计划之后,他的手下知道了需要的是什么,也知道了如何让计划大幅改进。然后布兰登基于复查并批准的计划,发布了一组新的承诺,开发团队开始按进度计划交付产品了。
只要布兰登能够复查所有建议的承诺并亲自检查支持计划的品质,他的复查系统就工作得相当不错。但是,随着组织机构的成长,复查需要太多的时间,所以他发起了一个员工复查系统。目标是关注他在计划中发现的最常见的问题:那些常常忽略掉的活动。例如,项目的一些成本可能没有包含在预算之内,关键的需求可能被忽略,测试、维护和现场支持可能遗漏。
针对这个问题,他先让所有关键部门的代表来复查每份计划,然后再把计划送给他。这种方法有效,他不再必须亲自从头到尾复查每一份计划。但大约过了一年,市场和支持团队意识到,他们拥有了以前从未有过的影响力。他们开始拒绝批准,直到他们的特殊需求得到满足。市场部门在一些讨好用户的需求上讨价还价,服务部门抗议延迟缺陷修复的数目,测试部门则力争他们需要的资源。在这些问题变得严重之前,布兰登已经得到了晋升,复查系统变成了正常业务中的障碍。新的主任没有意识到问题和导致问题的原因,所以他从没想过放弃或改变该复查系统。
虽然布兰登的复查系统的最初目的值得称赞,但它已变成一个硬性规定,像许多这样的过程一样,它很快就被误用了。硬性规定者常常在他们狭窄的权力范围内拥有相当的权力,但他们的要求可能非常过分,甚至不合理。根本问题就在于,布兰登使用了一个硬性规定,作为强迫他的手下正确完成工作的机制。
让知识员工遵守确定的过程,这是一种代价高昂而又常常低效的方式。虽然这通常有效,但也让那些经常视野狭窄的员工拥有更多权力,凌驾于知识员工之上。这导致了延迟,限制了工程师创新的能力,让他们几乎不能很快地完成任何事情。同时,人们很快忘记了为什么当初要建立硬性规定,于是它就变成了低效率的仪式。也许最糟糕的结果就是,这样的硬性规定告诉知识员工,管理层不相信他们可以正确地完成他们的工作。虽然确保知识员工正确地完成工作是非常重要的,但硬性规定是一种代价高昂的手段。下面的例子展示了一个小而快速成长的公司如何应对它的成长问题。
Quarksoft的故事
当奎塔 (Cesar Montes de Oca Vazquez)和瑞卡多(Ricardo Vidrio Delgadilllo)在墨西哥的蒙特雷科技(Tecnológico de Monterrey)大学开始他们的工程师生涯,做了约6年的软件工程师时,他们决定去美国的卡内基·梅隆大学大学(CMU)攻读软件工程硕士学位。在CMU,他们使用了SEI最新的软件工程方法TSP来完成他们的课程项目,并开始相信使用一个确定的、得到测量的知识工作过程是更好的软件开发方法,强过他们在墨西哥看到过的任何方法。
在从CMU毕业后,他们意识到他们拥有了独特的技能,可以帮助他们组建一家公司。通过利用TSP在墨西哥建立第一家软件公司,他们相信他们可以比其他公司做得更好,能够非常成功。在2000年,他们开始成为软件咨询师,然后在2001年5月,他们组建了Quarksoft。虽然当时他们还没有客户,但他们从11个员工开始,这些员工接受了TSP方法的培训。他们直到9月才找到第一个客户,但他们一起维持着这家公司,并让它缓慢成长。到了2004年,他们有了50名工程师,到了2006年,工程师人数达到了70。然后他们赢得了一些大合同,到了2009年年末,他们有了315名员工。
因为他们的员工使用的软件方法要求工程师在工作中收集并使用数据,所以该公司就能够建立一个精确、有效的管理系统。他们也让工程师团队自己制订自己的计划,以满足管理层的项目要求。在管理层复查并批准了团队的计划之后,工程师就有责任管理他们的承诺,有责任向管理层报告项目的状态,并在需要帮助处理风险或问题时找到管理层。
开发人员对他们自己的工作感到负有责任,行为就像他们是管理团队的一部分。因为他们制订自己的计划并确定自己的过程,所以他们有动力去遵守这些计划和过程。他们也很快学会了利用过程数据来评估他们的工作,测量项目的状态,并决定如何最好地实现业务目标和技术目标。为了帮助团队完成他们的工作,管理层建立了一个现场指导系统,指导项目启动和团队运作。结果是团队确实遵守了他们确定的过程和计划,所以几乎不需要一个硬性规定系统来强制实现标准的公司过程。
这种管理风格带来了一致的非凡团队表现,也为公司带来了快速增长的业务量。公司还获得了两个重要的墨西哥行业大奖。在2008年,Dell和American Express都将Quarksoft评为该国最具创新的公司。在2009年,《CNN Expansion》杂志将它评为墨西哥十大最具创新公司之一。
Quarksoft的管理系统
根据软件行业中大多数公司在成本和进度方面的糟糕表现来判断,软件工程是一门很难掌握的技术。然而,即便在这个复杂的领域,奎塔和瑞卡多也建立了一个盈利的公司,向客户提供高品质的产品和服务。这种非凡表现的首要原因就是奎塔和瑞卡多采用的公司管理风格。这种工作方式带来的业务上的好处可以从4个方面来描述:精确的数据、训练有素的团队、承诺负责制和品质。
精确的数据
要遵守TSP方法,工程团队和所有团队成员就要收集精确的数据,包括花的时间,生产的产品规模,以及引入和消除的缺陷。让工程师完整而准确地收集他们的工作数据是较大的挑战。即使拥有像他们一样的经验,Quarksoft的经理仍然称之为关键领域,需要不断注意和强调。但是,有了来自TSP团队的详细状态报告,经理就能够精确地、反应迅速地管理业务。工程师收集的数据涵盖他们所有的项目工作,他们每天都收集这些数据。有了这些精确的状态信息,团队就能够每周准确地报告成本和进度计划的进展。管理层于是就能够随时知道工作的进度,并能够立即响应项目的问题,或在需要变化时快速调整业务计划。
训练有素的团队
大多数执行官和高级经理都会同意团队很重要,但他们一般相信他们的手下已经在执行很好的团队协作实践。然而,Quarksoft遵循一个确定的过程来建立团队,指导并培训团队遵守他们的详细计划和运作过程。具体TSP过程是如何做的将在后续章节中介绍,其目标就是建立一个团结一致的项目团队,理解工作所处的业务背景,在工作方式上训练有素。这确保了所有工程师都理解他们的工作任务的原因,并感觉到有责任遵守他们确定的过程和计划。这也给他们授权,让他们成为创业者,像管理团队的成员一样做事。当他们对改进业务有想法,或者看到需要改变或修复的事情时,他们就可以自行改变,或将问题提交到相应的管理层。
通过鼓励团队参与和自管理,Quardsoft利用了员工的创造性。这让他们能够进行快速、创新的改进,并帮助他们培养未来的经理和领导者。这也在很大程度上消除了硬性规定的需要,而许多其他组织机构需要通过硬性规定来强制开发团队遵守业务纪律。然而,Quardsoft的管理层确实建立了一个硬性规定,用于检查过程数据的收集、管理和使用。就像财务数据一样,他们发现对于运营一个企业来说,及时、完整和精确的过程数据是很重要的,对于管理和改进盈利能力也很重要。
承诺负责制
也许Quardsoft的管理系统中最重要的元素就是它处理承诺的方式。在开始每一个项目时,执行官或经理负责项目的启动,与市场或客户代表一起,向工程团队解释公司在这项工作上的目标,以及客户为什么想要它。工程团队然后花几天时间制订一份工作计划,并向同一个管理小组介绍其计划。在这个决定性的启动会议上,工程团队请求批准计划,或针对任何需要更改的地方进行协商。
这个承诺过程称为TSP启动(TSP launch),它引导受过适当培训的团队制订完整而实际的计划。然后,有了合理的精确计划和全心投入的团队,成员们就有动力去做任何事情,以实现承诺。虽然所有的开发项目都会遇到让人吃惊的情况和问题,但如果这些问题能够立即意识到并加以关注,它们通常就能很快解决。因此,Quarksoft的TSP团队很少不能兑现他们的交付承诺。
因为Quarksoft的大部分业务都是固定费用的合同,所以让团队制订他们自己的计划似乎有些冒险。但是,根据大量历史项目表现的数据,管理层就有了一个良好的基础,来制订和管理对客户的承诺。像在许多其他行业一样,他们意识到与客户进行合同谈判时,主要考虑是竞争和业务价值。虽然工程成本很重要,但它应该主要用于估计项目的盈利能力和风险水平。当管理层决定了最佳价格和交付日期后,团队的挑战就是确保管理层为他们提供足够的资源,以满足进度计划的需要,同时让所有团队成员为共同利益而努力。
品质
Quarksoft管理层将工程品质放在了第一位。他们这样做是因为,他们发现最高品质的项目通常是利润最高的。由于保证了工作品质,返工成本在开发成本中降到了最小。但对于知识工作来说,一致的高品质工作只能通过受过适当培训并且积极主动的人来实现。Quarksoft的管理层也发现,要一致地实现他们的进度计划承诺,他们必须在项目需要时提供有适当技能的、受过培训的人力资源。而且,由于所有TSP团队使用共同的过程,收集并使用相同的过程测量指标,因此,团队成员在项目间调动也相对容易一些。
因为员工的主动性、技能和培训是控制公司利润的主要因素,所以Quarksoft的管理层投入了大量的时间和精力,激励、招募、培训和培养员工。为了管理这些领域并确保每个项目都有技能和能力合适的骨干,他们让研发副总裁负责招聘、培训和人员培养。培训与个人培养计划也是每个经理的重要职责之一。
Quarksoft的执行官团队
当奎塔和瑞卡多创建Quarksoft时,奎塔的兄弟卡洛斯(Carlos Montes de Oca Vazquez)接受了TSP培训,并加入一所大学,担任计算机科学教授。几年之后,Quarksoft有了相当的发展,所以奎塔和瑞卡多邀请卡洛斯加入公司,担任研发副总裁。于是他们组成了公司管理团队,包括首席执行官奎塔、首席运营官瑞卡多与研发副总裁卡洛斯。
因为他们都接受过TSP培训,所以他们决定按照知识工作团队的方式来管理公司办公室,每一个半月至两个月就复查并重新启动他们的管理计划。在这些重启计划的过程中,他们复查长期目标,并更新下一个计划周期的公司总体计划。他们也为下一计划周期制订详细的计划和目标,并指派执行官团队成员负责2~3个目标。在每周的状态会议上,他们复查目标的状态,对照计划来追踪表现,关注任何需要注意的问题。
因为他们在公司运营的所有方面都有精确的数据,所以Quardsoft的执行官团队尝试了多种方式来追踪、控制和指导业务。他们做事的方式反映在最近的财务管理、研发改进,以及人员评价和激励上。
财务管理
有了团队级的计划和报告,Quarksoft的执行官团队决定追踪每个工程项目的每月利润贡献。于是他们开发了EBITA。EBITA是一个广泛使用的公司指标,即税息及摊销前利润(Earnings Before Interest, Taxes, and Amortization)。 测量指标,来展示每个项目对公司利润的贡献。他们首先通过对照计划比较项目的进度和人工状况,以确定如何计算项目对EBITA的贡献,然后确定其他相关的直接或间接的开支,得到项目级的盈利能力全图。
通过每月追踪项目的EBITA,他们能够断定何时某些项目不如另一些项目盈利,也能知道原因。他们还发现,项目级的EBITA每月的变动范围在5%之内。虽然这样的精度水平比传统的按季度测量要好很多,但一个月间隔的EBITA报告不能够让他们及时地确定问题并避免问题。在许多项目中,晚一个月发现问题可能会导致巨大的额外开支。
他们当前的目标是改进项目级的EBITA追踪,变成一周一次。为了做到这一点,他们计划从团队每周的挣值(EarnedValue,EV)挣值(EV)是针对计划测量项目状态的一种标准方式。根据每个任务占全部计划项目工作的比例,每个任务都有一个值,当这个任务完全完成时,这个值就挣到了。这不适用于部分完成的任务。挣值是一个标准的TSP团队测量指标。 状态报告中导出项目的EBITA,并进行追踪。这是可能的,因为TSP团队使用每天的EV测量指标来管理他们自己的工作。他们每周向管理层报告EV的状态。这为执行官团队提供了数据,可以导出每周的EBITA项目指标,而且也指导团队快速地确定很小的当日进度延迟(这种延迟在开发项目中是很常见的),并进行恢复。有了这种级别的精确性,管理团队希望能够及时识别项目的EBITA问题并采取措施。
研发改进
在研发领域,卡洛斯首先考虑的是确保开发团队使用最新、最好的技术实践。这也是为什么他负责招聘、培训和个人培养的原因之一。他还有一个目标是让每个团队运作在CMMI第5级,即最高的CMMI级别。虽然TSP让Quarksoft实现了很高水平的项目表现,但TSP是对CMMI的团队级补充,而不是替代品。因此,CMMI包含了一些额外而有用的、组织机构级的过程改进活动。
卡洛斯的目标是填平这一缺口。他计划采用CMMI第5级的持续改进实践,帮助公司持续改进产品品质和项目可预测性。卡洛斯计划采用TSP的测量指标来记录缺陷的引入和去除、项目的开支表现,以及组件品质档案,目的是建立并监控团队级的改进目标。
人员评价和激励
在人员评价和激励方面,Quarksoft采用360度人员评价工具。在这种方式下,每个雇员接受他的平级同事、客户、下级和老板的评分。公司也有一个奖金系统,每个人从中获得一份资金,作为年薪的一部分。奖金是根据当前公司和项目的盈利能力来确定的。例如,每个团队都有一个利润目标,如果团队实现了这个目标,部分额外的利润就会作为奖金发给团队。将来,公司还会建立与团队的EBITA表现的联系,这样团队成员就会看到他们个人的表现如何影响公司的盈利能力和工作,从而让个人和团队的EBITA表现最大化。
管理硬性规定
随着组织机构的成长和成熟,与较小的、不成熟的竞争者相比,他们拥有许多优势。较大的组织机构有资源探索新的机会,也有更多的人员和更多的潜在创新思想。这些组织机构有更大的客户群体,也建立了一定的声誉,有些公司甚至在传统市场上具有压倒性优势。在所有这些优势下,人们可能认为这些较大的公司的表现总是会胜过较小的竞争者。然而历史表明,总的来说,较小公司的表现总是胜过较大的竞争对手,不论是在创造新的工作岗位方面,还是在开发创新产品方面。
虽然大公司低效率的潜在原因有很多,但管理硬性规定几乎肯定是其中最重要的一个原因。硬性规定的例行部分通常应该用传统的方式进行管理,如360度评分系统,或其他优先考虑用户服务和客户满意度的方式。然而,硬性规定涉及核心业务活动的方面应该被视为疤痕组织,其目的是为了防止以前的问题再次发生。就像布兰登的复查系统,这样的硬性规定可能在短期内是必需的,但只要可行,就应该用某种较轻的机制来代替。这样的过程强迫存在的时间越长,就越可能被误用,越会限制组织机构的速度和灵活性。
小结与结论
本文讨论了管理成长中的组织机构。这里一共提出的7个关键观点:
1)随着组织机构的成长,它们必须建立硬性规定来帮助业务运营。
2)运营例行工作的硬性规定很少有问题,如自助餐厅、工资表,或场所维护等工作。
3)然而,如果硬性规定用于强制实现核心业务的标准过程,可能带来麻烦。
4)如果硬性规定用于防止过去灾难的重演,它们可以像人体的疤痕组织一样,降低速度并限制灵活性。
5)硬性规定的使用也表明,管理层不相信他们的知识员工能够正确地完成工作。
6)虽然有时候可能需要这样的硬性规定来解决一个重要问题,但应该很快用更合适的方式来取代它们,达到同样的效果。
7)本书介绍的TSP方法提供了数据,管理层利用这些数据可以有效地管理成长中的组织机构。
|