当前位置: 首页 > news >正文

那个外包工场

去年3月份到那家公司做外包,到今年3月回来,整整一年。

那是一家全国、乃至全世界都赫赫有名的大公司。我们从事的外包工作,就是开发一些系统,来管理他们在世界各地的一些业务和数据。他们自己有一个IT部门,技术应该比我们牛,我们做的这些东西是他们不屑做的。另外,我们开发的这些系统,也是他们自己其他部门投资的。公司太大了,像个帝国。

我所在的那个地方,叫某工具团队,组织结构主要是东家居于领导和关键职位、角色,各个外包公司的人混合、打散,分散于各个项目组,大家一起干活。在这里,来自哪家外包公司并不重要,大家都是平时闲聊时才知道,哦张三你是A公司的,李四你是B公司的,等等。

总结了一下,我认为这个工具团队的优点在于:

1、项目开发有一个比较规范的流程

从立项、设计、开发、测试、交付等各个环节,都显得比较规范。例如,设计阶段,有UI团队设计出UI,先是设计图,然后是切成html,里面还包括了可运行的javascript,做了前端很大一部分工作。采用MVC开发框架的项目组,开发人员几乎可以直接拿过来就使用。

开发的话,起码形式上是敏捷的,比如追求迭代、每日立会什么的。

测试,有测试用例评审,用禅道来进行管理,什么冒烟测试、回归测试什么的。有一个人数不少的测试团队。

2、组织结构按照流水作业进行划分:

流水作业的特点,就是每人各司其职,并且只负责一小部分,容易精熟,有利于提高工作效率。

工具团队这里,像UI、测试都是相对独立的小团队;像移动开发,也是一个独立的团队,各个项目如果需要手机APP,就把任务提给他们;开发角色里,也分为开发和数据库两种。


缺点:

1、由于是外包性质,成本是首要考虑因素,东家希望员工来了就能马上干活,并没有培养员工、技术研究的意愿;同时工期也定得很僵死,尽量压缩,甚至是不可能完成的任务,开发人员只能是怎么简单怎么来,没有什么设计、重构好讲。IT世界日新月异,工具团队成立不过2、3年,但看上去并没有什么技术沉淀和成长。像外部可能已被抛弃的silverlight,团队内部现在还在使用和维护,去年才开始逐渐转向asp.net mvc。总的来说,我感觉整个工具团队200多号人,并没有用到什么高深的技术;所做的系统,数据量也不多,人在里面学不到多少东西,呆久了就废了。

也可能是外包性质,人员没有多少归属感,优秀有抱负的走了,剩下的,因为团队缺乏培养的意愿和文化,所以多是平庸角色,老油条。

所以整个工具团队做出来的东西,都是一个个应急的项目,缺乏统筹性,先进性,它的业务范围,貌似不断被公司内部的IT部门产出的优秀产品所蚕食。当然,这只是我个人的观察。


2、前面提到,基于成本考虑,工期往往不是开发人员定的,而是投资方定的,所以可能很不科学,因此无偿加班是常有的事情。有一段时间,我所在的项目组甚至出现每天下班还要申请的情况。我想这也是人员流动的一个因素。


3、团队200多号人,但所有项目上的关键事情,都取决于团队最高领导一人。最高领导非常强势,其他副总角色,只负责执行。但最高领导往往很忙,无法及时响应,甚至永远没有回应。领导不发话,下属就不知该怎么做,这就比较麻烦。团队荣衰,系于一人,可谓人治。


4、这里工期很严,但好像又很喜欢开会,各种各样的会,评审会,需求澄清会,计划会,一开就好几个小时,开到过了午饭时间,过了晚饭时间。有时候,我23点回去睡觉,还看到领导在开会。但是会开完了就是完了,往往没有什么意义。甚至可能上午做出的结论,下午就会改变。有时邮件上正式发出去的文,看上去郑重其事,其实可以不必太过认真。


我还有一个个人的感觉,就是团队里面是冷冰冰的,毕竟是外包方,雇佣的性质特别明显。有一次,跟着最高领导干活,有个不明白的地方去问他,可能是之前做的东西不合他心意,他翻脸了,拒绝回答,直接让我找自己公司的领导沟通。

领导的个性如此,团队的文化潜移默化,可能也就是如此。有时候找其他人沟通,也往往如此。内部通信工具上,你问他,永远不会回答;有时候反应慢了点,他会说:让你们领导来跟我沟通。

在这里,循循善诱,娓娓道来,互相帮助,松结对编程,139模型,只是一个传说。


版权声明:本文为博主原屙文章,喜欢你就担走。

转载于:https://www.cnblogs.com/leftfist/p/4764251.html

相关文章:

  • Node学习5-events模块
  • javascript中 visibility和display的区别
  • npm ERR! Unexpected end of JSON input while parsing near '...inimist:^1.2.0}
  • mysql show命令集合
  • 单例模式的N种写法(Java版)
  • 基于dba_hist_sqlstat查看sql语句的性能历史
  • es6
  • win32之全屏窗口
  • 【ocp新题库】052最新考题收集整理-第7题
  • 蓝桥杯-基础练习12 十六进制转八进制
  • 8 quick ways to clear up drive space in Windows 10
  • 【原创】Hacker学习发展流程图 V1.0
  • 设计模式(八)_门面模式
  • centos 中文乱码解决办法
  • Confluence 6 WebDAV 禁用严格路径检查
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 08.Android之View事件问题
  • CentOS6 编译安装 redis-3.2.3
  • Docker 笔记(2):Dockerfile
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JavaScript设计模式系列一:工厂模式
  • JDK 6和JDK 7中的substring()方法
  • Just for fun——迅速写完快速排序
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • spring-boot List转Page
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 使用putty远程连接linux
  • 数组大概知多少
  • 一个项目push到多个远程Git仓库
  • 再谈express与koa的对比
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 积累各种好的链接
  • #预处理和函数的对比以及条件编译
  • $$$$GB2312-80区位编码表$$$$
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (4)logging(日志模块)
  • (ZT)一个美国文科博士的YardLife
  • (第27天)Oracle 数据泵转换分区表
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)重识new
  • (转载)利用webkit抓取动态网页和链接
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net连接MySQL的方法
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • ::什么意思
  • @Autowired自动装配
  • @html.ActionLink的几种参数格式
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [BUAA软工]第一次博客作业---阅读《构建之法》