前两天写《自主开发与带兵打仗》分析了一下自主开发的利与弊,得到了园内不少朋友的反馈,但我觉得还有很多东西没有交待清楚,可能有很多朋友也跟我一样在公司的IT部门,有自己的研发团队也有很多外购的系统或产品。IT部门其实很多情况下对于一个公司其实很多情况下是一个很尴尬的部门,更多情况下在老板的印象里是一个管管机器、管管系统的部门,而所谓的做出点成绩却是要投入大量的成本,而所谓的创新更是无稽之谈。因此我觉得对于一个IT部门来在研发方面很遇到很多问题,而这些问题可能更多跟公司的行业、决策者对于信息化的认知等息息相关的。

其实作为集团下属IT公司的研发团队组建到现在超过三年的时间了(公司的时间要更长点),我刚好有幸经历过了这三年大变革的阶段,从最初的纯PHP团队到纯JAVA团队再到JAVA+.NET团队几乎每年都会有大的调整,大的人员结构变化,可以说在这三年的时候里栽了不少跟斗,而我们自己的印象是公司老在调整,不管是目标还是人员,老板的印象是投了那么多钱却没有什么效益产出。

来看看集团IT的场景吧:

老板:你看咱们有这么多公司,有这么多需求是吧,你们IT这边搞出些系统把这些解决了,对于你们来讲以后就有自己独立发展的可能了,内部公司就作为你们的第一批客户是吧。另外现在市场是有这么多开源的产品你把这些产品整合整合起来不就是自己的系统了嘛。现有很多东西都不需要自主开发了,你搞出一个平台来了有很多人能帮你来开发,说着说着就手起手上的iPad跟我们说上,你看iPad有这么多软件这些都是苹果写的吗?不是,那都是别人帮苹果写的,所以说世界上有这么多聪明的人,你不可能把这些都招聘过来工作,但是如果你有平台的话那么他们就有可能在你的平台上来为你服务,你还不需要给他们付钱,是吧。好吧,咱们就做个平台,这个平台要包含XX、XX、XX、XX、XX、XX、XX、XX、XX、XX、XX,你看你们多久可以搞出来嘛。。。。

IT: 老板这个我们得评估系统功能、工作量、人员,对了还有一部分人在您上次交待的项目上得做完了才能抽出来。。。

老板:我跟你们说你们这种工作方式是不行的,你做不完的工作你可以拆分成任务包嘛,是吧,你可以把这个任务包指派给别人,还可以定一个价格,以后咱们公司就通过任务包来统计工资跟绩效。至于上次那个项目嘛先别做了,现在这是大的概念做好了就可以把上次那个给涵盖到了。所以那个项目的人员从现在开始就调过来好吧。还有工作包的事我觉得这样也不要太久,7天!好吧。为啥七天呢因为上帝创靠人类是用了7天的。所以以后每个工作都要拆成七天。

两个月后,老板又通知IT开会,那个。。咱们现在要搞一个大的XX平台,这个平台可以OOXXOOXXOOXX。。。。,你们看你们IT把人员的都组织一下从现在就开始做这项工作,每周跟我汇报。。。

一年后,老板要求IT提交年度分析报告,汇报刚到一半老板就开始说我投了这么多钱养你们这些几百号人,也没搞出几个像样的产品来出。。。过年前半个月公司开始裁员,开春老板又想了一个新的平台,又开始招人倒腾起来了。。。。

其实我觉得这里面的矛盾有点类似于“我国现阶段的主要矛盾是人民群众日益增长的物业文件需求与社会生产对相对落后的矛盾。”,以上的场景里老板提了很多目前主流的思想,比如:项目产品化、平台接口化、分包、互联网化等等概念。因为随着技术、产品、概念更新得越来越快,很多时候作为公司内部IT已经很难再跟上主流的技术、产品、管理方式。但是由于主流技术或产品又传播得太快导致了IT部门越来越难满足老板的胃口,比如老板刚买了个iPad就想要在上面办公了,而之前的系统其实有很多是不兼容的,修改起来费时费力。当然除了IT部门的原因我觉得很多情况下公司文化主要是决策者(老板)的认识是有很多关系的。我觉得作为内部研发团队会有以下几个问题:

1. 投资不够

其实从一个需求自主开发到一个成熟是一个相对漫长的过程,而在此期间又需要不断的投入以对人员、产品进行调整以优化。但很多情况下作为公司决策者或者业务部门只看到眼前的利益。一个项目如果超过半年以上的话就很难再得到有效的支持了。

2. 团队素质

我们大家都知道“一分钱一分货”,作项目的团队跟做产品的其实从人员技能要求来讲是有很大差距的,但是很多公司往往又无法投入如此大的资源来构建产品团队,更多情况下在严格的成本控制下面很难招到能满足“产品化”要求的人员,如果人员不能满足的话那么就无从谈起产品化了。

3.没有主导权

IT部门在公司里面基本都是“二流”部门,所以很难避免受到公司或者业务部门战略调整的影响,很多IT项目或者人员不得不因为调整而调整。而有时候如果IT部门觉得跟些解决方案其实可以的为业务部门服务,但得不到业务支持的话其实很多情况下也会半途而废。

当然作为IT部门的我们肯定也希望起走这样的困境,毕竟信息化的价值谁都不敢否定,这也是为什么存在的基本理由。初步考虑我觉得以下的一些方面是不是可供参考或借鉴的:

1. 自主开发决策原则

如《自主开发与带兵打仗》里讲到的,其实我们并不是所有的产品或系统是需要自主开发的或者说是值得自主开发的,我觉得如果要决定自主开发来做的话主要是考虑是不是主要的业务方向以便能获取长期的支持,也能积累和提升相应的业务经验与价值,至于这个系统自己有没有能力做或者性价比高不高我觉得倒是其次的了。

2.基础与积累很重要

公司很多项目都需要开发,那么开发的话我觉得不需要一个一个的重头开始做,更不能从PHP、JAVA、.NET整批整批的换,这样的代价太高了。要找准主要方向,管理好相关的代码、文档,当然最重要的还是团队要稳健。还有我最近在考虑要不要用一些像微软的Sharepoint 之类的产品来提高基础平台的能力。这样很多时候开发就不会从头开始了。但是SP的人员成本还满高的可能有待商榷,不过应该是一个方向。

3.新事务要小而快

除了日常的IT及研发工作之后还要对于新事务要采取“小而快”的原则,觉得值得试一试就要快速的组建一个小团队快速的发布成果,并在公司内部培养。

4.规划很重要

很多公司的IT都没有什么规划,或者有的话就只有一年的规划,其实IT建设是一个相对漫长的过程。我觉得主要的规划以三年为一个周期比较合适,然后每年还有一个相对详细的规划。并且这个规划一定要得到决策者的支持。规划里面除了IT和研发的事项之外其实还要考虑到非IT人员的培训、软、硬件重要的升级等事项。比如全员升级到Win7之类的。不然你以后开发系统体魄得考虑IE6的问题。

5.开源值得尝试吗

公司内部的项目除了使用一些开源的解决方案之外有没有办法可以把自己的研发成果开源出去,以便构建社区,提高产品化的可能性。这种方式在互联网公司里面比较普遍,不知道这个否适合于企业研发领域。

总结

好了,我觉得我了解到的还有我的想法交待得差不多了,以上只是个人的小观点,可能有很多夸大或者不考谱的成份,等着拍砖。。。。

再谈自主开发与企业IT管理的更多相关文章

  1. 【转】 Pro Android学习笔记(四三):Fragment(8):再谈Transaction和管理器

    目录(?)[-] Transaction的一些操作 再谈FragmentManager 调用其他fragment的方法 唤起activity 唤起fragment和相互通信 一些其它 Transact ...

  2. soapUI 再谈SoapUI接口测试--文件组织与接口“布局”管理

    再谈SoapUI接口测试--文件组织与接口“布局”管理 by:授客 QQ:1033553122 SoapUI-Pro-x64-5.1.2_576025(含破解文件),软件下载地址: http://pa ...

  3. [转]Web3.0时代,企业知识管理新趋势

    [转自http://www.amt.com.cn/html/ManageFront/AMTPoint0/2014/0716/1370.html] Web3.0时代,企业知识管理新趋势 2014-07- ...

  4. Unity游戏开发中的内存管理_资料

    内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...

  5. [转载]再谈百度:KPI、无人机,以及一个必须给父母看的案例

    [转载]再谈百度:KPI.无人机,以及一个必须给父母看的案例 发表于 2016-03-15   |   0 Comments   |   阅读次数 33 原文: 再谈百度:KPI.无人机,以及一个必须 ...

  6. 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量

    当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...

  7. Sharepoint 2013企业内容管理学习笔记终章

    说完了半自动化内容管理&全自动化内容管理,下面我们来说另外一个企业内容管理的东东吧 企业内容记录化 这个企业内容记录化,其实是我起的名字了,在sharepoint里面它叫做声明记录 这个声明记 ...

  8. DB 分库分表(3):关于使用框架还是自主开发以及 sharding 实现层面的考量

    当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...

  9. 再谈mysql锁机制及原理—锁的诠释

    加锁是实现数据库并发控制的一个非常重要的技术.当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁.加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更 ...

随机推荐

  1. [PCL]keypoint

    1. Harris角点 http://www.cnblogs.com/ironstark/p/5064848.html 2. ISS关键点 http://www.cnblogs.com/ironsta ...

  2. IIS URL Rewrite redirect from one Domain to another

    IIS URL Rewrite enables Web administrators to create powerful rules to implement URLs that are easie ...

  3. NET4.5之初识async与await

    这是两个关键字,用于异步编程.我们传统的异步编程方式一般是Thread.ThreadPool.BeginXXX.EndXXX等等.把调用.回调分开来,代码的逻辑是有跳跃的,于是会导致思路不是很清晰的问 ...

  4. java学习材料

    java资料大全 http://zz563143188.iteye.com/ it男视野扩展资料 HTTP://WLSAM168.400GB.COM 最全 spring mvc http://jinn ...

  5. log4j使用

    Spring中在src/main/resources下创建log4j.xml 或log4j.properties,在maven下打包时resources文件夹下面的文件会自动copy到WEB-INF/ ...

  6. JavaScript----marquee滚动标签 图片无缝滚动 插入百度地图

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  7. 显示和隐藏Mac下的 隐藏文件

    显示:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏:defaults write com.apple.finder Ap ...

  8. fzuoj Problem 2182 水题

    http://acm.fzu.edu.cn/problem.php?pid=2182 Problem 2182 水题 Accept: 188    Submit: 277Time Limit: 100 ...

  9. JavaOOP QuickHit项目分析

    项目需求:游戏等级6级,随机字符串每级长度不同.每升一级减少比较次数,但是字符串长度相应增加!每级总分数不同,如果游戏中途输入错误则游戏退出!玩家每次在规定时间内输入字符串的同时,打印出游戏难度等级. ...

  10. <构建之法>之一至二章

    身在大学,却想起了在高中的生活和初中的生活,特别是初中的生活,为什么这么说呢!因为<构建之法>,看了其中的两章的内容,为什么想到了初中和高中的生活呢,因为在高中和初三的时候看的最多的就是课 ...