企业内IT部门的一些问题总结

今天在跟同事在讨论系统编号需求的时候,顺便探讨到了系统UI的设计,以及软件设计的问题,小有感触,感觉有必要对软件开发进行下深深的反思,好好的思考一下。
 
反思过去2年:
    满打满算到公司快两年了,两年中我的感觉是基础差,不专业,不系统。

    试问两年多IT研发团队能拿出多少软件开发的思想结晶?有多少软件完完整整的走了软件开发生命周期?有多少做过最基本的单元测试?有多少软件做到了真正的面向对象?有多少软件真正的做到了优化?有多少数据库的设计符合第三范式的?有多少进行过反思,思考,产生过多少结果?又有多少有过大量并发的测试?有多少业务系统是从头到尾我们自己开发的?
    当然这些问题有些偏激,有些东西在类似企业似乎是不现实的,但我们必须要对自己负责,对自己的结晶负责,要么认真在开发上面思考,要么转行! 
    如果想说一个软件能用就行,如果说只想做一个简简单单的码农,那么我无话可说。但如果你想在开发方面做些贡献,那请对自己负责(同样不要整天说软件开发腻了,没意思,挣不到钱,想转行,那请问你有决心吗?警惕 思想的巨人,行动的矮子!)
 
    基础差:这个无可厚非,必须承认,而且必须要有自知之明;向来部门文化提倡学习,但对于软件研发这块的东西,学习最快的方式不是通过IBM的培训,Android的几天培训就可达到的,最快的方式是有个技术雄厚的“导师”来指导你,甚至可能的话在一个团队里面一起做项目,这个是成长最最快的,带给你的锻炼机会是最大的。但似乎通过“导师”这种方式来成长,在目前环境下可能性及其渺小,可能领导在其他方面的考虑,喜欢带动大学的就业率!但旁观的话来讲,一个小而精的团队战斗力比一个几十号人的战斗力要强若干倍,聚美优品网站10个IT人撑起了2亿多的资产。
    但外因往往是你这种小角色所不能改变的,那就变换途径,网络资源那么多,IT平台那么多,有几个人每天会花上一到两个小时去学习?当然我们不反对一坐到办公室就开始增、删、改、查,这是领导们最希望看到的。但学习是为自己负责,不要成为码农,一定要要多多思考问题的捷径,通过各种方式来思考,寻求创造性的解决问题!
 
    想在IT混,基础差可以,但一定要有强烈的求知欲!
 
    不专业:一个是需求,一个是流程,一个是技术。需求这个东西我这真的不想多说什么,我们目前开发的一些东西其实都是小东西,但往往也花了不少的时间,不敢说具体是哪一块的责任,我已经被搞糊涂了,但目前情况一定存在问题,而且一直未得到有效的解决,起码我工作以来都是这么觉得。一个需求持续开发到半年以上,注定是一个失败的需求,即使系统最后勉强上线了,也难耐风吹草动。
    流程:这个是唯一一个值得欣慰的,目前我们各种文档确实非常专业了,等到ITDC的上线,将具有跨时代的巨大意义,起码我们工作井井有条,虽然我们技术上不是最牛B的。
 
    技术:目前技术模块比较散,而且2年左右的时间技术切换非常频繁,由Dephi->X5->X6->.Net->Java等等,这个对于开发人员来讲不见得是一种好的现象。我们每个开发人员应该有自己的强项,有一门过硬的技术,同样还应该具备涉猎广泛。一定不要一会java、一会.net、一会X6的,对于自己的整个规划是个极大的弊端,这方面应该有人做相关的引导与控制!总之,技术上保持创新,保持学习,保持专一!
 
    不系统:这也是上述问题所带给我们需要思考的东西,目前情况来说,我们拿到一个需求往往都是重新开始,美工设计,表单设计,数据库设计,代码编写,都是在重复这样的一个工作,殊不知犯了软件开发的大忌,这种开发模式势必带来了时间和人力上的浪费(因为软件重用度低,复制粘贴键锃亮,重复劳动多,关注到逻辑和优化上面的精力偏少),更危险的是造成后期的系统散乱,难于维护。
 
    一个系统的Team,应该所有的软件都是一个风格样式的,不是五花八门的登陆界面,我们或许可以拿出部分时间来构造一个基础壁垒,所有的后期系统都基于这个基础架构,那样开发效率将是目前的几倍(最简单的一个例子,好的架构,完成一张表的增删改查只需要一分钟的时间,这就节省你的大量精力投入到更重要的事情中,一个人的价值绝对的不能浪费在这些基础资料的搭建上)
 
简单的就发这么些牢骚,不多说了,我怕去人资。
 
纵观上述说所,其实可以总结一个矛盾,我们是面向企业服务的IT,而不是IT产品公司,这因素决定着一些本质的东西,上面的一些观点可能我更偏激于IT产品公司上,但起码我们应该警惕一些东西,在众多技术选择上有所取舍,定好方向,在冲杀。还是那句话要为自己负责。

---------------------------------------------------
对开发工具的几点建议:
0、需求这块毕竟不能和专业的IT产品公司比,不能要求多了 
1、做Coding的一定要好好利用SVN这个工具。
2、做数据库的(系统设计,开发方向,不是DW的)建议用PowerDesigner,好好利用。
3、各个领域的(C/S,B/S,移动)要统一开发风格,最好能研究出自己的架构,所有的开发都基于此,而且应该拿出一部分精力好好研究下前端技术(UI)
4、经常总结自己的工具类库,将常用的功能单独封装,方便后面的重用。
5、Coding的时候多找找最优的解决方案。
6、对于用户访问比较多的系统,定时巡检,优化。
总之一个软件的提出到上线,希望有一条完整专业工具支持。
才疏学浅,只能总结这么点,有些观点难免偏激。

posted @ 2012-05-16 23:45  jackchain  阅读(1354)  评论(0编辑  收藏  举报