文朱春雷
进入知识经济时代,以知识作为生产力最主要来源的产业可称为知识型产业。软件产业是一个知识密集性的产业,企业中主要开发人员都属于知识工作者,并突出具有技术人员个性化、客户需求个性化等特征。技术和应用的飞速发展,信息海洋的铺天盖地,常使软件工作者感到压力重重,力不从心,从而产生了对新的管理理念和技术的紧迫需求。如何有效地整合个性化资源,高效地满足个性化需求,这是软件企业必须面对的一个难题。(KM,KnowledgeManagement)作为提高企业核心竞争力的有力手段,可充分实现企业知识资源的整合、发展、共享和增值。特别是软件企业实施知识管理,可以将分散的个性化的知识整合成有机的组织知识体系,通过组织知识体系的有效运用和持续提升去解决个性化难题,从而能有效地增强企业的核心竞争力。
一、软件企业特点和对知识管理的需求
自二十世纪九十年代以来,人类进入了信息化时代,世界科学、技术、经济的发展与融合,网络经营和全球经济一体化正在创造新的管理经验和管理理论。根据国际发展的趋势,我们可以把现代企业的管理思想精髓归纳为数字化管理、市场化管理、系统化管理、国际化管理这四个方面。由于IT技术的飞速发展,软件企业要在领会和运用现代企业管理思想"四化"精髓的同时,还应着重明了有别于传统企业的自身特点和对知识管理的迫切需求。其主要表现在以下几个方面:
一是企业产品的智力型。软件是不同于大多数其他工业实物的产品,其开发过程是复杂的逻辑思维过程,其产品要极大程度地依赖于开发人员高智力的投入。首先研发软件本身既是一个需要大量知识支撑且又会产生大量知识的活动。以某一新产品的研发为例,要确定是否研发某新产品,需要准确把握市场动向的知识;研发过程需要参考以往的研发经验;而最终研发成功与否都将为以后研发活动积累经验和教训。因此,对业务过程中知识的梳理与积累显得极为紧迫。其次由于软件产品的无形和难以测量控制,开发人员的创造性与产品规范化测试要求是一对需要不断协调的矛盾,并直接影响软件产品的质量。因此,软件企业首先尝试从技术层面上考虑解决软件的质量问题,但实践表明光从技术上解决的效果是十分有限的,还必须从管理、特别是知识管理的角度入手,双管齐下地来解决软件的质量问题。再次通过知识管理可建立一个知识型的组织,把以地理或实体为边界的传统组织,拓展为由研发人员、管理人员、客户、商业伙伴、外部组织和公众等构成的以知识为目标的柔性虚拟组织,并为他们提供紧密结合的、相互协作的工作环境,使他们可以即时的、互动的进行沟通,从而给知识的衍生和发展创造了极为有利的条件。
二是技术更新的迅捷性。现时的软件技术发展日新月异,新产品开发的速度不断加快。有时甚至一门开发工具还没有完全学会,就已经被淘汰了。几年前,我们还可以通过阅读旧计算机杂志获取一定的信息,并可确信自己获得的是较新的软件开发技术;现在,如果我们读的是一个月前的技术报刊,就会发现自己从中了解的有关技术已经过时。技术变化的迅捷性,迫使软件企业各层次人员要不断地学习新技术、了解新产品。知识管理的关键,第一便是要迅速、有效的获取知识内容并建设企业的知识库,这包括它的及时性、有效性、可被利用性和可持续发展性。第二是使知识能够大流量、高效率的进行流转,把知识迅速而通畅的贯穿到企业工作的各个方面中,以最佳的方式实现知识的共享、利用和增值。第三是建立知识的人和组织,这包括对人员和组织进行变革,使其能适应知识管理的需求,让人和组织在知识的活动中最大程度的受益。
三是人才流动的频繁性。我国软件人才紧缺是众所周知的事实,同时在所有行业中,软件业人才流动的频率是最高的。究其原因是因软件行业的技术发展很快,再加上资金的大量投入,软件公司不断创建,而多数新成立的公司为了尽快建立自己的团队,一般要在同行中挖人,这就造成软件业人才流动始终处于一个怪圈之中。软件企业知识管理的重要任务,就是要贯彻“以人为本”的原则,通过合理的绩效考核及竞争与激励机制,让每个员工都有向上的发展空间和目标,不断提高个人和部门的胜任力和能力成熟度。而在团队管理中,也要合理地进行知识组合和角色搭配,以建立高效和协同合作的项目开发组。同时结合企业文化建设,建立和谐的企业环境,提高员工对企业的满意度和参与意识,最大限度地调动人的积极性、能动性和创造性。这样就既能留得住有价值和掌握关键知识的骨干,并不断吸引新人才的加盟,又不会因为少数人员的变动而使企业的关键知识流失。
四是管理标准的欠成熟。近几年来,我国已有越来越多的软件企业开展ISO9000质量体系认证活动。但是,ISO9000系列标准并非为软件企业特别制定的,它是适用于各种生产和服务过程的标准化的质量控制体系。作为通用的标准,它更像硬件的专用品,在软件产业实施起来却显得力不从心,产生的效果也大打折扣。而作为目前国际上最实用的软件生产过程标准和软件企业成熟度等级认证标准,CMM能帮助软件企业改进和优化管理,实现软件生产工程化。这些相应的过程规范当然是必要的,但在这不断变化的时代里,过程也必须拥抱变化,拥抱能掌握知识变化的人,否则就不算是好的过程。近年来软件界已提出了一些新的轻载方法和过程,强调人的因素第一,不是人去适应过程,而是建立面向人的过程。如国外最近已出现一种倾向,提倡把过去依靠主程序员的“手术队”型的开发组方式,转向更活跃和谐的“好来坞模式”开发团队,让每个成员都能扮演最佳角色,从而使软件企业的管理标准能与时俱进和务实成熟。
二、实施知识管理的主要内容及步骤
所谓知识是一种有价值的智能结晶,可以通过信息、经验心得、抽象的观念、标准作业程序、系统化的文件、具体的技术等方式呈现。知识呈现的形式虽然有很多种,但在本质上都必须具备创造附加价值的效果,否则就不能被称为知识。一般而言,知识内涵由于本质上的差异,可区分为隐性与显性两种类型。
所谓隐性知识是指比较复杂,无法用文字描述的经验式知识,不容易文件化与标准化的独特性知识,以及必须经由人际互动才能产生共识的组织知识。隐性知识产生的成本较高,可重复使用的机会较低,通常应用于附加价值较高的作业活动上。因此隐性知识管理重点就是如何将隐性知识的创造过程加以效率化,可运用的策略手段包括形成一致性的企业文化与共识,开放性的组织气氛,运用多媒体网络来增加人际沟通的效率,项目型的团队管理,良好的教育训练与学习机制,更完善的周边配套等。
所谓显性知识,是指可以文件化、标准化、系统化的知识,因此显性的知识可以从知识库中直接提取和进行独立的学习。广泛适用性、能够被重复使用、以及与人分离是显性知识的特点,因此使用显性知识不需与创作者接触,就可以产生知识转移的学习效果。由此可见,显性知识无论是扩散速度还是学习效率,均相对较高。当然如何将知识经由整理、归纳、分类、储存等手段而达到显性的程度,并且能够十分便利的一再使用,必将是今后企业在知识管理活动中的工作重点。
所以,知识管理的主要任务包括显性知识的规范化描述与共享、隐性知识的显性化以及提高隐性知识创造过程的效率。
对软件企业来说,要利用的知识有多种类型,如软件工程过程知识、开发技术技巧知识以及客户业务知识、市场与产品知识等。不同类型的知识通过知识管理手段的运用可以对软件企业的发展从不同方面起到促进作用。
软件工程过程知识的管理可以明确定义统一的软件开发过程。将企业所采用的标准、流程以及相关文档规范化、标准化,并在工作过程中利用知识创新机制对开发过程进行持续改进。这样可以保证软件开发过程的规范性和可见性,加强工作的协调性与准确性,保证项目的按计划实施和最终质量,发挥组织的协调效益,不断提高工作效率。
开发技术技巧知识的管理可以协助企业更好地实现技术以及技术创新。通过动态过程管理系统对设计、开发、测试、维护等过程的跟踪与评价,抽取优秀过程,分析其步骤、外部环境、关联关系、处理手段,提供存储和分类检索,为类似的产品或项目提供经验支持。通过强化内部技术资源的管理,以提高资源的可重用性,做好技术储备和探索性研究以及后备梯队的建设。
客户业务知识的管理可以通过建立客户业务知识库和客户需求库,并充分利用企业的案例资源,以模块化的思想管理客户需求,不断适应和扩充需求的灵活性,实现需求级的软件复用,提高新投资和业务的生产效率,从根本上解决软件的交付期和适用性问题。
市场与产品知识的管理可以通过对市场与竞争情报的采集、筛选、分析、处理和共享,帮助企业正确地认识和预测自身的生存环境,增强对竞争和生存环境的敏感度,慎密而正确地确定市场预期需求,合理规划和安排生产,切实降低风险,为企业带来实际的、可评估的价值和竞争力的改善。
软件企业知识管理是一个相对长期与持续性的工作,大致要经过以下步骤和过程:
以知识获取、挖掘、分类和共享为主要目标的过程。首先,知识获取分为获取显性知识和发掘隐性知识,其中显性知识又会分为从内部获取和从外部获取两大部分。对于外部显性知识可以通过购买特定的知识库或通过一些工具来收集;而对于内部显性知识,则首先应对在个人、组织以及企业内的各种资料和文档等处的另散知识进行收集、调查、确认,然后将其分类、整理、定义,形成制度、规程、规范化的文献等,保存在特定的知识库中。而对隐性知识如个人经验、专家技能或者是蕴涵在数据库、数据仓库中的知识,则可通过数据挖掘、知识挖掘、商业智能等技术将之发掘出来,从而提升企业整体知识的数量和质量。另外也可以通过建立专家目录的方式,并借助专家定位的手段使这种个人化的经验性知识能为更多的人分享。对软件企业来讲,这一过程的主要内容包括:确定统一的过程规范,建立系统的开发模版和管理模版,对已有的工作产品分类分模块管理,建立客户需求、分析设计、代码、测试用例模块级的关系数据,建立各业务过程的参考范例并指定相应业务专家,建立问题与对策数据库等等。
通过知识交流而扩展企业整体知识储备的过程。企业可以通过多种交流方式来共享知识,包括:人与人直接交流的方式,例如研讨会、学习会、培训等,并应对交流结果进行考查;通过网络进行交流的学习方式,如讨论组、聊天室、电子会议、电子邮件等;还有利用知识库进行学习的方式。
应用知识解决问题的过程。一方面要求员工利用既有知识完成实际工作,包括遵循规范、利用已有工作成果、参考范例与思路以及根据需要咨询指定业务专家等;另一方面可以利用已有的知识,在工作中形成新的知识产品,如在利用已有程序模块时为适应新需求而扩展其功能、性能或复用性,从而形成更强的模块。同时,员工在运用知识的过程中,还可以拓宽、延伸和重建自己的知识系统,并逐步将个人知识转换为组织知识。
有意识地进行知识创新过程。根据企业发展的需要,在实践过程中创造各类新知识,如新的产品知识、新的业务过程知识等。知识创新过程本身就是一个持续改进、螺旋上升的过程,它是知识管理的最高境界,可以帮助企业实现整体知识规模的拓展以及知识质量的提升,某种程度上它更是一种企业本质的改善过程。
三、知识管理对项目管理的渗透与提升
项目是知识经济的一个重要业务手段,独特性和一次性是项目的主要特征,典型的项目周期可包括项目启动、计划、控制、执行、收尾等多个阶段。可以说项目是一种创新的工作,而项目管理则是实现创新的管理。对国内软件企业来说,提升竞争力需要开展多方面的管理工作,但最重要的还是应切实抓好项目管理。而加强知识管理对项目管理的渗透与提升,把项目理论扎扎实实地落实到实践中去,切实提高对客户需求的分析能力,提高对工作目标的细化分解能力,提高对开发项目时间、质量、成本的控制能力,提高对市场机遇的捕捉能力等,则是从根本上全面提高软件企业管理素质的关键所在。根据项目管理的不同阶段,知识管理的融入主要有以下几个方面:
一是项目策划中的渗透。项目策划是项目启动的先决条件,明晰项目的价值、定义项目目标、使项目目标被一致理解是项目策划的主要内容。其中,最重要的就是项目目标被一致理解。加强项目策划的方法,首先是“发现真正的客户”,其次要分清客户需求与项目成果特性之间的关系,再次是要充分的、深入的沟通。在此过程中,要调动的往往不仅是几个策划人的知识资源,而要强调的是整个企业知识的注入,也就是要把企业过去的项目成果、累积的知识等进行充分应用,不能什么东西都从头再来。同时要充分发挥行业专家的作用,实践证明缺乏行业专家指导的项目策划,所产生出来的东西往往是难以适用的,甚至是完全不能用的。如果软件企业没有自己的行业专家,也必须善于加强对外部行业专家知识的利用。
二是项目实施中的渗透。项目管理既是一种典型的系统管理,也是一种典型的变化管理,而知识管理则是变化管理的基本条件。因为没有足够的知识,你就不知道该如何面对项目中的变化。项目启动以后,项目过程控制的目标在于对项目成果(包括中间成果)的可预见、项目资源的可调度、项目问题的可追溯、项目组绩效的可评价等几个方面。在一个软件项目中,有成百上千的相互关联的活动,一个活动在工期、资源和预算等方面的变化将对整个项目产生连锁反应。项目管理的定律之一是“魔鬼藏在细节中”,而消除“魔鬼”就需要知识管理的“围剿”。项目经理和高层管理人员应对项目各种活动的变动作全面的了解,才能确定工作的焦点。项目经理们的最好朋友是每天要面对的对手及用户的代理人——独立的产品测试小组。细心的测试人员总会发现一些没有正确理解设计决策或准确实现设计的地方。他们将以独到的知识和其公正性来保证产品的质量。同样,由于项目组成员存在不同的分工,要使他们都能够明了各自的工作对项目的目标起到什么作用和影响,不仅要靠评价机制来驱动他们对项目的整体责任感,还必须运用知识管理的方法和工具,使他们能够直观地看到个人的工作与项目目标之间的动态关系,以避免发生“一叶障目,不见泰山”的错误。
三是项目收尾时的提升。在没有把项目经验与教训转化为知识的意识与机制的软件企业中,对这一步工作往往比较忽视,这是一些软件企业在发展到一定阶段后,停滞不前“陷入泥潭”的重要原因之一。实际上与项目启动时的项目策划一样,项目正式收尾中的知识管理也是十分重要的。收尾的作用不仅是对项目的利益相关者有一个正式交代,还有一个重要职能是对项目整个过程中的经验教训予以提炼,形成企业的知识财富。此间的知识管理包括知识的挖掘、交流、整理、升华和储存等内容,如通过对过程数据的测量和软件度量数据的积累,分析与发现开发中存在的问题和瓶颈,明确缺陷的成因和今后预防的对策等。同时,要针对项目组成员渴望价值创造与自我实现的需求,做到公正、客观、量化地评价员工的价值之所在,并将相关资料归存于企业的知识管理系统。此外,还要既重视对企业已成型的关键技术和知识产权的保护,又要注重对自有、购入、伙伴合作生成以及网上资源等知识的精筛提练和有机整合,善于站着别人的肩膀上继续攀登,使在不断变化中的知识完善和技术更新,成为企业发展取之不竭的动力源泉。
原文?aid=431129
信息发布:广州名易软件有限公司 http://www.myidp.net