|
did you mean: Các cách hạ sốt cho trẻ mới nhất mang lại nhiều điều bổ ích trong cuộc sống
|
|
|
|
|
Ah, so yours is the last company to realise that off-shoring doesn't work. Wow, took two decades but at least now finally every company on Earth gets it, please turn off the lights on your way out.
Go to Q&A, see all those "plz send codes its urgent" questions? They are the people working at the companies you are off-shoring your work to.
|
|
|
|
|
Yes, to me it seems like a dedicated, collocated, cross-functional team is the obvious structure for actually getting stuff done. That's why I was surprised to hear that the choice to use offshore developers was an intentional decision based on a desire to rapidly scale teams for a business that plans budgets a year at a time.
So I wouldn't necessarily say our company is just figuring this out. I'd say they knew the limitations all along and chose to use an offshore company anyway.
Console.WriteLine("Scott Clayton");
|
|
|
|
|
Scott Clayton wrote: They explained that they're not optimizing for speed, quality or cost, but rather flexibility. Managers making the managing of people easier, by sacrificing speed, quality and profit.
Scott Clayton wrote: Do any of you work for a company with the same mindset? I worked at a company like that a few years ago. They suggested I look for other companies
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Quote: Managers making the managing of people easier, by sacrificing speed, quality and profit.
I've not thought about it from that perspective before. When I was arguing for minimizing our usage of offshore companies (which is not a popular opinion around here by any means), they said it would jeopardize my own position if our budget was cut. Right now we "just" drop a few contractors when that happens.
Perhaps being part of a real team is more valuable than job security.
Console.WriteLine("Scott Clayton");
|
|
|
|
|
And their budget moves so drastically that you should be daily worried? What kind of job-security would that be? What kind of projects are those, that he must drop hired talent because of budget-issue's?
Sounds like a peanut-factory where the amount of workers has to be exactly right for the amount of harvested peanuts.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
The company itself is certainly not hurting for money. The problem is that business owners obtain funding for projects which is translated into staffing up a team for the work. If the project is delayed or cancelled, those developers can't bill to the project, which causes problems, which means they get cut. I've lost or gained developers on my team 3 or so times this year already because they were moved to or from a project.
I'm not going to pretend to understand the complexities of our budgeting around here. Unfortunately this lack of knowledge on my part means that these discussions typically end with a budget concern that "people like me" just don't understand.
Console.WriteLine("Scott Clayton");
|
|
|
|
|
Scott Clayton wrote: these discussions typically end with a budget concern that "people like me" just don't understand. You mean it ends in bullshit that they can't explain to a rational and pragmatic person.
Scott Clayton wrote: If the project is delayed or cancelled, those developers can't bill to the project, which causes problems, which means they get cut. I don't care if I can bill a cancelled project; I'll expect to be paid anyway. It also means you lack a loyal workforce - doesn't sound very inviting.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
At a guess, I'd expect at least part of their remuneration package will be in response to the 'responsibility' they shoulder.
This whole ethos is designed to avoid that responsibility as much as possible.
They're not managers - just bean counters....
|
|
|
|
|
They did the same here in two manners.
1 - an inhouse -'out house' with a team in India a few tokens, here
2 - a contractor who subcontracted to India
Group 1's software is mediocre - but works. Not well, but works. Management has faces to stare into. They also hold data hostage and I've actually gotten some degree of support by refusing to work with them if I cannot access the data (which is 'our' property).
Group 2's stuff is basically trash. On such item, it appears, I single handled had tossed in the garbage (rubbish bin). The ones that linger cause eye-strain.
Now I'll add (3) which was outsourced within the US. It works well - but they're unresponsive and also seem to be holding data hostage.
Some time back, say with the last year or so, I was expecting myself and the rest of IT to be disappeared. Since then, I think they've come to reflect that the in-house built software is robust and the people who make it have a direct stake in it - not only for their pay check, but the pride (or shame) based upon its quality. We're also rapidly responsive to company needs. I actually believe a few of the realize that some of the packages made for them are amazingly powerful (if they'd use them instead of outsourcing). In this case, they all don't want to hear anything technical, except when they want to judge it.
Anyway - the very few of us available for development, they realized, keep the company running. Very few, indeed!Groups 1 through 3, it turns out, are apparently going to fade away (from our view, at least).
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Sounds like you've seen a broader spectrum of outsourcing that I have. Thanks for the comparison.
One problem we don't have here is having our data taken hostage, but that's only because we have strict rules around where data is stored and who has access to it.
We've transitioned systems to other internal teams in the past, and typically they also just assume that if it was written by offshore that it's unmanageable trash and that it'll need to be rewritten.
In some ways it's insulting how we treat our offshore developers. Regardless of their skill level, I don't like how we refer to them as "resources" and never learn their names. It's admittedly very difficult to talk directly to them as team members with the time zone and language barriers, but still...
Console.WriteLine("Scott Clayton");
|
|
|
|
|
They did the same here in two manners.
1 - an inhouse -'out house' with a team in India a few tokens, here
2 - a contractor who subcontracted to India
Group 1's software is mediocre - but works. Not well, but works. Management has faces to stare into. They also hold data hostage and I've actually gotten some degree of support by refusing to work with them if I cannot access the data (which is 'our' property).
Group 2's stuff is basically trash. On such item, it appears, I single handled had tossed in the garbage (rubbish bin). The ones that linger cause eye-strain.
Now I'll add (3) which was outsourced within the US. It works well - but they're unresponsive and also seem to be holding data hostage.
Some time back, say with the last year or so, I was expecting myself and the rest of IT to be disappeared. Since then, I think they've come to reflect that the in-house built software is robust and the people who make it have a direct stake in it - not only for their pay check, but the pride (or shame) based upon its quality. We're also rapidly responsive to company needs. I actually believe a few of the realize that some of the packages made for them are amazingly powerful (if they'd use them instead of outsourcing). In this case, they all don't want to hear anything technical, but won't hesitate to judge it. Ignorance, I suppose, keeps them from being prejudiced.
Anyway - the very few of us available for development, they realized, keep the company running. Very few, indeed! Groups 1 through 3, it turns out, are apparently going to fade away (from our view, at least). Outsourcing software development, here, like almost everywhere, has blown it.
The only step left for them (management) to understand is that investing in one or two more additional capable developers is a lot cheaper (and ultimately more productive) than hiring a dozen desk-monkeys. Hopefully, before someone heads for greener pastures.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Seems like a duplicate post?
Anyway, having personal ownership and pride in a system is the most exciting part of software development (IMHO). I had that at my previous job, but not here.
Console.WriteLine("Scott Clayton");
|
|
|
|
|
Scott Clayton wrote: they're not optimizing for speed, quality or cost, but rather flexibility. With the uncertainty of our yearly budget and workloads, offshore companies allow us to quickly add or remove bodies in a tight timeline
...
Do any of you work for a company with the same mindset? Not today, but in past lives I have. Back then, it wasn't offshore contractors, but onshore ones. However, the mentality was the same -- contractors cost more for the amount of work, but are easily dropped headcount when the company has to do a layoff. They also come out of a different line on the balance sheet (same line as office supplies..), which gives the company a tax write-off for the wages they are paid that they can't get for wages paid to employees.
|
|
|
|
|
Yep, that sounds like the same thing to me.
This makes me feel like my support for dropping offshore development is just indirectly adding uncertainty to my own position.
I just can't help but look at other leading companies that are successfully building real teams that produce real results. I want that.
Console.WriteLine("Scott Clayton");
|
|
|
|
|
I've survived a layoff as a contractor, watching some of the "permanent" employees being asked to leave while they kept me. It really is all about what you know.
|
|
|
|
|
This is not exactly new; it's the reason that I became a contractor many years ago. Even then, it was clear to me that the Big Business would grow to depend on a small core for their domain knowledge, and hand out most of the work to contractors. As long ago as 1990, I remember working in a company where a standing joke was that there were more contractors than FTEs in the building.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
It's nice to hear this from the perspective of a contractor. Were you able to work in the same office as the FTEs, or did they hire you through a development company on a per-job basis?
The reason I ask is that we also have a lot of onshore contractors here, and for the most part they're highly skilled and have significant domain knowledge. The vast majority of our issues are related to offshore contractors hired indirectly through a development company.
Console.WriteLine("Scott Clayton");
|
|
|
|
|
All of us, both the FTEs and the contractors who did much of the real work, had offices in the same building, which was the corporate headquarters. All of us brought significant domain knowledge to bear on the work we did. Most of us worked for companies that had long term, nearly evergreen, contracts directly with the client. At the time, I owned an independent software consultancy, so I happened to hold my own evergreen contract. Over a fifteen year period, I was in and out periodically. When I wasn't working there, I had other clients, also generally on long term engagements of the same general kind.
On more recent engagements, I have functioned as the onshore body supplied by an agency. In a couple of those, I've worked with a combination of onshore and offshore contractors of varying skills. One recent engagement, which lasted but a few weeks, was in a shop that was composed almost entirely of H-1B visa holders who turned over yearly, and it showed. Indeed, I am convinced that's the main reason that the client was losing money hand over fist on the contract. Supporting an aging point of sale system with constant turnover is a very bad strategy.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Define "better". "Better" should always include a target, "better for X". And if X is flexibility, then you indeed won't find anything better than hiring a cheap code sweatshop.
|
|
|
|
|
I started saying this in the early 2000's...
The first 5 years or so of offshoring, you're losing money.
The next 5 years or so, you're breaking even(ish), but you're still behind because of the loss the first few years.
By the end of the third five-year period, you're finally money ahead... but now you have no corporate knowledge, the people who've gained experience at your expense now want MORE money (so much that you consider on-shoring the work again), your support hours are often offset significantly or nearly 100% from your work hours, and... no local developers want to work for your company because they've seen what you did with your developers. Your only bet will be to onshore the work through contractors or new companies.
15 years later, I'm seeing my prediction come true... and companies are suffering, badly, as a result.
It's got ZERO to do with flexibility, and everything to do with the appearance of saving money.
I saw it happen, directly, at SunGard Availability Services, EMC, and Dell. I'm sure it's happening elsewhere, too.
Decent managers will see it happening and wil have made the business case to retain onshore devs, in whole or in part, and it'll save those companies a mountain of cash in the long run.
|
|
|
|
|
Member 12009066 wrote: It's got ZERO to do with flexibility, and everything to do with the appearance of saving money.
That's a good point. While to me they may sell it as optimizing flexibility, to the higher-ups it might be sold as being more cost effective.
Recently our senior leadership asked for feedback from the department as a whole, and the most popular suggestions included less outsourcing and fundamentally changing our budgeting model. The feedback seems to have been somehow interpreted as "we need more devops and more agile training."
Console.WriteLine("Scott Clayton");
|
|
|
|
|
Nothing changes until management realizes the approach is wrong. Fully and completely wrong.
If the offshoring team is, say, 10 people, I can hire 5 American developers who meet my higher standards, and as a team, we will provide better quality in a shorter time frame. Quality that includes flexibility, speed, and efficacy, and delivers the end product for a lower lifecycle cost. Been there, done that.
And not just I, but any knowledgeable, experienced software engineer/architect with good leadership and business skills who has had experience managing quality software development teams.
|
|
|
|
|
I will take a different tact...
Change your organization by changing HOW you send work to reduce the error rate.
I work with a set team of offshored people. Same people for 10+yrs... Love it.
One has been with us for like 18+ years...
The issues with turnover and ramp up, is because management FALSELY assumes Men and Months are interchangeable. They are not.
But do what you can so that EVERYTHING they deliver is better, and gets better. Push all the unit testing over there. Use tools that make sure things are happening. Review the code being checked in.
My first response is to SLOW THEM DOWN, while raising their quality. Then work the system so the time shift works to an advantage. This can be quite a valuable skillset to develop.
there are bigger companies facing similar problems. As someone wrote... You are learning what 90% of the companies I feel have learned. It sounds good on paper!
Make a list of the top 10 things you would like to fix, GIVEN the environment is what it is.
Indicate the cost of not fixing those things.
Identify the low hanging fruit, and knock it out.
Any non-trivial process can be improved. And I would improve it so that your time is not wasted testing "crap" that doesn't work.
As an example, VERY EARLY ON, I explained to the first offshore guy that THIS is the formula he should see in his head for getting PAID:
((Hours Spent)*(Hourly Rate)) / (Number of times it took you to get it right)^2
the anticipation is you will spend more time getting it right the first time. After that, your valuable drops of SO QUICKLY that you should not be getting paid much.
That forced us to change our front-end process to eradicate errors in the communication process.
To encourage questions, while forging ahead one what he could forge ahead on. To reduce deliveries to STABLE/SOLID/TESTED only! (I aint got time to test your code, I want to see it run).
You have a basket of Lemons... Be flexible, make Lemonade, Leomon and Vodka, Lemon Martinis, and have some fun!
|
|
|
|
|
Thank you, this is extremely valuable. I can complain all day about how it's not working, but until I can propose a superior alternative, it won't amount to anything.
If I'm understanding correctly, the goal is to work on building the offshore team and any communication patterns, processes and expectations to the point where they're delivering stable, quality increments. I've recently requested tools or training for offshore developers only to be told that the offshore company is contractually responsible for training their own developers. That makes it very difficult to explain how, for instance, I expect unit tests to be written.
That still leaves a few problems such as suddenly losing someone with domain knowledge just because a project lost funding. Unfortunately that's out of my control. One of our offshore teams has fluctuated from 3 to 1 and up to 5 developers within the last year.
Since realistically it's unlikely that they'll stop outsourcing development work, I'll try approaching this from the angle of building a more stable offshore team that can learn our systems and technologies over the long term without getting moved around. Maybe they won't let me build an onshore team, but they may be open to helping me maintain a consistent offshore one.
Console.WriteLine("Scott Clayton");
|
|
|
|
|