about outsourcing, really bad?

本文通过一个具体的项目案例,揭示了企业在寻求海外低成本Java开发资源时可能遇到的问题,包括沟通障碍、代码质量低下及团队士气受损等。同时,文章还探讨了CIO们对于软件开发价值认知的偏差。


What CIOs Should Know About Outsourcing Enterprise Java

original

Your manager Frank started the meeting by saying that the budget for the new project had been approved, but half of the project will be outsourced to a great team from overseas. Can you imagine, their rates for Java programmers can go as low as $15 an hour!

No, we're not losing anyone from our team, and you should take it as an opportunity to work as team leaders, helping our new partners to hit the ground running. No, this wasn't my decision; it came from above.

Three Months Later
Mary. I've asked them to add two fields to a JTable on the Invoice screen. The data are being retrieved from our database so they'd need to modify an SQL query as well. I've sent them this e-mail yesterday, but it was night time over there, so they've responded today asking me to send them the modified SQL and write the name of the Java class and method where this new code should reside. I could've done this by myself in two hours.

Frank. Just be patient, it's a new application for them. By the way, I'd appreciate it if you could stay a little longer today. We're having a meeting with our colleagues from overseas, but there's a time difference, you know… No worries, they're willing to come to work early, so we're starting our meeting at 7pm.

Six Months Later
Frank. The system has to go to UAT in two weeks. We've all worked hard, our remote colleagues put in lots of overtime. John, you're our Java expert, and you've spent the last two weeks doing the code review of that module. Why does it work a little slow?

John. Well, that module isn't written in Java. I mean, they were using Java syntax, but it wasn't Java programming. There are chunks of unused code fragments, the code isn't object-oriented, they used the wrong Java collections, and there's unnecessary synchronization all over the place. But I can re-write the entire piece in three weeks.

Frank. OK, let's do it - but quietly.

After spending many nights in the office, the project was saved. Frank got promoted for delivering the project almost on time and showing "strong leadership in managing cost-saving external resources." But the team's morale went down the drain; two local resources (a k a John and Mary) got small bonuses and started looking for new jobs.

Post-Mortem Analysis
Unfortunately, more and more CIOs believe that computer programming is a commodity skill that can be bought cheaply when needed and replaced easily like a receptionist, mailman, or any other clerk. They don't believe that having a pool of knowledgeable and talented developers adds any value to the organization. This wouldn't be the case if the development managers (the Franks) explained to them the price that's paid for the success of such projects. But most of these managers never do this, because of conflict of interest: Frank's only goal is his smooth movement up the corporate ladder. Moreover, to increase his importance, Frank inflates the resources needed for the project on purpose. The CIO doesn't have the budget for several additional $70K-a-year developers, so he settles on the same number of $30K developers from overseas with similar résumés. Realistically, the "cheap" labor is actually an additional expense on top of the salaries of local employees.

Another hidden expense is the extra time spent writing super-detailed functional specifications and validating the overseas work. Here's one more: for security reasons, you may have to create and maintain a separate encrypted version of your database for the offshore team.

Having said all this, I can't blame the overseas developers. Their countries are experiencing a golden IT rush, so young kids are ready to dive into muddy Java waters after spending several months in vocational school (if I were in their shoes I'd do the same thing). They put in long hours trying to learn programming and the business of their rich clients (not to be confused with "fat clients") on the run. As a result of this IT boom, the turnover rate in offshore teams can be as high as 100%. You can often see it just by looking at the source code. Sometimes you get a feeling that a 200-line Java program was written by 10 different people of different qualifications. Forget about naming conventions, design patterns, or any programming style.

Hey, Frank, if you need seven people for a project, have the guts to say seven and not 10. Yes, you won't have a chance to manage an international (or as they like to say global) project, but you'll definitely sleep better at night. Before giving a chunk of your project to a company overseas, talk to your developers and ask them if they really need this help. Your developers are human beings and not just nameless resources.

On the other hand, outsourcing works fine for small businesses because both parties know that the owners of such businesses count their money and won't pay for poor-quality jobs. It also works when you hire an offshore team of senior people who know the business you're in. No, their rates aren't cheap, and don't have to be! But such teams usually consist of professionals, who take pride in their work, deliver on time without putting an extra burden on your own developers, and even mentor your staff. This is the outsourcing I vote for, but I'm not the CIO of your company.

© 2006 SYS-CON Media Inc.

【四旋翼无人机】具备螺旋桨倾斜机构的全驱动四旋翼无人机:建模与控制研究(Matlab代码、Simulink仿真实现)内容概要:本文围绕具备螺旋桨倾斜机构的全驱动四旋翼无人机展开研究,重点探讨其系统建模与控制策略,结合Matlab代码与Simulink仿真实现。文章详细分析了无人机的动力学模型,特别是引入螺旋桨倾斜机构后带来的全驱动特性,使其在姿态与位置控制上具备更强的机动性与自由度。研究涵盖了非线性系统建模、控制器设计(如PID、MPC、非线性控制等)、仿真验证及动态响应分析,旨在提升无人机在复杂环境下的稳定性和控制精度。同时,文中提供的Matlab/Simulink资源便于读者复现实验并进一步优化控制算法。; 适合人群:具备一定控制理论基础和Matlab/Simulink仿真经验的研究生、科研人员及无人机控制系统开发工程师,尤其适合从事飞行器建模与先进控制算法研究的专业人员。; 使用场景及目标:①用于全驱动四旋翼无人机的动力学建模与仿真平台搭建;②研究先进控制算法(如模型预测控制、非线性控制)在无人机系统中的应用;③支持科研论文复现、课程设计或毕业课题开发,推动无人机高机动控制技术的研究进展。; 阅读建议:建议读者结合文档提供的Matlab代码与Simulink模型,逐步实现建模与控制算法,重点关注坐标系定义、力矩分配逻辑及控制闭环的设计细节,同时可通过修改参数和添加扰动来验证系统的鲁棒性与适应性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值