一、背景与问题
在了解了公司的一些项目(Access、Exchange、知客等),熟悉了公司项目部和测试部等部门的工作之后,结合自己工作和学习中的一些情况,意识到一个值得改进的问题。
工作中的不少时间都是在处理重复性的工作,而这些工作其实可以避免或者大大减少。
比如 开发中的一些极其常见的技术或功能:
a.邮件发送。
b.Excel、PPT、PDF、ZIP等多种格式文件的处理。
c.Web开发环境的搭建,比如Spring+Mybatis等框架的组合和日志等配置。
(不再一一列举,详情见下文)
总之,不同的项目(Exchange和知客),不同的人(KTeam和XTeam),同一个人在不同项目中的所作所为, 不同角色(开发和测试),可以避免应该避免的重复性劳动大量存在,大大降低了生产力。
二、应对之策
1.软件复用
1.1技术类复用
a.邮件发送。
使用JavaMail、Apache Commons-Mail、Spring-Mail、Jodd Mail等库封装好。
这样一来,不同的人、不同的项目,只需要一个类库(jar包)和一个配置文件,就轻轻松松实现了发送邮件的功能。开发省事、测试也省事、维护也省事。
b.文档处理。
Excel、PPT、PDF、ZIP文件的读写,尤其是Excel等报表的下载,几乎每个Web项目都有用到。
c.文件操作。
创建文件、移动文件、删除文件等文件和目录操作,很常见,很通用。
可以使用Jodd等组件,或者对JDK相关类库进行进一步封装,从而减少代码重复。
1.2流程类复用
a.WEB表单的验证。
b.开发环境的搭建和配置。
c.异常处理、日志配置、监控报警。
1.3业务和功能复用
增加、查看、修改、删除、搜索、排序、分页、报表下载、操作日志、上传和下载、权限控制。
2.知识库
2.1知识管理
Add,Update,Remove,Delete,Query
Add:已有经验和知识入库。
Update:更新和完善已有知识。
Remove:遗忘了一些不常用的知识。
Delete:彻底删除过时的知识。
Query:查询才是最主要的目标,应用是目的。
为了提高查询效率,需要建立“索引”。
分类索引:符合大脑思维,符合化繁为简-分而治之的思想。
线性索引:超出人的大脑,只能通过工具来实现,比如百度和Google。
2.2知识分类
技术:框架,语言,工具,类库
业务:行业相关
2.3知识的典型代表
项目经验总结、解决问题的方法和思路、JS和Java组件等。
2.4知识库建设指南
文档化:形成文档。
理论化:理论体系。
实践话:经过验证、能够反复应用。
标准化:做事有参考,提高效率。
三、改变与行动
1.问题很容易解决?
软件复用和知识库这2个对策,对拥有大量人才的公司来说根本不是难事。因为,大量的问题都已经解决,剩下的只是对这些解决问题的方法进行提炼、抽象,方便下次使用。
2.谁去解决?
公司肯定有人比我先知先觉,比我聪明,比我有能力的人肯定有一大把,我只是很奇怪为什么没有人去行动?去改变?
今天,我鼓起勇气,把自己的思考和对策分享下,期待交流…
四、参考资料
原文参见: 提高生产力的2个方法:软件复用和知识库http://FansUnion.cn/articles/2038
相关文章: Web开发的那点事 http://FansUnion.cn/category/se