对于知识管理的社会性软件项目实现的一些思考 - Dreamingk Alone - Don...

来源:百度文库 编辑:神马文学网 时间:2024/04/27 19:16:01

    一个项目的发展过程是一个想法到实现的过程,一个理论的东西到实践的过程、一个由不确定到确定的过程。

    知识管理是一个很大的课题,为什么有做这样一个项目的想法,我想有几个个原因。一是就是所谓的信息爆炸,整个社会信息总量迅速增长且远远超过我们个人认识和学习的速度。对于我们个人的注意力资源来说,这是个很大挑战,我们需要增加我们的学习和认知效率,就要对知识有所筛选、管理、关联,筛选是为了快速选择我们有效的信息,管理和关联是提供知识快速处理的方式方法。二是我们有学习知识的需求,在现在以及未来的社会变革发展中,我们需要终身学习来适应和推动社会和个人的发展,我想对于我们这些在信息行业或者即将进入信息行业工作的人来讲,更有切身的体会。基于个人知识的社会化共享来说,我们更需要一个社会性软件,他首先是一个个人信息管理工具,还必须是一个可以社会化共享知识的工具。这几个方面就说明这样一个项目并非凭空出来的,而是在一定社会条件下产生的一种需求。

    对于知识管理的项目,我想虽然到现在为止我们都各自有了很多很多的想法,但是到现在为止还没有形成一个统一清晰的系统需求做项目设计的指导。想法很多但是不系统就设计就会矛盾很多。对于一个从不确定到确定的过程,我们首先应该去确定一些东西(这些是从庄老师的文章中得发的)。

    一、我们这样一个软件是给哪个层次的人群使用的呢?

    一个知识管理的软件,功能即使再好,如果没有相应层次的学习能力、知识管理能力、开放精神等人群应用,再好的功能也没用。知识共享的软件的应用,实际不是软件开发或者实施问题,这是使用群体的学习水平培养问题、学习能力提升问题、学习层次展开的问题,以及思想觉悟点化问题等。所以我们要确定我们要开发的软件是适应那样一层次的群体来使用的。

    二、这样一个群体平时的知识管理的方法和层次是什么样子的?

    我们需要确定这样一个软件对知识管理的水平和层次要达到那些基本条件,至少是要比这样一个群体的人已经具有的一些能力和方法有所提高并且是有效率的提高并且能让他们习惯于这样一种方式。

    三、这样一个群体对于知识管理有些什么具体的需要?

    和上一个问题一样,只是更具体化了,我们需要那些具体的知识管理的功能呢?例如知识的筛选、收集、管理、检索、发布、关联等等。这些需求就更具体更确定了一些。对于以上两点做一个一定范围内的实际调查是比较需要的。

    对于我们来说,我们最初的很多想法都可以归结到我们对于软件的需求上,而其他的一些理念则可以是我们在实现这样一个应用时做指导的。

    对于实现来说我们要关注三点

    一、个人信息管理

    信息首先是个人的,我们都在做着个人的信息管理,例如收藏夹、我的文档等等很多很简单的东西却都在做着这样一个管理。但是大多数的个人管理工具都有很多局限性。例如信息关联不够、信息检索困难、信息繁冗等等。要解决这些问题首先核心的东西就是信息和知识到底是什么,信息应该如何描述,信息和信息之间是种什么样的关系、信息的有效性和完整性等等。我想这又是另一个系统性的东西,需要一个基础性的理论来支持。然后通过一个实验性的原型来验证。这样一个东西对于我们来说是具有决定性意义的。他直接决定我们的软件对于所谓知识管理的层次和水平。(从庄老师的观点中思考得来)

    二、社会化的共享和交流

    基于毛老师的理论,一个社会性软件首先要具有几个特征:身份识别、社会性网路管理、交流方式、基于时间的管理。我们通过身份识别来确定信息的来源、以此判别信息的有效性、通过身份识别可以产生人际之间的关系扩展信息获得的空间、通过身份识别还可以进行基于个体之间的交流。由此看来身份识别是社会性软件的一个基础(社会本来体现就是人和人的关系)。而因为我们的软件首先是基于个人的信息管理工具,所以实现这样一个人的身份识别也是势在必行。同时信息还存在一个时间的积累。牛顿说他是站在巨人的肩膀上,可见如果没有前人信息和知识的积累,社会也就不会得到发展,而不发展的结果就是消亡了。对于信息共享是局限于现有的技术水平和社会的方式,所以还要做具体的讨论,他也要有几个特点:方便、快捷、个人成本和社会成本要低、具有适应性、发展性,他必须是大众的方式不能是小众的方式,除非你仅仅把你的用户圈子锁定在那里。

    三、其他方面

    这个软件应该具有帮助使用者学习或者引导使用者学习的设计理念,他应该最大程度的适应更多层次的群体,这样才能充分发挥它的社会功用。当然它的学习成本应该是较低的。对于其他的方面我想应该还有更多的考虑。

    对于我们这些人来说,各人对于知识管理有着各种思考和想法,层次和方向也许都不相同。在实现的过程中由于我们熟悉的领域不同和对于实现的方式方法都有自己的想法,所以在一个团队合作的项目中,这些都是比较难解决也是导致项目建设不够活跃进展缓慢的原因。一个是希望大家可以把这样一个项目真正当做自己的项目并且有兴趣来思考和做,而不仅仅是观望或者希望设计完成确定后自己可以按照设计来实现一部分代码。所以如果你要参与一个项目更主要是参与思考和思想,而不是实现。二是尽量把一些能确定的东西确定下来,而不是空泛的讨论,所以我们也需要一些一个机制来通过大家来确定一些讨论成熟的想法。只有确定的东西才能被别人理解和认同。我想如果这样一个项目能够发展下来的话,那么我们也就有了这样一个基与项目和社区的核心团队以及团队的合作机制(对于团队我想可以去听听余世维的讲座)。

    这样一个项目其实涵盖了太多方面的东西,程序员实际动手也许仅仅是在软件实现的最后几步,所以希望大家不要局限自己对自己的定位,而要有更多方面的思考。项目的实现目标可能很远,我们的技术局限性等因素决定我们不可能直接实现,而要分步明确目标的来做这样一个项目,一定要有明确且每个人都能理解的目标。

    这是我在这段时间里思考所得到的一些想法,没有涉及到一些具体的实现,只是阐述了一些指导性的想法,希望可以对项目的进展有所帮助,并且也很希望听到大家的讨论和意见。

    以上想法是基于Woodpecker开源社区的知识管理项目所做的一些思考,如果您有兴趣并且希望参与这样一个很有意义的项目,可以去社区里了解一下,开源项目欢迎您的参与!



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=290279