Monday, January 13, 2014

Outsourcing Allegedly Reinvented



This should be fun! TheHackerCIO was contacted recently with a reasonably intelligent query about outsourcing from a foreign-outsourcer. Surprising isn't it? The claim from this vendor is that I should reevaluate my opinions based upon their reinvention of the whole field. Now that's a claim that makes TheHackerCIO stand up and take note. After all,  about an entirely different issue, that of working with or for the Big-4, I wrote this, which can be sourced here:
I'm an open-minded guy. Perhaps Accenture, or one of the Big-4 has completely renounced these points I mentioned above and embraced becoming the best technology-defined consulting house in the world to rival ThoughtWorks and other specialized boutiques. But I kind of doubt it. I kind of think that rumors would have spread out in the tech world. And I generally hear rumors ... 
The wonderful thing about full honesty and transparency is that you can state your observations and evaluations based upon them, and if you somehow missed something, you can still be open to learning something new. That's part of being an active learner. But that is, also, a topic for another posting.
The principle of being open-minded, which is a forthcoming promised blog posting, as applied here, means that I could be wrong about outsourcing. There could very well be techniques I know nothing about which "reinvent" the concept and make it workable, profitable, and wonderful. Perhaps I missed something. 

[Before I get onto analyzing this claim, let me observe a few points about keeping confidences. I'm going to put this out as a formal warning, but if you don't tell me something is confidential, then it isn't. That's just the way it works. Always has. Always will. TheHackerCIO always keeps confidences. I love Britain for their development of this principle. I love the writing in snail-mail of "Private and Confidential" which ensured (in better times) that the contents would not be read to another. But you have to tell me, to obtain this confidentiality. And this sales-person didn't. So, I regard the entire contents as open to my blog, subject only to a judicious removal of names to somewhat protect the identity of the writer.]

Now let's see the claim, and then break it down. Here, in courier font, is the email to me about the reinvented outsourcing:


========================================================================
Hi James

Thanks for the candid reply!

I went through the FAQ section and would agree the reasons for your apprehension for the foreign outsourcing.

I believe the solution of the problems you mentioned in the blog gets sorted by the risk free evaluation of 14 days. Those 14 days comprises no documentation but hard core coding. If you are not satisfied with the quality of work, we part ways without any single penny investment from your end!

I would love to share more details if you can give me a slot of 20 minutes where we can discuss and change the notion- "TheHackerCIO says, "Just say no, to outsourcing."

You can also go through the few blogs of ours in your spare time:


<deleted>>

========================================================================

This, then, claims that they have a solution to my apprehensions and offers me a risk-free two-week trial. All they ask for is 20 minutes to explain. I wouldn't feel right using up 20 minutes of valuable time from them without reading their blog postings, to which they pointed me, so I did that. I'm reproducing parts of them here together with my comments.  My comments will be highlighted in yellow:


source: here

7 Excellent Ways to Ensure IT Outsourcing Success

Outsourcing is no more a new concept. Hundreds of companies, startups and large enterprises, have already experienced the benefits of IT outsourcing. By now, many outsourcing vendors have also nailed down processes and innovations to ensure outsourcing success.

Based on our experience of serving thousands of customers worldwide for over a decade, we have found some of the ways to ensure that your outsourcing initiatives are successful.

#1: Coding Standards
Product or a solution development is just a starting point for your IT initiatives. You need to ensure that the IT solution is scalable. At the same time, it needs to be maintainable and therefore, it should be developed using appropriate coding standards. Do confirm with your outsourcing vendors about the initiatives they are taking to ensure high quality of coding standards. Many a times, outsourcing companies pay very little attention to this and leave it to a one off training session to the developers. Our experience tells us that to ensure high quality coding standards from developers, the developers need to be continuously trained and mentored for that. This, of course cannot happen through one training session or even a series of training sessions. The developers need to be trained continuously at the subliminal level.

TheHackerCIO comments: We had that, and it didn't help. They didn't keep them very well and it didn't contribute to successful code delivery.

#2: Documentation
Documentation is one of the most important but often neglected aspect. We have observed that especially with SMEs, documentation is never taken seriously. Do understand how the requirements are captured and documented. The best approach is to capture the requirements through some tool and have documents created through that. This ensures that you and the outsourcing partner are always on the same page as far as the specifications are concerned.

TheHackerCIO comments: believe me, we had plenty damn documentation. They were a CMM level 5 certified crap producer. 

#3: Trial (Really??)
It won’t be an exaggeration to say that you should blindly go for an outsourcing vendor who offers free service trial or money back guarantee. You have nothing to lose in this. In fact, it depicts the confidence of the outsourcing vendor about the quality of service.

TheHackerCIO comments: we had that, and believe me there is still plenty damn to lose (i.e., precious time, missed deadlines) when the useless crap gets delivered.

#4: Technical System Analysis
Many a times, non-technical business owners hesitate to start with IT initiatives because of the obvious apprehension of being not able to come up with a right technical solution. Check with your outsourcing partner if it can offer a System Analysis phase wherein; a knowledgeable Business Analyst understands your business requirements and comes up with a business solution. You can then approve the solution approach before proceeding with the actual development. This can help you get started quickly without having to worry about in-house technical expertise.

TheHackerCIO comments: Oh yeah, having an incompetent business analyst as well as incompetent coders will help. Having a business analyst with a thick incomprehensible accent operating in a bizarre time-zone and without the benefit of any face-to-face time, will produce a superior result. 

#5: Reporting
One of the very important, rather the most important aspect of IT outsourcing is reporting. You feel in a better control of things if you can get a daily update on what has happened through the day. Insist on daily reports. You, as the outsourcer, are entitled to know what your project developers have worked on, how much the project has progressed, if there are any issues and if there are any clarifications required. This can help you ensure that the project is not delayed due to sheer non-communication.

TheHackerCIO comments: The daily status meeting achieved bugger-all, except for making me get into the office too damn early every day, to catch them before they went home for the day. 

#6: Agile Billing
As startups or small enterprises, it is not possible to set aside hefty budgets for IT initiatives. In such situations, flexibility about weekly payments can become very convenient. Check with your outsourcing partner for weekly billing option. Through this, you can ensure weekly deliverables and also not burden yourself with large billing at the end of the project. This will also help you gauge and assess your spend on the project and the value you are deriving out of that.

TheHackerCIO comments: This never was an issue & I don't see that it bears on the crappiness of outsourced deliverables.

#7: Closure Feedback
After every phase closure, ideally the outsourcing partner should ask for feedback – what worked, what did not, what could have been done better and what was really good. While feeling happy about successful implementation is good, it is important that the failures are captured too. This helps in learning and improving in future.

TheHackerCIO comments: Believe me, we gave plenty of feedback: "I've thrown away better code than you delivered."

Do you have any more tips to share based on your experience?

TheHackerCIO comments: Yes, my big tip is this: "Just say no, to outsourcing." Read why here.

========================================================================
source: here

5 Myths Of Application Development Outsourcing Busted

When Small and Medium size businesses look for an outsourcing partner they get into the trap of evaluating outsourcing companies based on technical expertise and hourly rates. Based on our experience of over a decade of serving SMEs with their outsourcing initiatives, here’s our list of the 5 most common myths about application development outsourcing:

#1: Once defined, specifications cannot change

We all understand that in any application development, the specifications need to evolve because of changes in market conditions, user requirement or business requirement. You cannot freeze the specifications to the tee at the very beginning of the project always. Your outsourcing partner needs to be your partner in true sense and must align with the changing requirements.

TheHackerCIO comments: I can't even get decent deliverables when the specs *don't* change. If I change them mid-stream, I'll get crap-squared rather than just crap. Or maybe crap-cubed. 

#2: Resources are always shared unless you pay a high rate

Not true – having a dedicated developer does not always come at a premium. The developer working on your project is your team member and almost like your employee, so should be working solely on your project. This gives him/ her an opportunity to get completely involved in the project, understand it in depth, come up with new suggestions and innovative ideas, understand your business goals and understand your objectives.

TheHackerCIO comments: We had dedicated crappy staff from the outsourcer, it didn't help.

#3: Less control over implementation

One of the most common outsourcing myths is that the outsourcer loses control over the project. This is not true if you, as the outsourcer, have direct access to the allocated resource i.e. the developers who are working on your project. When you work directly with the developer and have a regular channel of communication established with him/ her directly, you can have a complete control over implementation –whether there is any technical issue, usability problem, or possible delay because of requirement change, you will know it upfront.

TheHackerCIO comments: not a myth. If you aren't there, you have no control over what's going on. You can't really know what anyone is doing in coding until they complete it an turn it over for examination. But there is an order of magnitude more control over developers whose code can be looked at while it's a work in progress, than in someone thousands of miles away.  

#4: You have to pay extra for project management, architecture and quality assurance

Outsourcing does not mean that you have to pay for every hour and every minute of each resource and for all the support the resource requires to do his / her job. If the majority of the project execution is being done by the technical developer, then you should get some time of the supervisor and quality auditor for free. Such support resources are shared, required only to intervene for specific items to assist in smooth execution. So as an outsourcer, you should not be paying for the mandatory support eco-system your resources need to execute efficiently.

TheHackerCIO comments: True, we didn't have to pay extra for the PM, architecture, and QA of the crappy, unusable deliverable. 

#5: Teams cannot ramp up, or down

Being a SME, it is quite understandable that changing business requirements can make you change the scope of the application which could require involvement of additional resources at a later stage or for a period when as many resources may not be required. You should have an option to anytime scale up or scale down the team and get the project executed without compromising on quality or timelines and irrespective of the team size, you need to have complete control over the implementation.

TheHackerCIO comments: The teams we worked with ramped up to produce more shit according to schedule. They kept the schedule very well. We just had to redevelop everything on-shore once it was delivered. 

So there you have it – 5 myths busted. The next time you evaluate an outsourcing partner remember hopefully these won’t feature in your list of questions !

TheHackerCIO comments: I'm not so sure that they're busted, and I won't be asking these questions. But that's because I won't be evaluating an outsourcing partner. Outsourcing sucks. 

========================================================================
source: here

7 Point Checklist for IT Outsourcing

Small and Medium size businesses have increasingly leveraging outsourcing for their IT requirements or software product development initiatives. Apart from cost, there are many strategic as well as tactical benefits of outsourcing.

While the benefits are very clear, to get the most from your outsourcing initiatives, here is a 7 point checklist which you can refer to:

#1: Business solution vs. Technology Solution

While looking for external expert help, don’t look just for a technology vendor. You need an outsourcing partner who can understand your business and offer a solution to your business problem and does not come up with merely a technology solution. The firm therefore needs a different talent pool and also a different culture to be able to think beyond technology and about the business.

TheHackerCIO comments: They were crap at technology, so I'm sure they were fully as competent at understanding the business as they were at understanding technology.

#2: Past Experience

You don’t want to be the guinea pig. Look out for an outsourcing partner who has good experience of solving similar business problems using various technologies. The company should be able to demonstrate its credibility and work through some work samples or case studies.

TheHackerCIO comments: I was told that we had prior references within our own company. But nothing was ever seen. Even so, reference-checking is a very limited exercise. No one gives out references that trash them. 

#3: Communication Channels

Transparency in communication can make or break your outsourcing initiatives. Make sure that you have clear and periodic communication and review channels which will help you know the progress, milestones, issues, changes etc. and help you keep the outsourcer informed about your goals and objectives.

TheHackerCIO comments: We had a full CMM Level 5 certified vendor, so believe me we had communications policies, procedures, and bullshit up the wazoo.

#4: Skills and Knowledge

Rather than going with a group tech-savvy individuals, who cannot operate as a team, choose the right team which is a good mix of technical, project management, technology architecture and quality assurance skills.

TheHackerCIO comments: Now I have to interview them all remotely and with thick accents. 
Righty- ho.

#5: Know the Person!

It is important that you get a chance to directly interact with the person who is working on your project. In such case, it becomes as easy as walking to the desk of your team member. While building a personal bond, this also enables you to describe your vision, your goals and your exact requirements to the person who is working on your project. No gaps anywhere!

TheHackerCIO comments:Yeah, I got to know the outsourcer too damn well. 

#6: Hiring Process

Whenever possible, understand the hiring process of the outsourcer. Know how the people are hired and trained. That will tell you a great deal about the kind of people you can expect to work on your project and their capability to assist you with your business challenges.

TheHackerCIO comments: I understood it. They hired the cheapest shit they could find whenever they had a paying client. 

#7: Agility

When your business is new or the product is being conceptualized or you need to quickly respond to your market changes, ensure that you choose an outsourcing partner who can cope up with fast changing requirements. This enables you to quickly take out a feature, test it in market and refine your strategy appropriately.

TheHackerCIO comments: I see no evidence that foreign outsourcers can even do a competent job when business is old and well understood and the market isn't changing. There is even less chance that they can do a competent job with fast changing requirements. 

========================================================================

This concludes the blogs pointed to by this claimant. Nothing has been offered that remotely indicates any reinvention of outsourcing. Whereas I had wanted to investigate, and probably would have spent 20 minutes on the phone, had this sales-person not bothered to point me to these blogs, now it's different. Now, I'm not even willing to waste 20 minutes talking to them. Now they have to email me a justification for how they have "reinvented" outsourcing in a way that will assuage my apprehensions.  Now they're screwed. They promised and failed to deliver, as do all the outsourcers, in my experience.

I Remain,

TheHackerCIO

No comments:

Post a Comment