Slashdot Mirror


In Favor of Homegrown IT Solutions

snydeq writes "Today's IT organizations turn too readily to vendors, eschewing homegrown solutions to their detriment, writes Deep End's Paul Venezia. 'Back when IT was "simple," several good programmers and support staff could run the whole show. Nowadays, [companies] buy hefty support contracts and shift the burden of maintaining and troubleshooting large parts of their IT infrastructure on to the vendors who may know their own product well, but have a hard time dealing with issues that may crop up during integration with other vendors' gear. ... Relying solely on support contracts and generic solutions is a good way to self-limit the agility and performance of any business. In short, more gurus equals less hand-wringing and stress all around.'"

24 of 265 comments (clear)

  1. So contracted labor isn't all it's cracked up to b by sethstorm · · Score: 4, Insightful

    When you treat people like second-class citizens by making them contracted labor, especially in IT, this shouldn't be a surprise.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  2. yes and no by Trepidity · · Score: 4, Insightful

    The general in-house versus outsource vs commodity question here is a bit inextricably tied up in the more specific "enterprise software sucks" problem. I've seen moving from in-house solutions to third-party stuff work well, when it's good third-party stuff. For example, near the end of my time there, my university switched from an aging home-rolled email setup to a Zimbra installation, which, while not perfect, was generally better and more reliable. On the other hand, there is certainly plenty of crap that they pay Oracle and Microsoft $$$ to run that doesn't serve anyone's needs very well, or integrate with anything else.

    1. Re:yes and no by Mad+Merlin · · Score: 5, Insightful

      On the other hand, there is certainly plenty of crap that they pay Oracle and Microsoft $$$ to run that doesn't serve anyone's needs very well, or integrate with anything else.

      Like Sharepoint? It baffles me as to why anybody would buy that monstrosity... it doesn't do anything!

    2. Re:yes and no by Tablizer · · Score: 5, Insightful

      I'm not sure what Sharepoint's forte is. It's a file server with a web interface more or less with some MS-Office integration features. Some try to use it as a intranet WCM system, which it does poorly and requires lots of tweaking to work right. I don't get "it".

    3. Re:yes and no by jimicus · · Score: 4, Insightful

      I think I figured it out myself, but a certain amount of this is guesswork based on observation. Take it with as much salt as you think it needs - if anyone can add to this, please do so.

      Sharepoint doesn't give you a lot out of the box, as you've mentioned. What it does give you is a very capable framework with which to put together your own solution.

      What I think happens is this:

      Person A (who is not in IT - perhaps he's a salesman) works for company B that implements a Sharepoint-based system. Company B is quite joined up - they'll get all the major stakeholders on board when there's a big project. IT will advise on sorting out the underlying infrastructure and making sure it all works; other business units will get involved to make sure the project achieves what it's supposed to. They take their Sharepoint project seriously - they allocate a budget to it, they put together a clear set of requirements based around their business processes (which were already pretty clear) and they hire in or contract out development work. Ultimately they wind up with an extremely competent system that does all they could ever want with pretty good efficiency - and the project is delivered in record time. Yes it's based on Sharepoint but they've really harnessed it to make it work for them.

      Person A doesn't know anything about how the project was implemented, however. All he knows is that his employer brought in Sharepoint and it's fantastic.

      Anyhow, time marches on and Person A gets offered a new job as a sales director at company C. It's a nice little promotion, so he takes it. What's the first thing he sees? Company C doesn't have anything like the sophisticated computer system he used at company B. So he demands Sharepoint.

      Note that person A has a lot of influence in his new job. He's a sales director in charge of a small team who essentially provide the money the company needs to survive. He demands Sharepoint, he gets it. The problem is, nobody at company C - not even person A - actually knows what Sharepoint is. Oh, they know it's some sort of computer-type-system-thingy, but that's as far as they go. Expecting it to be a big project, someone is tasked to look into it and figure out how much it's going to cost..... oh. That's interesting. Apparently, Sharepoint is free. And not free as in "free from some dodgy website", it's a free download from Microsoft themselves.

      So instead of putting a formal project together, the IT department simply downloads Sharepoint Foundation, installs it, sends everyone a URL and thinks to themselves "That was easy".

      It soon becomes apparent that Sharepoint isn't the all-singing, all-dancing system our blue-eyed boy proclaimed it to be. Sure, it's a competent enough little Intranet and it's a lot less hassle than a traditional fileserver to store your documents on, but the way it was being discussed initially, anyone would think the second coming of the Messiah was in the form of a computer program. It sure isn't that. But nobody quite knows why.

  3. Re:Loaded cost of a software developer by salesgeek · · Score: 5, Informative

    Loaded cost for an employee is typically 18% of salary + $320/month for real estate overhead. So a $90 K employee ends up costing about $120,000 with benefits.

    --
    -- $G
  4. Integrating Diverse Software by DERoss · · Score: 4, Interesting

    A high turnover of employees creates problems with in-house development and maintenance of software. The "organizational memory" -- how did we get here, what were the problems, how were they solved -- is lost.

    In the U.S. military, cognizant personnel are often rotated to new assignments every 2-3 years. This has the same negative effect on long-term maintenance and evolution of software for military uses. For this reason, military software projects are (or at least were) out-sourced.

    For 24 years, I worked for the System Development Corporation (SDC), which eventually became part of Burroughs which then merged with Sperry Univac to form Unisys. We worked with the Aerospace Corporation and with Lockheed. Together, these three companies held the organizational memory needed to maintain computer systems for operating an ever-changing array of earth-orbiting space satellites. Our role at SDC-Burroughs-Unisys was to receive software packages from 10 or more independent software development companies (sometimes the same companies that built the satellites) and integrate them into a single system. We audited the developers' specifications and tests, tested the merged packages, performed configuration management, prepared user documents, conducted training for the end-users, and diagnosed suspected errors. On occasion, we even rejected software and sent it back to the developer company to rework. Contrary to current practices, the most senior professionals also provided "help desk" support. In all the time I worked on this project, not one space satellite was lost due to a software error. Considering the cost of a space satellite, the fact that our task doubled the overall cost of software development was money wisely spent.

    While the project on which I worked was technically out-sourced from the U.S. Air Force, the repeated renewal of our contract and the contracts of Aerospace and Lockheed created an in-house professionally-skilled environment for acquiring and evaluating software. As a result, a very large software system with an expected life-span of 15 years evolved and was used for over 20 years.

    1. Re:Integrating Diverse Software by BitZtream · · Score: 4, Insightful

      A high turnover of employees creates problems with in-house development and maintenance of software. The "organizational memory" -- how did we get here, what were the problems, how were they solved -- is lost.

      In the U.S. military, cognizant personnel are often rotated to new assignments every 2-3 years. This has the same negative effect on long-term maintenance and evolution of software for military uses. For this reason, military software projects are (or at least were) out-sourced.

      You do realize the one of REASONS the military rotates personal every few years is to avoid EXACTLY what you're referring to, right?

      Losing any one person doesn't kill a project because there are multiple others with experience on it and no one person 'owns' the project.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  5. Re:Now if only ... by roc97007 · · Score: 5, Insightful

    There are IT gurus out there with free time. Some of them are working in environments that have completely outsourced to vendors, and the gurus end up educating the vendor's minions, sometimes on the most basic operations. Personally I find it easier when I open a ticket with the vendor to copy/paste the exact commands for them to run on servers on which I no longer have root. It saves time.

    ...and the biggest things we've lost are agility, performance and stability. It takes easily an order of magnitude longer to get anything done, and downtime numbers ratchet upwards. But the company is grimly determined to stick it out, because the vendor has "mature processes" which we supposedly didn't have before.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  6. Re:IT shops are run by MBAs those days by jellomizer · · Score: 4, Insightful

    Those must be some bad MBA schools in your area. I got an MBA and I was never taught we should outsource everything.
    We were taught to get venders when the requirements word distract the existing staff from their mission focus. I had to read case studies where outsourcing worked well and when it failed miserable and should have kept the inside staff. We were taught the complexities of global business and that American staff tend to be more productive and creative even though they cost more. How bean counting causes you to miss the good envestments. And a good HR policy means treating your workers right and at a good pay.
    I am willing to bet there are less MBA but BBA who are out of a 4 year business with no experience, trying to save money by stepping on the backs of anyone who gets in their way. The MBA program is far more responsible.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  7. Re:Loaded cost of a software developer by Grishnakh · · Score: 4, Insightful

    Wrong. If you don't have the developer, then you don't need as much floor space for your office, you don't have to buy cubicle furniture, you don't need as large an IT staff, etc. Obviously if you get rid of one developer, you're not going to immediately save this money, but when you're looking at hiring a whole team of people versus contracting something out, you probably will (as for a whole team, you'll need to rent more floor space somewhere, unless your company happens to have a bunch of unused floor space, but most don't as that's wasteful).

    Also, 401k, SS, and health insurance absolutely do immediately increase each employee's cost.

  8. Re:Now if only ... by fsckmnky · · Score: 4, Interesting

    I didn't intend it as anything more than a maybe funny, snide remark. The article was about contracting versus in house gurus, and every month it seems there is always an article about the lack of gurus, hence the comment. The "we contract everything at our detriment" crowd, who complains about the lack of gurus, would contract to get an in-house guru, get it ?

    Of course, I'm a guru, but I don't want to work for the "we contract everything" crowd, so maybe thats the problem. ;)

  9. Re:Not So Fast... by AdrianKemp · · Score: 4, Insightful

    The job length of a well paid and respected employee is far longer than your typical product life cycle.

  10. Re:Source Code License by AaronLS · · Score: 5, Insightful

    It depends on if you mean a vendor's 3rd party product versus outsourced programming.

    If you hired an outside consultant and paid them by the hour to produce a custom piece of software, then I'd default to having the contract written up to include the source code as a deliverable. You might encounter resistance if its a big firm and they have reusable libraries they've created and don't want to share them. In this case the compromise might be to provide the compiled DLL's for these, but you are back at square one where you depend upon them to fix issues in those DLLs, but at least this way it reduces the dependencies.

    When I think "Vendor" I think of someone who has some premade product, which seems to be what the article is refering to. I.e. its like going to a vending machine and saying I want the "Blah Blah Account Management Software". These products are usually sold to many different customers and thus have had a stream of revenue over a long period of time or for a large team to enhance the software over time. Thus they are somewhat large and even if there was a source code license option available from the vendor(although there usually isn't), the code base would probably be large and probably somewhat difficult to customize by internal staff.

    Also, the cost to develop these vendor products is spread across many customers, but as the article author points out, you can pay dearly in the areas of integration and customization. You may find corner cases or new requirements down the line that the software simply cannot handle, and in my experience(having continuously been in one scenario or another dealing with a vendor for the last 5+ years) there are a lot of barriers to cross in getting the customization or fixes done.

    If people are upset about the inability to customize the vendor product, then you need to go back to the stakeholders and say hey, "In light of new requirements, we clearly need a solution that 1) has some features that support these customization scenarios, OR 2) has a source code license and developers who have the skills and time to deal with implementing those customization(it's hard to know what you are getting yourself into until you actually see the source code), OR 3) roll our own solution." #3 can be a good option if you are only using a small subset of the vendor's product's features, which I've found to often be the case(since usually over time it has been enhanced to meet many customer's needs, but any single customer will only need a subset of these). Thus to roll your own solution isn't going to be nearly as complex, and may be a breath of fresh air for your users who can be overwhelmed by extra unneeded features/complexities.

    I've also found that vendors put a premium on integration features. The more features they provide for integration, the more their fear that you or another vendor's product will stand in place of one of their extra "modules" that they wanted you to buy from them.

  11. Best of Both by maeglin · · Score: 5, Insightful

    The company I work for has the best of both worlds. They go out and buy a $500,000 piece of Enterprise Software*, forgo the expensive contractors and dump the setup and configuration on 2 or 3 in-house developers, a project manager (who is usually an outside contractor who happens to be friends with an executive -- a budget locust, if you will) and an IT manager. After about a year the esteemed project manager moves on to the next project, the manager in charge gets promoted, the software is blamed for the lack of results and a new $500,000 purchase is made.

    *For those that haven't used the stuff, Enterprise Software doesn't actually work out of the box. It's much like a do-it-yourself plane kit with lots of manuals on FAA regulations, a glossy guide full of pictures of planes "other customers" have built and a box full of parts (with a few random parts missing) but no actual assembly instructions.

  12. Yeah totally stupid. by unity100 · · Score: 4, Interesting

    Imagine - you are trusting a PRIVATE party with your sensitive stuff. they can do something stupid and go bankrupt, get sold, this that. you have no power over hirings there, so you wont know whether they are hiring reliable individuals or people who could leak your stuff at any given point. what are their goals their policy changes this that.

    basically you are giving your balls to them. and they grip tightly.

    i.t. became too complicated now indeed. but, is that much complication really necessary ? KISS rule (keep it simple, stupid) is applied in software development, but, ironically it is not applied in setting up i.t. infrastructure of an organization - nowadays people try to incorporate every 'next big thing' into the setup. and you get a mess.

    KISS outside, KISS inside the infrastructure. And then keep your own infrastructure. That's the key.

  13. Re:Loaded cost of a software developer by garyebickford · · Score: 4, Informative

    When I worked at an F500 high-tech company, they accounted the total cost of each software and hardware engineer as 2.5 times salary. This included the buildings, computers, training, and all the other stuff necessary to keep the engineer productive. For big companies that's probably still pretty reasonable.

    --
    It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
  14. Re:Not So Fast... by Belial6 · · Score: 4, Insightful

    The same thing that happens when the employees move on from the company you contracted with. You just have a better chance of seeing it coming.

  15. Re:Loaded cost of a software developer by hawguy · · Score: 4, Insightful

    In my experience, the biggest difference in outsourcing operation of key software is that it forces internal customers to rethink their expectations. If software is maintained in-house, they expect it to fulfill their every whim. When the IT dept says "It will take 3 of our developers 6 months to do what you want", then say "Ok, we need it! Do it now!". But when they are dealing with a software vendor, and they say "It will cost you $175K to do what you want", they say "Hmm...well, that's kind of expensive, I'm not sure we need it".

    When you have your own developers, they can tailor the technology to meet the needs of your business. When you purchase pre-packaged software, the business tailors its needs around the software.

  16. Re:Now if only ... by Anthony+Mouse · · Score: 5, Insightful

    The article was about contracting versus in house gurus, and every month it seems there is always an article about the lack of gurus, hence the comment.

    I suspect the problem is corporate executives who know the cost of everything and the value of nothing. There is a simple way to increase the supply of something: Pay more. If companies would pay competent IT people more money, then more people who would otherwise go on to be tax lawyers or securities traders will go into IT instead.

    By contrast, what you hear in the media is the executives thinking with their MBA brains: If you want to increase supply, you can pay more... or you can go to the government and create artificial incentives to increase supply. More H1B visas. Government education subsidies for tech majors, to divert labor supply from occupations that pay the same or less than IT into IT. More supply at the same price.

    The problem is that the latter doesn't create "gurus" -- it creates paper MCSEs. It makes the problem companies have in hiring competent staff that much harder, because you create a population of applicants who have degrees and certifications and even experience, yet have no earthly idea what they're doing. It attracts exactly those people who are too stupid to understand that a $1000 scholarship is a completely asinine way to make a career choice, instead of those who are smart enough to do just about anything and who make decisions based on forward thinking criteria like which career will allow them to afford a house in a neighborhood with better schools and a comfortable retirement.

    It's the same disease that allows them to make the IT department a cost center: They count all of the salaries and equipment and ignore the productivity improvements that accrue to other departments as a result of their existence. Which makes it look like cutting staff or replacing them with less qualified but lower paid employees will save them money: The cost savings goes straight onto the spreadsheet, without accounting for the lost profits that will occur when a major system falls over and there is no longer anyone competent working there who can get it running before you lose a big client.

  17. IT needs apprenticeship not degrees. Tech school + by Joe_Dragon · · Score: 4, Interesting

    apprenticeship system. Take today's tech schools and add apprenticeships to them.

    CS degrees build theory and a lot of that is high level stuff with out the skills of working on systems / working with stuff at the hands on levels.

    Now with a apprenticeship people can build real world skills and companies get people who are not people who can cram for a test and be come a paper MCSE

  18. Re:IT needs apprenticeship not degrees. Tech schoo by ghostdoc · · Score: 5, Interesting

    And what does CS have to do with IT?

    Exactly. This. This is part of the problem.
    There's a disjunct between how academia sees Computer Science as nothing to do with IT and how business sees a CS degree as the basic starting point for a career in IT.

    Can we please either have a Computers in Business degree that teaches useful skills, or a business culture that doesn't expect academic degrees to be vocational qualifications? I don't mind which, either is good.

    Also, the reason your company doesn't have any gurus is that no-one is prepared to spend any time or money training their staff, or even giving them self-development time to train themselves. Companies that do decent training have gurus. It's pretty simple.

    --
    Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
  19. Re:Okay, I call bullshit. by jyx · · Score: 4, Insightful

    I'm a contractor that has spent most of my career 'on site' at various large institutions. Never less than 2 years at any one spot - the contract has always been extended even after the original work has been done.

    I've seen "in-house" development groups come up with some of the nastiest, most byzantine pieces of crap-hackery you could possibly imagine

    Very true, It you hire crap staff you will get crap results. Most of the places Ive worked had environments like this. In fact, its usually why I get called in ("ARGHH!! ITS ALL SHIIIIIIT FIX IT!!!!!!!")

    But with vendor approaches, if you dislike the direction the project is heading, you can kill it, cut out the vendor, and move on to something you find more acceptable.

    Hang on. Your saying that an IT department that is not capable of hiring even basically competent staff is some how magically able to contract and evaluate a 3rd party to meet their businesses needs?

    That's rubbish.

    The same lack of management competency that led to hiring crap staff will result in a crap outsourcing project.

    If you have a good management layer, you will succeed regardless of outsourcing or in sourcing. If you have a continual need for X number of developers, why pay the over head of a contracting firm? Sure bring in people when you need to, but they should support your in house team not replace them.

    I say if your big enough for an IT Department, your big enough for at least one full time developer. If you want to outsource, then walk the walk and outsource THE LOT (Includes all CIO and IT related management positions)

  20. Re:maybe it's time for IT unions by malkavian · · Score: 5, Interesting

    Although a union to say "You don't have to be forced to give up having a life, just so someone can get their spreadsheets at all times of day" would be nice.
    Everyone wants a 24x7 IT system. There's a way to do that; lots of money on the hardware, and three complete teams of core staff who work shifts (with the commensurate shift salary augmentation).
    But no, what business wants is a group of IT staff who work the same hours as everyone else, for the same kind of salary as the average pen pusher, who will then, at no notice, respond to a phone call at any time of day or night and get to site (or at least connect up remotely) and spend hours diagnosing network/server/PC/application problems (possibly calling up other IT staff), and then being in for work the next day as if nothing happened.