`

重用管理和技术研究在软件公司的重要性

阅读更多
    先说说我们公司的概况,主要是以一个行业的项目型企业应用为主,有一个技术框架但不完善。

    我想听听大家所在公司的情况,就是你们公司有专门研究技术的人员和部门吗?这些人不参与项目的开发,而是开发技术框架,为开发人员提供技术支持和培训,对公司的技术资源进行积累,形成公司技术资源库。如果不设立专门的人员,而是在项目中积累,就没有统一性 ,开发人员在项目中受进度等项目指标的影响,他们的目的是完成项目,和形成技术积累目标是不一致的。

    我认为软件公司提高开发效率,是应该要有一个这样的组织或部门来进行这样的工作,但实际上很多公司不够重视,结果因为技术支持不够,公司平台和框架不完善,开发效率非常低,以往技术资源的重用也不理想。公司领导对这块不是很重视,认为技术是次要的,项目是主要的。不把技术研究,通用技术平台建设以及资源库当作公司重要的任务来看待。直接的结果是,技术人员参差不齐,工作成果依赖实际技术人员的水平和学习能力,没有公司级的技术支撑。
   
    我认为,在软件公司中,一个人的工作能力体现为四个方面:
    第一 知识。拥有了知识,才有了解决问题的前提,知识面广,解决问题的思路就更宽阔。
    第二 工具。熟练运用工具才能提高工作效率。用的好可能比用的不好工作效率高几倍以上。
    第三 技能。比如精通Spring框架,技能直接体现在工作的效率上,是一个综合的体现。
    第四 制品。这里就是指工作成果,程序员的制品就是写出高质量的代码,需求分析人员就是写出一篇完善的需求分析文档。

    对于现在的企业应用,特别是开发Java应用,经常需要借用多个成熟的框架来完成,学习成本可以说非常的高。对于一个能够胜任工作的员工,应该有统一的获取这些知识,技能的途径。单纯通过自学积累是很难获得的,而且学习效率也非常低。
    对于一个软件企业,如果想长期发展,我认为下面这些东西都是必须的:
    1. 技术平台。公司统一的技术平台,为开发项目和产品提供支持。
    2. 资源库。 积累特性领域模型和业务知识。
    3. 研究中心。负责技术平台的开发,资源库的建设和维护。应该做为一个单独的组织。
           同时负责组织和实施新技术的研究,并转化为公司积累。另外就是组织培训,
           培训工具和开发技能,提高开发人员效率

    目前我们公司的实际情况是,所有人都在参与在项目中,没有人负责技术研究和积累工作,技术框架也不够完善,也没有时间完善。我是技术总监,但人员都在项目中,所有这些事情不是我一个人能完成的,况且我自己也有一些琐碎的管理工作,根本没有精力实施上述计划。
     请大家发表一下看法,不知道我问题有没有描述清楚。
分享到:
评论
59 楼 homesailing 2008-03-07  
楼主的这个问题的提出,其实是大家可能大多都面临的问题。
我也同样面临这个问题。

一方面,项目繁多。新模块需求不断。
另一方面,不同项目基础框架差异很大。

我们的应用跨度非常大,C++\JAVA\DELPHI等都有,而且不断有新系统整合进来。
开发模式统一、新员工培训、技术架构不断革新  这类工作谁来做?

统一由技术总监来完成?   ---你要多少技术总监?
统一由老员工完成?     ---项目全部靠他们呢?
由部门经理来做?      ---日常管理琐事已经压趴了
由质量管理人员来做?    ---他们做不来

我认为,要让团队持续、高效地生产软件产品。必须要给他们提供一个相对安静的开发环境。
这里安静,是指:
尽量少的技术架构方面的影响
新技术能很快上手
即时是新成员,也能很快跟上大部队。

呵呵,我们希望有这样的组织机构,还要看战略、看产品是否有可持续发展之路。
如果只是搞搞项目,那老板估计是不会多掏钱,组织一帮高工资的人研究什么技术的。




58 楼 Sing 2008-03-06  
技术平台这样的部门,要看怎么用,如果仅仅是高高在上,提出指导的话,一般不行,因为早就脱离实践了,靠吃老本,根本行不通.
正确的做法是,跟实际项目结合起来推动复用的组件在项目中实际应用起来,再抽象,再应用,再抽象,再应用.
这样,一些组件就避免了重复开发,而项目组可以集中到业务上和具体的流程实施这一块.
象我们单位,就是跟项目脱离的,所以平台部抽象完的东西,很难应用到项目中去,目前只能搞一些企业内部的技术培训和招聘.
57 楼 city_moon 2008-03-05  
哎,小公司都这样,楼主的情况跟我现在公司的情况一个样,老板不关心技术,经商出身,时刻都是说以项目为主,不管怎么样,都要以最快的速度把项目开发完成,别说是成立部门来研究技术,公司连一个水平高一些的开发人员都不愿意掏钱招聘,更别提什么积累和研究了,公司都是以短期效益为主,好生郁闷呀!!真希望也能从楼主这里得到一些改变现状的经验!!
56 楼 寄生虫 2008-03-02  
我们公司有技术平台,也有知识资源库,也有技术攻关的专门负责人。
我想说一下现状:
1.技术平台
某一个人或者某几个人去负责这个技术平台的搭建,这些人必须是对整个平台能够把持住的人,也就是说,技术要够好,经验要够丰富,但是针对一般小公司,几乎很难找到这样的优秀人才。
2.知识资源库
我为公司开发了知识资源库,用了2天时间(数据库设计+编码+界面设计),考虑到2天时间开发不出太花哨的功能,只有信息的发布与回复,文档的上传与下载(类似Javaeye的最基本功能)。但是实施之后的效果是怎样的呢?
公司每周播报上传,每周例会内容发布,就只有这两点用到了。像其他什么技术知识的共享,技术难点的注意事项等内容,几乎没人发布,而是在项目中遇到问题解决问题,解决了问题之后,没有整理出解决方案以备下次使用,这其实是个人习惯,也是企业的文化影响着的。
55 楼 ssuupv 2008-02-28  
我觉得,上一定规模的软件公司,这个部门必不可少.
54 楼 Frankie199 2008-02-28  
“以最小的付出,获取最大的利益”
这个是现在国内大多数公司的要求,我们公司就是这样。
技术的积累只有放在项目里面,因为根本每人来做这些事情,大家都是在围着项目转。

公司原来有套开发框架,是原来技术总监搞出来的,现在他辞职了,还是用那个框架,本来有些地方要改一下,也没人来搞。不是搞不了,而是都为了项目。

大公司肯定有这些部门,我知道原来的托普软件就有研发中心
53 楼 一蓑烟雨任平生 2008-02-25  
evanyuan 写道
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。


项目管理现在也有成熟度模型,与CMM类似,不同阶段的PMO职能是不一样的。
不管是扁平化垂直管理还是矩阵式管理,管理模式的变化都会带来利益的冲突,动之前要把利弊权衡好。

如果要谈PMO,最好另开一帖。
52 楼 seen 2008-02-24  
celine 写道
偶现在做的项目就是专门研究项目管理的,偶们公司的项目管理在国内应该算是比较早开始规范化的了,项目复杂度、规模绝对到了极度复杂的程度,千人规模的项目团队比比皆是,但是PMO绝不会自然进化出来,实际上我们已经投入了好几年的时间去梳理,目前还是一片乱麻

各位知道有那些公司项目(研发项目、工程项目均可)管理规范化制度化做的很好的,不妨介绍一下公司名字,偶们好去取取经~~~

evanyuan 写道
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。





>>偶现在做的项目就是专门研究项目管理的
还有这样的项目。。。难道不会流于成天扯皮?


>>千人规模的项目团队比比皆是
天哪 俺们做操作系统的项目都没这么多人 你们是IBM啊?
51 楼 celine 2008-02-23  
偶现在做的项目就是专门研究项目管理的,偶们公司的项目管理在国内应该算是比较早开始规范化的了,项目复杂度、规模绝对到了极度复杂的程度,千人规模的项目团队比比皆是,但是PMO绝不会自然进化出来,实际上我们已经投入了好几年的时间去梳理,目前还是一片乱麻

各位知道有那些公司项目(研发项目、工程项目均可)管理规范化制度化做的很好的,不妨介绍一下公司名字,偶们好去取取经~~~

evanyuan 写道
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。


50 楼 evanyuan 2008-02-23  
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。

49 楼 darkelf9 2008-02-23  
公司自己的库最好有行业特色,适合公司本身的特点
对于比较成熟,并且有足够用户群的开源技术领域
最好不要去碰
48 楼 gohands 2008-02-21  
很久以前的一种想法:
在实践中不断完善!
不过首先给开个头!
参考开源项目的方式
建立一个基础的平台.(login)
然后添加不同的可选模块!
主要是要让上面看到好处,看到效益!

现在大家更多地关注STRUTS,SPRING,HIBERNATE JSF...
郁闷...只能整天跟着跑!!
47 楼 solo9c 2008-02-21  
lz说的都是自己在项目管理中的体会么?

首先,我们公司前段时间刚刚通过CMMI3级认证考核,所以 我对组织的管理、技术的积累和维护有一些了解和想法,同时也有很多困惑。

大家应该了解CMMI是非常重视企业的历史项目、历史数据的积累和应用的,它要求建立一个历史数据库/过程资产库(即LZ所说的资源库),积累典型项目的历史数据和技术及管理实践,并由EPG(LZ所说的研究中心)定期的维护。

一个软件开发的企业没有上述东西,那么弊端是很明显的:
1、项目管理和开发不统一,技术参差不齐。
2、历史项目完成后,对以后的项目开发几乎没有提高。
3、项目的完成主要依靠几个技术骨干的发挥。
3、项目管理的和企业管理缺少数据支持。
.....

从另一个角度讲:开发人员(公司员工)会感觉到不到东西,得不到提高。

从模型的角度看,一个良好的开发管理过程应该是:
Plan(计划)==>Do(执行)==>Check(检查)==>Action(处理)
并且4个环节是循环的,呈螺旋状不断提高的。

做个比喻:一个企业像是一个应用软件,资产库就是软件的数据库,上面的4个环节呢就是对数据库的查询/更新/插入/删除等操作,而EPG(工程过程组)和开发管理人员就是访问数据库的SQL语言和工具了。

呵呵 乱说一通,不知道恰不恰当。

要想使该软件达到需求,有效率的执行,那就得做分析、策划(企业规划)、设计(过程设计)、实现(定义过程)、测试(试运行项目)等过程是必不可少的,投入也是非常巨大的。

为什么国内的软件公司几乎没有在这方面做的比较好的呢,比较明显的原因就是投入大,没有好的先例,短期效果不明显。

成本投入大不是问题,只要效果够好,符合成本的投入就不成为问题。

我认为主要问题还是改进的方法和方式,譬如如何能够有效的把个人能力和经验在项目中的体现积累到公司的过程资产库中。如果方法得当,我认为管理层还是能够认识到这种改进的重要性和必要性的。
46 楼 nihongye 2008-02-20  
方向比较大,很好。事情起步难,找一个具体而有趣的目标去实现,找找感觉再继续。
45 楼 seele 2008-02-20  
人才都是用在刀刃上的,框架的总结和开发是在项目完成后的空余时间做的..所以要求开发过程中对框架的矛盾和问题要记下来,我个人意见是在开发的过程中,开发组中每个人都要写技术博客,做完了项目,就可以总结啦~~哈哈..我也想在这次来做一次实践.
44 楼 celine 2008-02-20  
LZ说的重用管理的意思应该是是技术方面的,组件、平台的重用吧

对于管理的重用,我们倒是通过某些模板、制度做到了一定程度上的重用,但是我们是有专门的庞大的管理项目管理的部门
公司规模在1k人以下,我觉得根本没有必要做这样的投入,顶多搞点经验交流

技术上的重用,一样,规模小的公司,先活命再说,业余组织有兴趣的一起研讨研讨可以

一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?

43 楼 neptune 2008-02-19  
做项目的,特别是做政府就是要饭。很难有大的发展,除了你的老板都别N,单子一个接一个的每个都在500万以上。
42 楼 seadragonnj 2008-02-18  
你所设想的这种情况很难,特别是目前国内这种浮躁的氛围下,

一般比较大的公司倒是有这样的部门,但他们一般都会让你很失望的,
41 楼 yangjuqi 2008-02-18  
大家说的都有道理,但是怎样才能结合自己公司的实际情况开展重用管理和技术研究等工作呢?毕竟大多数企业都在做项目,怎样能在合同约定的时间内,采用比较成熟的框架和技术完成项目,是公司上下最关心的问题.
对于大一些的公司,完全可以成立专门的研发组或部门开发新的框架,维护和改进老的框架,同时对一些项目中通用的组件进行标准化;而对于小的公司还不具备这样的实力,作为技术经理或技术总监至少应该认识到这方面问题,并指定专人或者自己,利用空闲时间做一些积极的工作.总之,东西是死的,人是活的,灵活运用就是了.
40 楼 一蓑烟雨任平生 2008-02-17  
evanyuan 写道

重用技术的话,软件开发公司和业务公司内部开发部门会有些不同。一般可以有R&D Dept或者EA Team来承担。如果你是50~200人的团队,在初期,建议从每个项目组找总共5~10个有经验的核心开发人员,组成一个虚拟的SA (system analyst, system architecture, whatever)团队, 有CTO的或者特有公信的人lead(找不到这样的人可以考虑轮值lead ),当然也是从制订些规章制度和发展计划开始,可以做的事情很多。通过这种虚拟的团队,一可以避免技术团队太脱离业务开发,二来老板和业务开发团队不会老觉得这拨人一天不干正事。当然虚拟团队的同志会比较忙一些,但是从个人发展的角度来说,应该会比较乐在其中。

我们一般称之为“技术委员会”,还是需要激励和考核机制,虚拟的团队如果没有机制保证,不落实到具体的项目中,效果也不会很好,最后不了了之。“个人发展的角度。。。应该会比较乐在其中”,都是技术能力较强的人,不是工作任务,谁愿意去做没有收益的事情,召集大家开个会都难!

gurudk 现在的问题是公司还不能给他这种保障,而他又想做这些事情,建议他两条腿同时走,一方面逐步建立相应的组织,另一方面还是沉下去,到具体的项目里面,一项项的落实。

相关推荐

    基于UG二次开发的零件设计可重用技术研究

    在研究基于UG二次开发的零件设计可重用技术过程中,涉及到的关键知识点包括UG软件二次开发、零件编码模型以及实例检索技术。 UG软件,即Unigraphics,是由美国EDS公司开发的一体化高端软件,集成了计算机辅助设计...

    几种分布式软件体系结构的可重用性比较.pdf

    软件体系结构研究的重要性: 软件体系结构是指软件系统中为了支持系统的构建、设计、维护和演变,而对软件的组织结构和组件的交互模式进行定义的框架。在软件开发过程中,体系结构的研究至关重要,它不仅关系到软件...

    C++代码设计与重用.pdf

    Ellis是AT&T实验室的资深研究人员,她在UNIX系统实验室和美国Novell公司都有丰富的编译器开发经验,并获得了加州大学计算机专业硕士学位。她还与C++之父Bjarne Stroustrup合作撰写了C++早期的经典著作《ARM》(C++ ...

    关于面向软件测试过程的知识管理方法的研究与实现.docx

    最后,本文给出了知识地图模块的设计与实现,验证了本文所实现的软件测试领域知识管理系统的合理性和有效性。 首先,软件测试是一个知识密集型的活动,测试人员都属于知识工作者,他们的工作不仅仅是依据测试计划对...

    软件工程可行性研究(ppt-63页).ppt

    在项目可行性论证报告的写法中,需要对项目的必要性和可行性进行论证,例如MDMIS的必要性是为了实现企业管理的现代化,降低成本,提高产品质量,并使企业在市场竞争中站稳脚跟。同时,需要对项目的技术路线、系统...

    基于插件思想的可重用软件设计与实现

    可重用软件设计是软件工程领域的一个重要议题,它关注于如何提高软件组件的复用程度,减少开发成本,并提升软件的生命周期。插件思想是实现可重用软件的一种有效方式,它允许软件在不改变原有系统的基础上,通过增加...

    基于Java的软件复用技术研究.pdf

    3. **增强软件质量**:复用已验证的组件可以保证更高的可靠性和稳定性。 4. **易于维护和扩展**:模块化的组件使得软件更易于理解和修改。 5. **促进团队协作**:标准化的组件可以作为团队间的共同语言,简化沟通。 ...

    JSP技术在互联网软件中的应用优势研究.pdf

    虽然出现了如***、B/S架构、MySQL数据库等技术,提升了软件开发的可靠性和安全性,但JSP技术以其独特的优势,在这些技术中占据了一席之地。 JSP技术通过其继承的XML、表单和servlet技术,实现了复杂逻辑的简化处理...

    软件工程技术发展概况

    新型编程语言如函数式和逻辑式语言被用于提高程序设计的精确性和效率。面向对象的程序设计方法因其安全性高,适合大型程序设计。快速原型技术在事务处理和数据库领域广泛应用。 国内外软件发展中面临的问题主要集中...

    PIM Xtreme 个人信息管理软件源代码

    《PIM Xtreme:个人信息管理软件的开源世界》 PIM Xtreme是一款高效且功能丰富的个人信息管理软件,其源代码的开放性为...通过深入研究并理解这些代码,不仅可以提升编程技术,还能增强对软件架构和项目管理的理解。

    基于龙芯IP核SoC芯片的FPGA验证技术研究.pdf

    总的来说,基于龙芯IP核的SoC芯片的FPGA验证技术研究,不仅展示了龙芯处理器在中国集成电路设计领域中的应用潜力,也体现了FPGA技术在现代电子系统设计验证中的重要地位。随着集成电路技术的不断发展和应用需求的日...

    C#写的研究生管理信息系统

    在信息技术领域,C#是一种广泛应用的编程语言,尤其在开发企业级应用系统中占据重要地位。本项目“C#写的研究生管理信息系统”就是利用C#的强大功能,构建的一个用于高校研究生管理的软件系统。这个系统虽然在设计上...

    论基于可重用技术的介质损耗数据采集系统设计.doc

    综上所述,基于可重用技术的介质损耗数据采集系统设计结合了先进的设计方法和器件,实现了对电容型设备介质损耗的高效监测。通过FPGA和IP软核的运用,以及对系统级和功能模块级的精心设计,该系统能够快速响应变化,...

    基于COM的组态软件OPC技术的应用研究.pdf

    文章中还提到,近年来,商业化组态软件公司开始利用COM技术来构建软件框架,如Intellution的iFix软件,它采用COM技术提供了动态显示、报警、趋势、控制策略和控制网络通信等组件。这样的软件框架大大简化了用户界面...

    7.1 可行性分析(研究)报告(FAR).docx

    《可行性分析(研究)报告》(FAR)是软件开发过程中的重要文档,根据GB/T 8567-2006《计算机软件文档编制规范》标准制定,旨在为项目初期提供决策依据。这份报告详尽分析了项目的技术、经济、法律等多个层面的可行性...

    基于FPGA的航空发动机电子控制器设计技术研究.pdf

    随着航空电子技术的发展,传统的基于冯·诺依曼架构的集中式电子控制器在软件高度定制、可重用性差、并行实时任务开发难度大、开发效率低等方面遇到了挑战。为此,研究者们开始关注FPGA(现场可编程门阵列)技术,...

    社会化软件促进组织知识管理.pptx

    研究表明,采用社会化软件的公司能够提供更创新的产品和服务,提高市场运营效率,降低成本,增加收入。 3. **社会化软件有效促进知识管理** 面对知识管理中的挑战,如信息过时、缺乏信任、激励不足等,社会化软件...

    答辩ppt220宠物医院信息管理系统.ppt

    【宠物医院信息管理系统】是一个基于JSP技术的现代化管理平台,旨在提高宠物医院的运营效率和...它采用了先进的JSP技术和Mysql数据库,实现了功能丰富的信息管理系统,反映了信息化管理在现代社会的重要性和必要性。

Global site tag (gtag.js) - Google Analytics