一切皆可复用

排行榜 收藏 打印 发给朋友 举报 来源: 原创   发布者:张传波
热度3097票  浏览955次 时间:2009年9月15日 16:18

摘要

人类文明不断地进步,并不是现在的人比古代的人要聪明,而是我们能不断地“复用”前人的知识、经验。你能不能成为优秀的软件人才,也视乎你能不能不断地“复制”你的成功。一流的软件公司,关注的不止是在技术方面的复用,实际上软件开发过程中几乎所有的东西都可以复用!


特别声明:
如需转载此文,请给出指向本网站的连接,如下:
作者:张传波
摘自:http://www.umlonline.cn
如不能按此要求,请不要转载此文。
 

你有复用习惯吗?

你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是new一个connection,然后配置connection的参数,然后open。很多编码新手,常常会在不同的地方编写这段类似的代码。其实很简单,这段代码应该抽取出来供每个地方调用。如果你编写的代码中发现很多类似的甚至相同的代码到处都是,应该好好考虑重构一下了。

读小学的时候,老师要求我们写日记,当时觉得很难写,也不想写。后来读高中的时候,我的思想来了个大转变,突然写起日记来,一写就是几年。写日记并不是记下每天干了啥,而是每天都总结一下当天的得失,看看有什么东西是可以“复用”的。现在写文章对我来说并不是什么很难的事情,我也比较容易观察出周围一些事物的闪光点,并学习它,供自己“复用”。

复用其实不复杂,从小处做起,养成一种习惯,这种好的习惯会让你的成功速度加倍!

 

你的企业有复用习惯吗?

你们公司有组件库、类库或者是共享代码库吗?每次你们做项目,有没有之前的一些东西可直接供本项目使用的,还是需要全部重新开发的?

A项目遇到一个问题,而这个问题B项目已经解决了,但A项目的人还不知道,这种情况多见吗?

你们做项目,是不是时间压力非常大,公司有没有要求你们完成项目的时候要提交一些可复用的组件出来?项目能按期完成就阿弥陀佛了,还管什么复用呢L

很多公司可能不太注意“复制成功”,每天都在干救火的事情,老员工陆续离职,新员工陆续入职,公司一直没有什么积累。一流的软件企业,都有一套“复用”机制,能不断地积累知识和成功经验,不断地保持公司的竞争优势。

 

一切皆可复用!

一说到软件复用,很多人可能只想到技术方面的复用,我们应该把复用的范围再扩大。我们为什么要复用呢?因为我们想利用别人或者自己之前的成果,加快进步的步伐。正是因为我们这个目的,所以只要有利于进步的东西,都可以复用。

软件企业之间的竞争说到底是人才的竞争、智力的竞争和知识的竞争,每个公司都想网罗最优秀的人才。但千军易得,良将难求,企业有什么办法把优秀人才的优秀做法“固化”下来,让整个企业都具备优秀人才的特点呢?优秀的人才包括很多方面的人才,技术人才、管理人才、行业知识专家等等,通过一套“复用管理办法”,可以让这些专家的先进的做法,贯彻到整个企业中去。这样就相当于企业复制了很多个这样的优秀人才,企业的战斗力就会达到超强的境界。

 

技术复用

我们公司的某个项目,要通过网页的方式展示一些列表,并且要把列表的内容导出成Excel。开发人员经常抱怨客户的需求在变,列表及导出成Excel的表格,客户经常修改对列的要求,什么列要显示什么列不需要不显示,列的顺序、宽度、列标题等经常要修改。很多时候客户确实不是无理取闹的,业务是发生变化的,人的认识也是不断加深的,这是一种合理的变化要求,软件应该满足这样的要求,只是我们的技术能力还不过关,每次这样的修改都需要去改代码,修改成本高,开发人员不高兴,客户也不高兴,因为每次修改我们都要跟他讨价还价。

当时我就问开发人员,能不能把这部分的做成可定制的呢?客户想显示什么列就让自己去配制,我们不需要改代码,客户也不会来“骚扰”我们。但开发人员就以难度大,时间紧为由而不同意。

很多公司都会出现类似这样的情形,一般情况下指望项目组内能解决这些问题是不太可能的,原因有二:一是项目所有人基本都是进度优先的,基本上对于这样的改进都是听不进去的;二是项目中的人没有能力去做这个技术改进,或者是项目中利害的人没有时间来处理这个问题。

如果我告诉开发人员,公司组件库中有这样的一个组件,能做到可定制的,能完满满足要求,我想项目组会毫不犹豫地使用这个组件。项目组其实并不否认这样的做法的好处,只是没有时间做或者是自己做不出来。

公司应成立专门的部门,管理整个公司的技术复用,技术复用包括设计复用、组件复用、类库复用、代码复用等。该部门有两大任务:一、不断地研究能为公司使用的先进技术;二、关注每个项目,提取项目中可重用的内容,并为项目提供可重用的组件,为项目解决技术难题,从技术上加快项目的进度和保证质量。这个部门是很重要的,优秀的技术人才放到这里,会使他的作用成倍地放大。

关于技术复用,请看我的另外一篇文章《超越竞争对手的秘密武器-技术重用》,这里仅做简单介绍。


特别声明:
如需转载此文,请给出指向本网站的连接,如下:
作者:张传波
摘自:http://www.umlonline.cn
如不能按此要求,请不要转载此文。
 

项目管理复用

为什么有项目经理管项目就比较好,有些项目经理就做得不太好了?优秀项目经理的管理经验能不能重用呢?

微软总结了很多项目的成功经验,总结出MSF(Microsoft Solution Framework),并向整个微软甚至是全世界的软件公司推荐MSFMSF的八大原理以及MSF的团队模型,对提高业界项目管理水平发挥了不可估量的作用。除了MSF,业界还有RUP、敏捷、XP等各种方法供大家参考,这些东西都不妨“拿来主义”,为我所用。

除了复用别人成功的管理经验,更重要的是要复用具有自己企业特色的项目管理经验。把优秀的做法写成过程,“固化”下来,让全部的项目遵照执行,并不断地完善此过程。

过程必须是经过公司实践的提炼出来的,而不要“照搬”外部的一套过程来实施。我们公司刚建立过程的时候,是通过两个试点项目各自的实践摸索出来的,我们总结了这两个项目的成功经验,建立了过程的初稿。以后所有过程的修改,都不是凭空构思,而是“复用”了实践中的成功经验。

管理这东西是有点虚的,不能照搬理论,一定要通过实践来总结经验,把最佳实践写成过程,让整个公司学习和执行这个过程,这样优秀项目管理者的成功经验就会被“复用”到每个项目中去。

 

TAG: 软件复用
顶:194 踩:203
对本文中的事件或人物打分:
当前平均分:-0.37 (863次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.5 (834次打分)
【已经有1003人表态】
209票
感动
108票
路过
93票
高兴
106票
难过
120票
搞笑
121票
愤怒
122票
无聊
124票
同情
上一篇 下一篇
首页 第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页