|
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");
|
|
|
|
|
Scott,
You are clearly moving in the right direction now... Work with what you are given.
For example, you mention "tools" that you cannot get them to buy. Okay, you have to be like NASA.
You have a capsule in space. YOU start with their inventory of what they have.
- People: Quite Variable
- Tools: Probably fixed, but you should know them!
- Process: You should know this
- Communication Strengths and Weaknesses (BTW, Read Malcolm Gladwell on the power index of language.
I am lucky, Russian has a pretty high power index, like English. But the Indian culture has a lower
power index (Meaning they tend to never say NO, but give a weak yes, which means no!))
- A list of problems you would like to get rid of
- A list of skills/techniques to take advantage of
Now, solve the problems with the available resources. Make it iterative.
The single biggest thing I did was to point out that THEY HAVE ZERO VALUE if they waste time.
Programmers will make "weird decisions" like "I need to prompt for something, but EVERYONE KNOWS its in Kg/m^2,
so I wont mention the units." Sometimes because it might take them a few extra minutes. And the negative impact
of those types of decisions are catastrophic over time.
If I were in your shoes, I would push for:
- Strong Coding Standards, and tools to help make sure all checked in code fits
- Strong Testing Standards/Processes. Keeping in mind, in other countries it is cheaper to use humans, than to use tools.
- A Checklist of things they have to do before they publish
- Clearly a hierarchy of Development, Staging, and Production
- Regression (Any bug found must be tested for in the future)
- Delineation between Critical/Complex systems (High Risk to change), and easy to change/low-risk areas
- REGULAR After Action Reviews (Post-Mortems), I have an article about these. Do more of the good, less of the bad.
Work the process. Get it cleaned up. And make sure that the tools are properly configured for THEIR environment.
Maybe the BUILD/MAKE Process has to start with a PREAMBLE and END with text about what they MUST DO before they commit.
Eventually, say in 6 months. Your process should stabilize. Their quality should go up BECAUSE of fewer hiccups!
The time spent communicating and the quality of the communication should be increasing.
Then, push to add ONE developer locally. Maybe to manage the critical stuff. Maybe to make the UI/UX changes that are cultural, and would eliminate the need for a 2 day turnaround. Management is spending money on resources. They don't want a full team local, and that is fine. Help them find a blend. You WILL be able to see if it is worth it for them or not.
But I will argue that developing these skills would make you more valuable for this company and your next. BTW, this is how I ask my developers to work! I encourage them to keep developing skills for their next job and next company. I want them to have other options, and I MUST treat them like tools to be kept sharp, not grapes I need to squeeze wine from (A feeling I believe most developers will recognize, that I always despised).
I truly hope this helps!
|
|
|
|
|
Yes, this is definitely helpful.
I'll have take a look at that book on the power indexes of languages. Just recently some stuff didn't get done because I understood "yes" to mean yes. Learning cultural differences, especially as they apply to communication, is important.
If I'm honest, I've been slacking on reviewing code recently. Sometimes I give up because I'm strapped for time or because I've already sent it back a few times.
Our release pipeline is decently robust. Pull requests automatically trigger a build and run unit tests. Releases themselves are scripted and require just a few approvals in TFS Release Manager.
Takeaways:
- Document standards, processes, and expectations
- Focus on enforcing quality
- Include offshore in postmortems
- Stop blaming contractors
And by the way, I seriously plan to make this work. This isn't an academic exercise or venue to rant. I really want to fix this up.
Thanks again!
Console.WriteLine("Scott Clayton");
|
|
|
|
|
Scott,
I am glad I could help. DM me if you need any help if you run into specific hurdles.
But usually once you adjust your mindset, the solutions present themselves.
Also, handle it iteratively. It will NEVER be perfect, but it can always be better.
|
|
|
|
|
It's the modern equivalent of building a pyramid; turnover is not an issue.
It was the plan all along: the "priests" do the planning; the actual work is left for someone else.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Just got this in my inbox from edX:
Introduction to Computer Science from Harvard, better known as CS50, is the largest course on the Harvard campus. More than 1,000,000 learners worldwide have already registered for the course on edX.
Now we're excited to welcome three more courses to the CS50 family.
CS50's Web Programming with Python and JavaScript
Web programming with Python! Ain't that a hoot!
Universities are absolutely hilarious these days (or always).
|
|
|
|
|
Python and JavaScript = a giant snake on coffee? What could go wrong?
|
|
|
|
|
Eric Lynch wrote: a giant snake on coffee
|
|
|
|
|
The problem is real and serious!
|
|
|
|
|
I used to think about it ("languages").
UWP is all about "language extensions".
It won't matter (soon) what "language" you choose, if you run the "MS stack", it will all wind up executing .NET "core".
(I used to think SqLite was some sort of SQL Server CE competitor; it can't be because MS "owns" Sqlite; or at least one of the disto's).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
We're down to the final week of the Summer Fun with Arduino Challenge and we've gotten some great article entries over the weekend. So if you've started writing your article and need a reason to finish, look no further - we're giving away a Raspberry Pi and CodeProject mug to the first 10 participants to complete challenge 1 and either challenge 2 or 3. Send in those articles today!
And kudos to Soumya Kishore who is our lucky spot prize winner of the day!
|
|
|
|
|
At the Dance World Cup, here in Sitges in Spain, World Finals 2018 | Dance World Cup[^]
The US did attend, along with 46 other countries, from Argentina, to Mexico, to Thailand and China, with a lot of others inbetween.
England compete apart from Scotland and Wales. And there are also teams from Jersey, Guernsey, and Gibraltar.
I have a personal interest in this, my daughter is in the English team. They just came 4th in the ballet group dance.
The ENglish team is made up from about five dance schools, so it is massive. We also came fifth in the same class, and first in the small ballet group. A 5th in the duet group.
And all this was in about two hours of dancing, which goes on all week. Apparently we always end up winning!
Anyway, not only is Dance World Cup written in English, the commentary was in English. The signs in English. The music in English, but a large number of competitors are, and a very large number speak it as their first language. SA and Aus were there too.
All in all it is clear it is an English world!
|
|
|
|
|
Well ... Not really[^]
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
It's a "yes, but" situation with China, I think. Sure, over a billion people speaking Chinese...but they're mainly sitting in the same place. Or flying through space in Serenity. It's not like you could pop into a cafe in Athens and start speaking Mandarin or Cantonese and have anyone know what you were saying...doubtful, anyway. But the chances are good there'd be someone with at least some English.
|
|
|
|
|
You might be surprised - Athens has quite a large Chinatown ...
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
But speaking Mandarin or Cantonese?
While Mandarin is the most popular language in China it isnt in the UK. Almost all of our Chinese population use Cantonese. How abut Athens?
|
|
|
|
|
Absolutely really.
Your list is of native speakers. I am of course talking about English speakers, both native and those who have learnt it.
It is an English world.
|
|
|
|
|
I'm not sure, as I read the intro, if they were only including native-speakers, or 'speakers'.
Aside from native speakers, for example, Chinese, along with many of the others, aren't used. The reason the claim of an 'English' world, linguistically speaking, is probably correct is that it is spoken pretty much everywhere (with outside contact). The official language of science is "Broken English" - and heavy accents with weird grammar are just fine with us science types. (Even Welshmen, although that's being called into question).
Spanish is everywhere - but it doesn't get you far outside of the native speaking countries, although perhaps a little further than Chinese, Japanese, Hindi, &etc.
This is not a judgement on the languages. It's just, perhaps, pointing out that lists of top tens of various types - well it depends upon the parameters you're measuring. If you look for "English as a Second Language", you'll probably find it overwhelming.
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 |
|
|
|
|
|
So sad!
I am glad you are wrong!
|
|
|
|
|
Sad? Sad my daughter came FOURTH in the WORLD!??!?
|
|
|
|
|
Nah, this part is good
I was talking about the latter part about the English world.
|
|
|
|
|
Nah, it isnt sad. We need a global language, and English is the best choice by miles.
It is flexible, adaptable, good for both business and poetry. It is not owned or regulated by any single body, the OED just reflects its usage.
It is also a very simple language. No gender, no cases, and it's sentence structure is lose.
Sad? No, it is a good thing.
|
|
|
|
|