Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Help with research on Software Development Outsourcing

Options
  • 07-02-2021 6:21pm
    #1
    Registered Users Posts: 17


    Hey, I am researching the critical factors that lead to successful software development outsourcing arrangements as part of my masters thesis. I'm looking for the perspective of software developers, engineers, QA, DevOPs etc, either working for a software service provider or perhaps you work in a team that also use external resources.

    For context, i'm trying to develop a framework that can assist in-experienced managers (like myself) in making the right decisions around outsourcing software development or simply using external resources. So for example you might have a core team of engineers and then outsource some of the non-core work.

    Looking for any opinions, experiences or anyone to interview or help out with a survey.


Comments

  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    If its going to fail its usually down to the poor quality of the people, and/or the lack of resources, and/or lack of experience, and more specifically lack of experience in software development, and more specifically outsourcing.

    You can't wing it.

    These are usually known things at the start of the project. So you can usually tell starting off how well its going to go. If all the basics aren't in place at the start, its unlikely to get better.


  • Registered Users Posts: 17 CodeApples


    thanks for the feedback. Yeah i would agree that with software development more than any other IT activity, the people, the processes and the knowledge seems to be most critical. Lots of great suggestions coming in, so appreciate the response. If you have time to do the survey here is the link
    https://form.jotform.com/210266374966867


  • Registered Users Posts: 3,636 ✭✭✭dotsman


    Without getting into a huge spiel (and writing your thesis for you ;)), I'll simply say this:

    The default outcome of outsourcing development is for it to fail. It very rarely works brilliantly, sometimes works ok, but usually is a disaster. Often, when a company/manager claims that the outsourcing of dev was successful, it's simply because they have no idea of what good looks like.

    Why? Well for a load of reasons, but at its most simplest - for decades, people have been trying to tear down the walls between developers, testers, analysts, users, operations, management etc. outsourcing (and especially offshoring) is about building those walls back up (and very high, thick walls).

    And if you want to outsource/offshore, but claim to be "agile" - well then you are guaranteed to fail as you neither understand agile, nor outsourcing.

    Don't get me wrong, it's not that all outsourcing is bad. Using outsourcing to scale a team can work. Using outsourcing to bring in specialist skills can work (if said skills are required long-term, then the outsourcing arrangement should include training/experience for perm staff). Using outsourcing to shift some mundane tasks can work. But, at the heart of every development team, you need people who know the business, people, process, company's IT landscape, processes, system, tech stack etc and who have the system's/company's best medium/long-term interests at hearts, not those of a separate company.

    Outsourcing simple, easily defined, repetitive things that you understand works well. An org can easily outsourcing its office cleaning, catering, landscaping etc. These are not part of the core business, are extremely generic and can be easily described to the outsourced company, easily measured to see if the outsourced company is doing it well, and easily transferred back inhouse or to another company down the line if desired.

    Outsourcing more complex things like customer service, IT service desks and basic IT functions (hardware procurement/maintenance, desktop management etc) are tricky and often lead to problems even though they are relatively generic and not so difficult to explain/understand.

    But outsourcing development ,which is extremely complex and unique to your org? Crazy.

    If you are a small business that can't have in-house dev - then of course outsourcing is your only option, similar to other challenges of being a small business. But a large org that can justify in-house dev? Outsourcing on a large scale is a stupid idea. Often it is justified because "we can't afford to hire/retain good staff etc". Well, with outsourcing requiring more expensive but typically poorer quality staff, plus a whole load of admin staff, I really don't know why someone would think that it would be the solution!

    Lastly, just think of this. Nobody trusts the IT outsourcing company/consultant, not even the managers who are pushing for outsourcing! When your doctor advises you on a course of treatment, you follow it. When your solicitor tells you to do something you do it. When your accountant says you need x and y, you get/do x and y. But before you even get to talk to an IT consultant, you tender for them and put them through a series of tests/interviews/submissions etc and take everything they say with a pinch of salt because you don't believe them. And then when you have them, you need to micromanage them to make sure they are delivering what they promised and every time they advise you to do something, you automatically assume that they are just trying to squeeze more work/money out of the contract. So you split the work between several IT consultancies to keep them honest. Instead, you get even higher walls, insane politics, CYA and blame game. Ultimately, and this is not just in relation to outsourcing development - if you can't trust them completely, you shouldn't go near them. And if you can't trust them - ask yourself why! There is a reason why dev outsourcing is the norm in civil/public sector and banking etc, but very little in well run companies.

    Actually, one final note: Bank of Ireland recently launched a new app. The cost? €1.4 billion approx (exact figure remains hidden from the public). Read that figure again - 1,400,000,000. On a fcukin app! And a pretty basic one at that. Sure they tried to do implement a whole new platform (the new platform was a 40-something your old system with a 30-year old horrible UI tacked on to it, that they tried to hack to make it useable, but anyone who knew anything about software development would have said on day 1 - "no fcukin chance"). They eventually gave up after over 4 years and descoped the entire program to deliver just the mobile app component. Oh yeah, they also got a few APIs to tick the box of meeting PSD2 regulations (which cost a fortune to maintain). How did this happen? No employee of Bank of Ireland knows anything about software development, nor anything even related (but neither did the majority of the hundreds of outsourced consultants/devs! ;)). Instead, Bank of Ireland outsourced all that "mumbo jumbo stuff" and pretty much every IT consultancy operating in Ireland got a piece of that dead whale carcass :)

    Bank of Ireland are the specialists at IT Outsourcing.


  • Moderators, Education Moderators, Technology & Internet Moderators Posts: 35,076 Mod ✭✭✭✭AlmightyCushion


    The BOI app isn't costing 1.4 billion. That is the total cost of their whole IT overhaul and restructuring which includes the app.


  • Registered Users Posts: 3,636 ✭✭✭dotsman


    The BOI app isn't costing 1.4 billion. That is the total cost of their whole IT overhaul and restructuring which includes the app.

    Yeah, but the IT Overhaul (originally estimated @ 0.5 billion) has been descoped so much that all that is left is the app and a few PSD2 APIs.


  • Advertisement
  • Moderators, Education Moderators, Technology & Internet Moderators Posts: 35,076 Mod ✭✭✭✭AlmightyCushion


    dotsman wrote: »
    Yeah, but the IT Overhaul (originally estimated @ 0.5 billion) has been descoped so much that all that is left is the app and a few PSD2 APIs.

    I don't have any knowledge of it outside of what I have seen in news stories but based on that it seems like it covered a lot more than just the app.

    https://www.rte.ie/news/business/2020/0519/1139322-bank-of-ireland-agm/
    Bank of Ireland has been carrying out a significant revamp of its old IT structures over the last couple of years in order to position it for a future where banking is increasingly conducted through digital channels.

    The bank says the plan remains on budget and cost savings and benefits are starting to flow from the transformation.

    A number of key milestones have been delivered, the bank says, including the migration of 2.1 million customers to a new platform for debit and ATM transactions.

    100 processes have also been automated and the payments infrastructure modernised.


  • Registered Users Posts: 189 ✭✭Tippbhoy1


    CodeApples wrote: »
    thanks for the feedback. Yeah i would agree that with software development more than any other IT activity, the people, the processes and the knowledge seems to be most critical. Lots of great suggestions coming in, so appreciate the response. If you have time to do the survey here is the link

    Done - I did a similar study about 10 years ago so best of luck with it.
    The question you’re trying to answer might be a bit broad. I’m not sure if you’ve an opportunity to narrow it at this point though. There is not a one size fits all answer.

    Software outsourcing could mean a lot of different things, and certainly when it comes to size of organisation or a particular industry. Ironically the larger organisations tend to do it more but I think it offers more value to smaller organisations. You reference vendors intermittently, which to me usually means a company selling a product or service, probably for a project with fixed scope and time. For medium term outsourcing of products or elements of products that you as a company own the IP of, you need a partner and t&m generally. I have seen it done very well and very badly, including with my own money.

    Long term committed employees co-located together with business knowledge, with the odd specialist available to do some consulting from time to time plus some slight ability to scale with a partner, is the template that works. That is very difficult for smaller companies to achieve however. Large companies with billions of turnover outsourcing unique products and services, when they can attract talent, is in the main a poor move. There is no single answer for what tend to be unique endeavours.


  • Registered Users Posts: 3,636 ✭✭✭dotsman


    Let's just say that say that, having spent 1.4 billion, Francesca can't exactly admit is was all a complete fcuk up. Which it was. Right from the start, anybody with even a notion of how Software is developed/delivered would have said their approach is doomed to failure. In fact, Francesca was suppose to kill the project when she joined in Autumn 2017. Everyone on the project expected it. At that time, it was clear even to a non-IT person it was never going to work. But once she gave it her nod of approval to continue, she couldn't row back. Any sense that the project had problems would be an attack on her leadership, so nothing but good news from hereon in! And so the project rolled on with continuously lowered expectations and deliverables. That RTE article is simply a regurgitation of a flowery press statement from Francesca.

    Talk to anybody who knows anything about IT who had any experience with the project, and they will tell you - it was an absolute disaster, with the blind (BOI) leading the blind (countless consultancy firms led by Accenture).

    In terms of online press coverage, it's fairly light, mainly because BOI are not saying much (and really haven't been saying anything much in the last 2 years as they began to drastically cut the scope. But the following might give you an idea:

    (2016)In the beginning...
    (P.S. the Temenos T24 system is a dinosaur. Basically, think of a 1980's mainframe terminal with a brutal web interface Sellotaped on to it. It is to modern web systems what Aertel is to the WWW). By the way, T24 is a "Bank-in-a-box". It could have gone live straight away in 2016. But they needed to add a few fields to the customer screens. This involved hundreds of people over the next 3 years, and still wasn't ready by the end of 2018 (although they spent the entire month of December in "production deployment" before backing out as they just couldn't "get it to work!"). That was release 2.x by the way. Release 1 was the end of 2017 but, again, nothing had actually been released". It was just a "pretend release" to make it look like something had been delivered. There were also Release A's and B's and lot of other releases over the years, but they ultimately all got thrown out at the last moment when it was finally evident nobody knew what they were doing (money poured down the drain).

    (2018) With nothing delivered (despite every one of the thousands of PowerPoint slides saying everything will be delivered via agile/DevOps), in steps Steve.. Oh, and the cost is now set at 900 Million

    (Start of 2019) Still nothing delivered (and still pretending they understand Agile/DevOps) and costs now projected to go to 2 Billion This is when they really started slashing scope left, right and centre and just focusing on the app and PSD2 APIs.

    (Summer 2019) Steve leaves the building (and still nothing delivered) And, yes, they are still pretending they are "Agile". They use that word a lot. In fact, Francesca even uses it in the article you pointed to. But none of them knows what it means.

    (2019) Quick, let just descope everything and get the app out in 2019 and then wind everything down as a "huge success".

    (Summer 2020) OK, so it took another year to "finish off" the app, but now let's just talk about how we got our amazing new app and say a few other things that people won't understand but think it sounds great and let's just move on...

    (2021)Let's just hope people still aren't on boards.ie talking about constant issues with the app!

    Anyway, don't want to drag the OP's thread off topic. Happy to jump in on a "Omega could go down as the worst IT project in history" thread!


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    I wonder how many outsourcing projects end up costing many times more than having an internal team doing it.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    CodeApples wrote: »
    ....For context, i'm trying to develop a framework that can assist in-experienced managers (like myself) in making the right decisions around outsourcing software development or simply using external resources. So for example you might have a core team of engineers and then outsource some of the non-core work......

    Often projects are outsourced as the business unit want to be free of the constraints and oversight that the internal "IT experts" insist upon. So its likely they'll ignore any framework or guidelines that are provided anyway.

    One of the classic ones is the business unit, being told they don't resources to take on the project. So the business unit take it on, with a great fanfare. Then typically they run out of resources and get in above their head very quickly. Then they come back looking for internal IT resources to save them. You have to be careful not to be sucked into such a failing project. Because like a downing man they try to bring everyone with them.


  • Advertisement
  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    Of course at the end of failed project, they redefine a failed project as a success and try to repeat the process somewhere else.


  • Registered Users Posts: 17 CodeApples


    Thanks dotsman for your feedback, it really helped to kick off the discussion. I get that building up walls is a problem and that there are many other problems with outsourcing software dev due to its complexity. The reasons to consider it for a small company like ours, is it just takes us too long to get good developers hired and onboarded as we are so small. We can't compete with bigger companies in terms of all the perks. We've been lucky to be able to keep some really good engineers long term, but scaling up is a big issue. So my thesis is about making the right decisions early on in outsourcing software development so that I can tie it back to the sourcing issues I have as a manager.

    Tippbhoy1 , My research is quite broad, because i want to understand multiple contexts and where the similarities lie. There will always be different approaches for different contexts which I think i'm capturing. But in hindsight, i should have stuck to my SME context as originally planned. I dropped it because existing research was hard to find.

    Based on what i've learned so far, one successful approach that has worked for those i've spoken to/interviewed, is to treat it like in-sourcing where you hire the best team you can afford and you treat them the same way you would your in-house team. You also maintain a panel of resources that know your business but are free to work on other projects. That way you can flex as needed. BTW the importance of retaining an in-house team is relatively undisputed. Also, in a world where most are working remotely anyway, the virtual walls are not as high as the used to be. Some also suggest outsourcing so that the in-house team are focussed on core innovation type work. Though i've heard some counter arguments to that also.

    beauf , In terms of success of outsourcing there are loads of examples where it has both worked and created a competitive advantage. I can't say who as it's all anonymous but one rather large company started with outsourcing to an offshore vendor, and following the success, were able to acquire them and further remove barriers.

    I personally like the idea of being able to hire anywhere in the world and allowing the team to go anywhere in the world they want. Which is not outsourcing, it is just sourcing. The crowdsourcing platforms can help with that, which is also part of my research. I realise its a super broad topic, and i'll probably regret that as it has created a lot of work for myself.


    Anyway Thanks all!!


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    CodeApples wrote: »
    ...

    beauf , In terms of success of outsourcing there are loads of examples where it has both worked and created a competitive advantage. I can't say who as it's all anonymous but one rather large company started with outsourcing to an offshore vendor, and following the success, were able to acquire them and further remove barriers. ...

    Sometimes a project is too important to allow fail.

    I've worked on a lot of outsourced projects big and small, with local companies and internationally. My personal preference would be the project to run in house, and a team made of contractors. For me thats the least compromised approach.

    But they are all compromised.

    Companies and people have to look at their core competencies, and the core business. If you are spending a lot of time and resources, on projects that are not directly to your core business. You have cop on. Not keep going down the rabbit hole.


  • Registered Users Posts: 17 CodeApples


    beauf wrote: »
    Sometimes a project is too important to allow fail.

    I've worked on a lot of outsourced projects big and small, with local companies and internationally. My personal preference would be the project to run in house, and a team made of contractors. For me thats the least compromised approach.

    But they are all compromised.

    Companies and people have to look at their core competencies, and the core business. If you are spending a lot of time and resources, on projects that are not directly to your core business. You have cop on. Not keep going down the rabbit hole.

    Roger that. And when in house is no longer in the same building, i.e more and more employees working from home, do you think it matters if those resources are sourced as local, nearshore, offshore or is success bound to being in the same room? So i suppose i'm asking if you think sourcing external resources overseas might be a viable solution if they are treated the same as if the team was in-house and worked in parallel with an in-house team?


  • Registered Users Posts: 1,306 ✭✭✭nullObjects


    beauf wrote: »
    I wonder how many outsourcing projects end up costing many times more than having an internal team doing it.

    The other thing is the political side of it if the project fails or runs over time / cost
    If it's a failure then the company can blame the 3rd party

    In general I'd think it's more likely to succeed if it's kept in house though given you would expect to have more domain knowledge of the business problems from inside the comany


  • Registered Users Posts: 27,161 ✭✭✭✭GreeBo


    Outsourcing only works when you know *exactly* what it is that you want and can document that *exactly*.

    It fails because people don't want to spend the up front effort on a waterfall requirements job, so they act like they are working with an agile team where they can do JIT requirements/elaboration.
    Even with the best contractors in the world, this will "fail" as it will either be over time or over budget or both (due to Change Requests, Statements Of Work, etc, etc)

    Outsourcing works best, in my experience, when you are using it so horizontally scale an existing, known problem.
    e.g. I have a team of people ingesting files from a provider into a platform, I want to be able to ingest more types of files from more types of providers => outsource this work.
    as opposed to
    I need to build a platform that people will ingest files into => dont outsource this work believing it to be similar to the above.

    Everything about is multiplied if your business domain is complicated (e.g. banking) you cant just shovel that work to people who are not experienced in banking software.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    CodeApples wrote: »
    Roger that. And when in house is no longer in the same building, i.e more and more employees working from home, do you think it matters if those resources are sourced as local, nearshore, offshore or is success bound to being in the same room? So i suppose i'm asking if you think sourcing external resources overseas might be a viable solution if they are treated the same as if the team was in-house and worked in parallel with an in-house team?

    Well that its an interesting question, but for me physical location is mostly (but not always) irrelevant. Being integrated with the internal teams does work better, but there's more it than that.

    The best project manager is someone who can manage a project regardless of what the project is. They could switch from a project, on football to a project on TV media production to IT software project, and still be good at them all because they are good a project management. They reduces a problem to core principles and can apply the same methodologies to different business areas or industries. Can you apply the principles of making the Henry Ford Model T to loading a dishwasher, or building a house.

    But these people are rare. Most people can't do this. Most people get their expertise from domain knowledge. They know the business sector they are in from experience. Not from core principles. They know step A has to follow step B from expertise in that industry. Its why you mostly won't get a project manager from one industry being successful if they switch to another different sector. Say from the entertainment industry to the building industry.

    So when it comes to software outsourcing the same thing applies. Most outsourced projects will need people with domain knowledge. They may even need to know how that actual company works. That knowledge transfer takes a long time and is far more problematic the more domain knowledge is lacking. Its not as simple as putting people with domain knowledge with the outsourced teams. Often internal IT, fill in all the gaps that the business leave out of specifications and requirements when working on projects. They can read between the lines. Outsourced companies can't do this, and they will bill you for any time this takes. So when the business goes direct to outsource they have completely underestimated the cost in time and resources that is saved by having this domain knowledge internally.

    So when you asked my about being in the same room, or being integrated with the internal team I would say the devil is in the detail on that. Also the quality and type of people you are dealing. I have dealt with remote outsource IT guys that could read my mind. But that was rare. Usually its a very frustrating and long winded experience.


  • Registered Users Posts: 24,349 ✭✭✭✭lawred2


    an analyst skilled at collecting and disseminating clear and detailed requirements is half the battle...

    I'm worn out by half baked requirements and "what about X what are we doing with that?" and it being the first time I've heard of X


  • Registered Users Posts: 7,501 ✭✭✭BrokenArrows


    beauf wrote: »
    I wonder how many outsourcing projects end up costing many times more than having an internal team doing it.

    It might or even cost more, but thats not necessarily a bad thing.

    A lot of the time outsourcing is done because they dont want to hire permanent staff to do the job. So once the project is delivered the cost of those outsourced employees ends.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    It might or even cost more, but thats not necessarily a bad thing.

    A lot of the time outsourcing is done because they dont want to hire permanent staff to do the job. So once the project is delivered the cost of those outsourced employees ends.

    True perfectly valid.

    But how many projects go on for years, do you also outsource the maintenance and support? Who up grades the system with enhancements. How many contractors are on a project for years.

    If you go back to the original outsourcing company. What if the staff have moved on, you have re-transfer all that domain knowledge. Also that transfer is a drain of that knowledge and experience out of your company.

    So it's not Just avoiding hiring permanent people. (What does permanent mean these days anyway) It's actually displacing jobs. If people can't get jobs, if they can't upskill they go do something else. So when people complain they can't get enough skilled people. Maybe those things are not unrelated.

    There are valid reasons to outsource and it can work. But it's blade that cuts both ways.


  • Advertisement
  • Registered Users Posts: 1 nekami13


    In that case, I prefer to hire a freelance to pay and create an application of excellent quality so as not to feel pressured with the project if my workers have other types of responsibilities, let me understand I take care of my staff and I always wonder which is better Toptal vs. Upwork to take into account the best service on the market.


  • Registered Users Posts: 629 ✭✭✭Mehapoy


    Been on both sides of the fence of this, as a permanent employee of a consulting company and a contractor working on projects for clients. I think some companies think outsourcing a project means giving the business info over and then 12 months later getting a product back that fulfills all their needs. What usually happens is the client company doesn't allow their people enough time to work with the project so the consulting company fills in the blanks and makes assumptions which then becomes a nightmare with recriminations and projects timelines and budgets blowing out. On the other hand the consulting companies have no wish to deliver on time as billing man hours is their bread and butter so will happily keep going until the client shouts stop, if a company knows what they are getting into and is prepared to keep key people on the project and have people inhouse with software development experience alongside them its doomed to failure.


  • Registered Users Posts: 9,557 ✭✭✭DublinWriter


    The BOI example is interesting, but remember that they outsourced their *entire* IT function, not just for one particular development project, and it didn't end well, especially for one BOI chief-executive who was using his work laptop to book hookers in Vegas.

    Historical case studies? Check out the relationship between General Motors and EDS. GM outsourced their IT operation to EDS. It was costing GM so much that it was cheaper for them just to end up buying EDS outright.

    Also check out Police Scotland's disastrous relationship with Accenture over the i6 Project.

    The general failures around outsourcing are usually the same ones that plague in-house projects too - chiefly lack of ownership and lack of governance.


Advertisement