Slashdot Mirror


Custom Software vs. COTS Products

andy1307 writes "Nicholas Carr, best known for setting off a firestorm with his "IT Doesn't Matter" article published in the Harvard Business Review, has an op-ed in today's New York Times arguing against the use of custom-built software in favor of off-the-shelf products. He cites the example of Ford scrapping a custom built software solution for buying supplies. He says companies, frustrated by the failure of custom built software, have taken to modifying their business processes around the packaged software solution. The most unbelievable line in the op-ed: "When it comes to developing software today, innovation should be a last resort, not a first instinct.". Most of us know of failed projects using off-the-shelf products that need minor customization. Is the track record of custom built software really that bad?"

325 comments

  1. The truth about Michael Sims by Anonymous Coward · · Score: 0, Offtopic
    Stop michael Now

    For literally years, the "editor" "michael" has been splattering his moronic influence all over this website. Now, if Slashdot were some dipshit site without any effect on the online world, that'd be all well and good, but I and I'm sure you too would agree that as editor of the most popular "News for nerds" website, michael has a responsibility to us. Amongst the many things that michael has done are:

    The list goes on and on. michael must go. Slashdot's not that great as it is, but he's just dragging this place down all the faster. What can we do? Taco ignores all emails about his beloved $20K-a-year staff; he trusts michael more than the opinion of his beloved readers. Taco won't do a thing unless we can hit him where it hurts - in the pocket.
    How? Simple. Taco relies upon the insightful-sounding commentary that this site occasionally produces. (You'll notice he doesn't go to the trouble of modding it up himself - he leaves it to us!). Without it, people stop visiting and Slashdot becomes unprofitable. So, here's what to do if you want to oust michael and force Taco to fix Slashdot:

    • install adblocking software like Privoxy to block adverts
    • set your preferences to eliminate the slanted crap posted by michael
    • don't put links to Slashdot URLs on your blog; link directly to the URLs that the Slashdot story includes
    • don't post genuine comments in the stories; if you must post them at all, do them in the journals of the people you want to talk to or email them privately
    • any time michael (or any editor, for that matter) does something that they need to be
    1. Re:The truth about Michael Sims by mr_z_beeblebrox · · Score: 1

      I agree with this and will add to this that all his posts read as though they are from a good buddy who "knows" we share his opinions. That is not journalism. At best, he is blogging at worst he is cluttering a good site.

    2. Re:The truth about Michael Sims by Anonymous Coward · · Score: 0
      set your preferences to eliminate the slanted crap posted by michael

      Done and done. I really think this is the most effective option. If his particular ad ratio goes down low enough maybe Slashdot will rethink employing him.

      And just a note for all the other people who have had mod privs revoked - uncheck 'willing to moderate' and don't metamoderate anymore. The high 'fairness' rating that the moderation faq claims is shown in m2 results ignores the fact that an editor with a grudge can use the overrated moderation to hide their actions. As long as overrated is immune all m2 does is let them claim that the system works.

    3. Re:The truth about Michael Sims by FxChiP · · Score: 1
      Whatever you do, don't just moderate me down without responding first to explain why.
      Heh-heh-heh... nice. ;)
    4. Re:The truth about Michael Sims by taoxek · · Score: 1

      I modded you Offtopic because this is.....offtopic. Theres your explanation.

    5. Re:The truth about Michael Sims by Anonymous Coward · · Score: 0

      Uh, this article was posted by Timothy, not Michael. Do you have literacy problems?

  2. Scared by wildBoar · · Score: 0, Offtopic

    Certainly has a lot of PHBs scared. I know of many places where everything is outsourced and only standard products.

    Customise it ! Do it in-house !! Are you mad !!!

    To the extent these companies are spending a fortune rather than in-house and customise/support their business processes

    1. Re:Scared by wildBoar · · Score: 1

      Offtopic ! whichever lunatic modded that down hasn't got a clue what drives many mangement decisions - some berk from Harvard just gives them reassurance.

      I work in a Business where everything is standard off the shelf build or outsourced.

      In fact I later elaborated on this point and got +3 insightful.

      Offtopic. Ignorant peasant. Best stop before I really start ranting.

  3. Reg Free Link by Anonymous Coward · · Score: 1

    No Karma Whoring. Eat it up... NY Times Article

  4. "innovation" by zarr · · Score: 5, Insightful
    "When it comes to developing software today, innovation should be a last resort, not a first instinct.".

    Maybe this is what the author really meant to say: When it comes to developing software today, reinventing the wheel should be a last resort, not a first instinct.

    1. Re:"innovation" by beaststwo · · Score: 3, Insightful
      A really good point. I started writing software again several years ago when I realized two problems with COTS software for specialized problems:

      1. The capabilites may not be available on the market at any price.
      2. The capabilites may have such limited mass market appeal that they exist only in the outskirts of COTS packages, and are badly done and/or not supported well (remember Willie Sutton's answer to why he robbed banks?).

      It's important to realize the difference between "unique, difficult to fill" requirements and "having things just the way you want them". The latter results in reinventing the wheel.

    2. Re:"innovation" by Anonymous Coward · · Score: 0

      All depends on the quality of the programming. Homegrown or outside, there's good and there's bad. I've seen (designed/coded/implemented) significant applications which ran 15+ years without a hitch, also seen other custom-built code that required 2 years of debugging after going live. Seen good packages and bad packages from vendors. Like any other profession, 5% are great, 5% are competent and 90% suck.

    3. Re:"innovation" by slantyyz · · Score: 2, Insightful

      In the software development companies that I've worked in, the problem was that developers just wanted to play with the newest technologies so that they wouldn't get bored. The reality, however, was that the business solutions we needed to solve were actually quite mundane and could easily be solved with less exciting techniques and platforms.

      While I understand the desire (and need)to play with the latest bleeding edge platforms, techniques and technologies, there is a time and place for that.

      More often than not, my experience with the so-called visionary genius programmers has always been to drive a thumbtack into a wall with a triphammer. The rationale was "Sure, everyone has a thumb, but not everyone has a triphammer!" Not a problem... until the triphammer drives itself into the wall along with the thumbtack.

    4. Re:"innovation" by kpharmer · · Score: 1

      > reinventing the wheel should be a last resort, not a first instinct.

      yeah, but this guy doesn't know enough about IT to understand that most commercial IT wheels come attached to a commercial IT locomotive engine.

      For example, when you only wanted a utility to copy data between databases, and you end up stuck with a $250,000 commercial ETL solution - you are hosed:
      - It's going to cost you $75,000 in annual licensing fees
      - will cost more to add to more servers
      - will probably require training
      - configuration for a simple task will take longer than a simpler custom solution
      - etc, etc, etc

    5. Re:"innovation" by Grishnakh · · Score: 2, Interesting

      The reality, however, was that the business solutions we needed to solve were actually quite mundane and could easily be solved with less exciting techniques and platforms.

      I work as a software engineer currently, designing and building a product for in-house use. However, there's a commercial product which could probably be used to do the same thing; it includes its own programming language which is somewhat similar to C, and designed to hook into our simulator software the way my in-house product does.

      However, I've been extremely vocal about not using this other product, for several reasons. For management, the reasons I give are 1) that it's expensive, and 2) it'll have poorer performance than our custom solution, and 3) it requires specialized knowledge, whereas our in-house product is written in C/C++ which it's a lot easier to find people with expertise in.

      But my big reason for not wanting to get involved with that commercial product? I don't want to pigeonhole my career into becoming an expert in some special proprietary product. By doing work in C/C++/Perl/Verilog, it'll be much easier to find another job if the need arises. If I become an expert in this commercial product and its proprietary language, my career is basically over. No thanks.

      In this age of short stints at different companies, and HR people only looking at buzzwords on your resume, you're better off with lots of experience in popular, non-proprietary tools and languages which can be applied at many places, rather than a narrow expertise in one thing which may lose popularity, or worse in my case, just isn't something I want to be doing for the next 20 years.

    6. Re:"innovation" by Anonymous Coward · · Score: 0

      Your post is a prime example of why IT management rarely listens to the engineers for advice. It's all about MY baby and MY resume, and doesn't even touch on the business rational for using COTS versus an existing inhouse project (which obviously must be deficient somehow).

    7. Re:"innovation" by EvilTwinSkippy · · Score: 1
      What we keep discovering, the hard way, is that there really isn't any COTS software to do what we need it to. Sure there are operational chunks, but some of the stuff I do it pretty exotic. Workorder system for tracking exhibit repairs. Web-based volunteer checkin system.

      And even if there is a solution TODAY, most of the problems I needed to solve were 5 years ago.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    8. Re:"innovation" by vsprintf · · Score: 2, Insightful

      Maybe this is what the author really meant to say: When it comes to developing software today, reinventing the wheel should be a last resort, not a first instinct.

      What the author is saying is you shouldn't build a house because there is a company that makes double-wide trailers, and one size fits all. It's more nonsense from a guy known for spouting nonsense, and that's the best reason to ignore it.

    9. Re:"innovation" by Grishnakh · · Score: 2, Insightful

      Perhaps, but why should I accept a crappy career because it might (might, not a sure thing) save some money? It doesn't matter how great a certain solution is if you can't find anyone that wants to implement it for you.

      However, considering that our custom solution only requires about 1.5 engineers, compared to the $500k-$1M/year for licensing the commercial product (which then, like SAP and other commercial products, requires extra development in their funky proprietary language, so you'd still need the engineers), I'd say my company is probably saving money in this case.

    10. Re:"innovation" by slantyyz · · Score: 2, Insightful
      For management, the reasons I give are 1) that it's expensive, and 2) it'll have poorer performance than our custom solution, and 3) it requires specialized knowledge, whereas our in-house product is written in C/C++ which it's a lot easier to find people with expertise in.

      Without knowing details about your particular situation (your argument could very well be justified), the boilerplate management arguments against your position are:
      1. What are the costs of the app versus the fully realized burn of in-house development. What about the elapsed time to deploy for each? Sometimes it's worth spending money on something I can have now as opposed to six months from now.
      2. What is the quantitative performance difference between the two solutions? If the effectiveness of the two solutions is equal (since you did say the commercial app would do the same thing), other time/cost factors may lower the importance of the efficiency criteria, especially if the performance difference is deemed acceptable.
      3. Sure, it's easy to find someone with expertise, but there is still ramp-up time to learn what was developed. That time has both tangible and intangible costs.
      But my big reason for not wanting to get involved with that commercial product? I don't want to pigeonhole my career into becoming an expert in some special proprietary product. By doing work in C/C++/Perl/Verilog, it'll be much easier to find another job if the need arises. If I become an expert in this commercial product and its proprietary language, my career is basically over. No thanks.

      While I hear your perspective, your wording sounds like you're more worried about what you need than what your employer needs, so is the rationale that you're presenting to your employer truly objective?

      Don't get me wrong, I have no problem with developing in-house (who hasn't been burned by a vendor who overpromised and underdelivered?), but all factors need to be considered. Yes, it's important to consider your employees' skill set marketability (you don't want your best people to leave), but you've also got to consider the timeliness and business impact of getting a mission-critical solution deployed.
    11. Re:"innovation" by vsprintf · · Score: 1

      What we keep discovering, the hard way, is that there really isn't any COTS software to do what we need it to.

      I hear that. We had a major project starting up, and a top manager decided we would use COTS software because he knew that "we would be leveraging the superior talent at commercial software companies," it would be cheaper, and it would take less time to completion. (Translation: he read an article in Computerworld.)

      After the RFP, they selected a company that claimed their software did everything needed. At one point the adaptation problems were so bad that the vendor had a contractor at our site for several months. He was put in an office two doors down from mine, and one day there were loud noises of equipment being slammed around and this guy yelling, "I hate this *&%!%$$ place!" They delivered a highly-customized version six months behind schedule with cost overruns. The finished product was painfully slow and loaded with bugs. (A response to a query in less than a minute was not one of the requirements, the vendor said.) The bug-fix period only lasted for six months, during which only some of the bugs got fixed.

      Since then, we've been paying for the rest of the bug fixes plus support on this supposedly OTS product. It has been several years, and the need for a replacement is obvious. A team was put together to analyze the problem, and they recommended to management that we build a product in-house to meet our unique needs since the costs would be less than the previous COTS "solution", and the maintenance would be cheaper. Management put out a RFP to the COTS vendors.

      The moral of this unhappy story is that you can do everything in your power to assist management and give them good advice, but you can't make them smart or willing to admit a mistake.

    12. Re:"innovation" by Lally+Singh · · Score: 1

      Actually innovation = risk, and that 86% of projects over 100k LOC either fail to meet requirements or get cancelled. And yes, that's a real statistic.

      Remember he's saying to buy it instead of making it. So, instead of inventing the tires with the perfect tread for the path you want to take, you're probably better off sticking to the existing roads and getting your wheels from goodyear.

      --
      Care about electronic freedom? Consider donating to the EFF!
    13. Re:"innovation" by Grishnakh · · Score: 1

      Yep, from a management perspective, your arguments sound absolutely correct.

      For my situation (which I really don't want to elaborate on too much, just in case someone from my work is reading this), I'm really not sure how the effectiveness (#2) compares, since we haven't done a full study to compare the two. My belief, based on what little work I've done with that commercial tool, is that it could be made to work similar to our in-house tool, but it would take nearly as much work to develop as the in-house tool did.

      Basically, like I've heard about many other enterprise applications, this commercial application seems to provide a framework, but you still have to develop all your stuff on top of this. So it's no an out-of-the-box solution by any means. It might make development of the tool significantly easier than with standard languages like C/C++, but I'm not really sure about that. On the other hand, it may also perform much slower than C/C++, since you have to waste CPU cycles on all that overhead of the framework, which wasn't custom-designed for your specific problem.

      While I hear your perspective, your wording sounds like you're more worried about what you need than what your employer needs, so is the rationale that you're presenting to your employer truly objective?

      Absolutely not. I am absolutely more worried about what I need than what my employer needs. I would be really stupid not to, in my opinion. My employer (and no other in this society) is going to look out for me and my career until I retire, so I'm not about to advocate something (or even put a lot of energy into investiging something) which would be a bad move for my career. This doesn't mean I'm going to outright lie, but I do have a bias, and I don't hide it, and I operate with that bias.

      Interestingly, however, when we were in discussions before about using this particular commercial tool, one of the two main points (the other being license cost) that I brought up consistently against the proprietary tool was that it was proprietary, and required programming in a proprietary language, and because of this 1) it'd be harder to get people trained on it, and 2) it'd be harder to keep any employees interested in it. I specifically said that I don't want to spend several years becoming an expert in this tool, because then all that knowledge would be absolutely useless if I wanted to move to another group some time. Moving around between groups every few years is normal in my company, so I guess they accepted this argument.

      The other engineers liked my arguments too, and the tool already wasn't very popular for several reasons (we had already tried using it in a slightly different capacity in our group just before I came in), so they decided to axe it.

      Overall, I think every situation is different. It is pointless reinventing the wheel if there's a product out there which really will do everything you need, and work well. Just buy it (or download it, better yet), drop it in, and use it. The developers can spend their valuable time doing something else instead. But for many of these ultra-expensive enterprise applications where it seems they just collect a lot of money from you, but then require you to do tons of programming to make the tool useful, I really think there's a better (and cheaper) way.

    14. Re:"innovation" by Grishnakh · · Score: 1

      My employer (and no other in this society) is not going to look out for me and my career until I retire,

      Whoops, forgot the "not" here.

    15. Re:"innovation" by Fulcrum+of+Evil · · Score: 1

      Remember he's saying to buy it instead of making it. So, instead of inventing the tires with the perfect tread for the path you want to take, you're probably better off sticking to the existing roads and getting your wheels from goodyear.

      That would first require you to build a road to wherever you're going. It may be cheaper to build some special wheels and suspension than to build and maintain another road. Oh, and Goodyear makes tires, not wheels.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    16. Re:"innovation" by mpe · · Score: 1

      I started writing software again several years ago when I realized two problems with COTS software for specialized problems:

      1. The capabilites may not be available on the market at any price.
      2. The capabilites may have such limited mass market appeal that they exist only in the outskirts of COTS packages, and are badly done and/or not supported well (remember Willie Sutton's answer to why he robbed banks?).


      There's also an issue of "excess baggage". Which includes both having to deal with the third party's licencing and that in order to get the capabilities you need you may also get a lot of "bells and whistles". These can easily equate to potential security holes and performance losses.

    17. Re:"innovation" by Bill+Dog · · Score: 1
      But for many of these ultra-expensive enterprise applications where it seems they just collect a lot of money from you, but then require you to do tons of programming to make the tool useful...

      Heh, prolly the idea is that you then go back to that company for consultants/expertise in that proprietary language, to program/customize it to your business' needs, becoming an even more ultra-expensive proposition.

      --
      Attention zealots and haters: 00100 00100
    18. Re:"innovation" by Anonymous Coward · · Score: 0

      Implementing a COTS solution = risk too. What is the companion statistic for the one you give covering the customization of a comparable COTS system?

      PS: Your tire metaphor is fucking pathetic.

    19. Re:"innovation" by Grishnakh · · Score: 1

      Probably. Unfortunately, I have no desire to be an overpriced consultant for that particular product.

    20. Re:"innovation" by chthon · · Score: 1

      We seem to have the same problem here, with a change management tool called Continuus. While it fullfills change management and versioning for simple to medium complex tasks, we are really going far beyond its scalability.

      E.g. the problem tracking part had to be extended with an external database, because Continuus itself is too slow for the rate of changes which goes on here. We also had to add our own web interface, because what is delivered is not enough customisable for us.

      So indeed, for some things you can buy COTS, or you buy a COTS framework, but if you see how much work you have to add afterwards, it seems that such things only deliver short term gains.

  5. It's all competitive advantage by antifoidulus · · Score: 5, Insightful

    Any freshman course in Engineering economics can tell you that 99% of the time it's better to buy than to make. You only make what is core to your business. Ford's methods of buying parts/inventory tracking wasn't too unique, so there would have been no reason to make the software unique.
    However, if all you do is buy, you give yourself no competive advantage over the other guy who has access to the same resources as you. Ford probably has a lot of custom software in their factories because that is what really differentiates themselves from the rest of the pack(whether the distinction in this case is good or bad is left as an exercise to the reader).

    1. Re:It's all competitive advantage by computerme · · Score: 1

      if i had 100 mod points i would give you them all :)

    2. Re:It's all competitive advantage by freemacmini · · Score: 5, Insightful

      Even if you buy you have to write tons of custom software. Applications like SAP, Seibel etc are not like a word processor where you just install and launch, they are more like application frameworks where you "script" using some proprietary language to make the application do what you want. Most corporations who have deployed these types of applications have a team of developers who do nothing but code in it all day long. Check monster.com for SAP or Seibel jobs and see. Of course these "applications" give you a ton of functionality and maybe it's better to start with that then to roll your own but I think it's a tough call. They cost millions and take months if not years to implement. Finally there is no shortage of companies which tried to implement a monolithic system and gave up after spending tens of millions of dollars. Spectacular failures are not uncommon.

    3. Re:It's all competitive advantage by jeffry_smith · · Score: 1

      1. Most custom software is expensive to make & maintain.
      2. Most COTS software is "not-quite" (at best) what you need - you have some unique requirements.

      Of course, with FLOSS you get the best of both - a world of developers doing the majority of the work (like COTS) along with your own unique pieces (like custom).

      Oh, and the licensing cost is free (and, unlike COTS, you can compete the support).

      win-win-win

      jeff

    4. Re:It's all competitive advantage by hhawk · · Score: 1

      It's about Risk. Google doesn't use COTS but you can bet they use lots of COTS bits from RAM to HDs, but when they really need the advantage of custom, they manage the risk and hire really good people like Rob Pike (just to mention 1 of many!).

      --
      http://www.hawknest.com/
    5. Re:It's all competitive advantage by bn557 · · Score: 2, Interesting

      I am actually in the process of deploying SAP Business One at the place I am working. You are 100% correct in that the core will just get you by in most situations, but that you can tweak these products to fit your (almost) every need. My ONLY complaint about SAP business one is the lack of the ability to do conditional printing. Is it so much to ask that if I create an order, it prints at one spot, and if I create an invoice it prints at another? The software we're moving from(silversystem or something like that, runs on PICK OS) had this feature, and my company had been on that since 1992ish.

      p

      --
      Humans are slow, innaccurate, and brilliant; computers are fast, acurrate, and dumb; together they are unbeatable
    6. Re:It's all competitive advantage by kpharmer · · Score: 1

      > Any freshman course in Engineering economics can tell you that 99% of the time it's better to buy than to make

      And any graduate course in engineering economics can tell you that there is no choice of buy vs make for large enterprise apps: the choice is buy & customize vs make.

      And given that most enterprise apps have been built as monolithic software rather than truly distributed components - customization is expensive, risky, time-consuming, and difficult to maintain.

      Not to say that COTS software is all bad - but I have seen a trail of carnage over the past twenty years that probably exceeds that of custom software development:
      - consistent underestimation of the cost of customization
      - lack of required functionality - due to expected cost of customization.
      - inability to keep skilled IT personnel necessary to maintain & continue to customize code: since no developer worth his salt wants that job.
      - inability to easily upgrade - since required customizations interfere.

      I don't think that this will change much until we begin to architect solutions differently: web services & SOAs should be a good start, along with commodity components & protocols that allow tons of off the shelf components to be plugged into an enterprise service bus.

    7. Re:It's all competitive advantage by plumby · · Score: 2, Insightful

      Depends on what type of system you're after, really.

      It's fine for word processing systems (and I'd like to think that not too many companies think that building their own word processor is a sensible option, so that leaves buy v FLOSS), but there's not (for example) many FLOSS credit card management systems available out there.

      Probably the only sort of area that I've come across where there's a realistic choice of any of the three options (buy v build v FLOSS) is content management tools.

    8. Re:It's all competitive advantage by 16K+Ram+Pack · · Score: 2, Insightful
      A lot of "outsourced" software is really hacked like mad. Often, someone will want a product, and a software company will have something sort of close, but the fundamental problem can often be the data model.

      So, instead of rewriting to reflect the bus. requirements, they shoehorn the data into the old system. I've seen this shit frequently.

      Another problem I've seen is that components/packages etc are only any good if they are truly that. Once you ask a company to modify the code for you, it's really no longer a package. You lose all the benefits of changes being reflected in all versions.

    9. Re:It's all competitive advantage by Anonymous Coward · · Score: 0

      To expand on that a little, they need to look at cost/risk/return. Ford does a LOT of purchasing. If they can save a few percent on their purchasing costs (there are many places to do this that software can help with), it might be worth a large investment. Beyond planned customization of the software (scripting), they have a few options.

      They can offer to pay the supplier to customize it for them. This is a great option, because they can leverage the written, tested code while still getting what they want, and without losing the warranty support. The supplier might not be interested, though, or they might charge too much to be worthwhile.

      A large company might be able to source license the software and customize it themselves. This will probably cost less, but they have all the problems associated with a fork they have to keep track of. They also don't get any support from the vendor. If something goes wrong, their in-house staff has to fix it, and fast.

      Then there's the option of writing something new. Good old "Bell" did a lot of this back in the '60s and '70s, for which we are all glad. The costs associated with this are large. Considering the complexity of almost any serious software these days you need a pretty large staff to develop, support, and maintain anything mission-critical. If they don't test well enough, it can cost millions in downtime. This is definately a last resort for anything serious. However, you end up with exactly what you need, so you may improve your system enough to be worth the cost.

      For smaller software, custom is okay. As a mechanical engineer, I run dozens of little programs that I wrote. Because there's only a few of us using my software, and we're capable of working without it, it isn't a large risk. Because I develop it in lag time it doesn't really cost anything. It can be a big win for the company. This is kind of special-case, though, since the end user is doing the development and support.

    10. Re:It's all competitive advantage by archen · · Score: 3, Insightful

      I think the growing problem with "off the shelf" software is inflexibility. Often you end up with software systems which do not do what you really need them to and you can end up spending a considerable ammount of resources trying to get what you need out of it. The main problem with this is that smaller software companies that address these needs are getting harder and harder to find, while larger software companies are only interested in big generic systems they can market to everyone.

      If you can find off the shelf packages that do all you need them to or are easy to extend, then yes; off the shelf components make sense. But realistically, a large ammount of software does not meet these requirements. And that's assuming that you can even GET off the shelf software to do what you need.

    11. Re:It's all competitive advantage by Hognoxious · · Score: 1
      Applications like SAP, Seibel etc are not like a word processor where you just install and launch, they are more like application frameworks where you "script" using some proprietary language to make the application do what you want.
      I can only speak about SAP, but for that, this is twaddle. Most of the logic you need is in there, you just need to link it together via customising - it's largely table driven.
      Finally there is no shortage of companies which tried to implement a monolithic system and gave up after spending tens of millions of dollars.
      Probably because they tried to do in code what is easily possible by customising, but some malodorous, twitching scatterbrain got the opportunity to improve his job security by making undocumented hacks & bodges left right and centre. BTW, I currently work for one such outfit.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:It's all competitive advantage by mikael · · Score: 1

      Ford probably has a lot of custom software in their factories because that is what really differentiates themselves from the rest of the pack(whether the distinction in this case is good or bad is left as an exercise to the reader).

      From articles posted in VR and CAD journals, Ford's advantage is being able to having the lowest design costs per product (measured in $ per day).

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    13. Re:It's all competitive advantage by FallLine · · Score: 2, Interesting
      You only make what is core to your business. Ford's methods of buying parts/inventory tracking wasn't too unique, so there would have been no reason to make the software unique.

      However, if all you do is buy, you give yourself no competive advantage over the other guy who has access to the same resources as you.
      I disagree. Whether you're buying software or producing it in-house, the actual act of obtaining functional code is barely even half the battle. Putting the code to proper use, i.e., implementing it within an existing business and/or changing business processes to take advantage of the software is a HUGE hurtle for most companies. It is generally very hard to get managers to change their ways in a way that enhances efficiency. You simply can't buy this "talent" from a software vendor (or from your own in-house developers). It often takes hard work and real management talent to realize real improvements in efficiency and quality of service. [And doing this without a lot of wasted effort is even harder]

      Think of the great companies that are known for their outstanding support and customer service (which DOES differentiate and tends keep customers coming back). The secret to their success is rarely a secret formula or a training process. The "secret" is generally plenty of good management, good front-line workers, hard work, and a certain attention to detail. The method may not be proprietary, but proper execution (read: good and consistent service) is a rare thing in this world. Software can be a very helpful, even necessary, tool for improvement and it can help further differentiate even if the competition is theoretically able to copy it.
    14. Re:It's all competitive advantage by Anonymous Coward · · Score: 0

      Something that just came to my mind...

      Can you decide the name of the printing job in SAP? If so, name one printing job as Printer1-WhateverNameOfTheJob, and the other one Printer2-TheOtherName. Then, write a tiny pre-printing filter for your printing server and send the job to the proper printer depending on its name :)

      I think lpd or CUPS can take this sort of filters, or you can hack a little bit and find your way through ;)

      All of this, of course, if SAP allows to change the name of the printing job...

      Good luck!!

      --
      J. Javier Maestro

    15. Re:It's all competitive advantage by KarmaBlackballed · · Score: 1

      Amen.

      http://www.computerworld.com/industrytopics/reta il /story/0,10801,57382,00.html

      --

      --- -- - -
      Give me LIBERTY, or give me a check.
    16. Re:It's all competitive advantage by Forbman · · Score: 1

      So, how much does it cost (in SAP developer time) to develop a custom SAP report, vs. slurping the data out and doing it with Crystal, Business Objects, Cognos, Access/Excel, or other custom stuff?

    17. Re:It's all competitive advantage by anopres · · Score: 1

      I can't see how applications like SAP, Seibel, et.al. can be considered COTS software. To me, Commercial Off The Shelf implies that the product is used by most customers without modification.

      I seem to remember hearing Larry Ellison claiming that Oracle Financials was going to move in that direction. He was trying to sell the idea that businesses should change the way they operate to match the software's processes. I guess he didn't like the idea of all that consulting money getting made without getting a cut. We all laughed.

      Besides, if Ford would just switch to Quickbooks, all their software problems would go away. They'd also save a ton on salaries. Quickbooks even says on the box "no account knowledge necessary". Think of all the accountants they could downsize.

      --
      Strong Mad - 2008: "I PRESIDENT!"
    18. Re:It's all competitive advantage by Anonymous Coward · · Score: 0

      Except...

      1. Missing scapegoat.
      2. Fear Abandonware.

      Each side has its share of problems and advantages. Case by case. Smart decision makers is more important than smart software.

    19. Re:It's all competitive advantage by Hognoxious · · Score: 1
      At the risk of stating the obvious, it all depends how complex it is - munber of tables etc. But these days, with such things as the ALV[1], all you have to worry about is the data selection - there's wigdets to handle the displaying.

      But actually, the problem isn't so much the reports. It's trying to make the behaviour of the system copy the old system - not just the results, but step by step, how it gets to those results. It's like translating between languages word for word.

      'Slurping the data out' isn't a trivial step either - you need to consider multiple tables, joins etc. Just the same as if the report was done wholly in SAP. But then there's different data formats & conventions to deal with. I don't see much gain using external tools - maybe for very high level management stuff and data warehouse type things, but for low level, "how many orders did fred take last week" operational stuff, crystal is overkill.

      [1] Abstract List Viewer - as a matter of fact, the ALV can stick data directly into excel, if that's what floats your boat.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    20. Re:It's all competitive advantage by Anonymous Coward · · Score: 0

      It is always surprising that people still use stupid mechanical software like SAP and Seibel instead of self-learning and improving software with strong AI. No wonder they have spectacular failures.

    21. Re:It's all competitive advantage by Bill+Dog · · Score: 1
      Then there's the option of writing something new. [...] The costs associated with this are large.

      And there's also the issue that most companies don't know how to "do software". If a company manufactures widgets, the PHB's there don't know how to select and retain software engineers, and the methodologies/processes to run a development project and team of developers. A dotcom I was at previously was exactly this -- a bunch of mortgage execs who simply didn't know what they were doing, and were in waaay over their heads.

      --
      Attention zealots and haters: 00100 00100
    22. Re:It's all competitive advantage by Hognoxious · · Score: 1
      My ONLY complaint about SAP business one is the lack of the ability to do conditional printing. Is it so much to ask that if I create an order, it prints at one spot, and if I create an invoice it prints at another?
      I'm not sure about Business One (I'm not even sure what it is - yet another SAP-Lite or preconfigured turnkey solution) but with regular SAP you can set the output device using conditions. See transaction NACR, it's on the communication screen.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    23. Re:It's all competitive advantage by Hognoxious · · Score: 1
      Ford's advantage is being able to having the lowest design costs per product (measured in $ per day).
      According to their latest figures, as mentioned on the BBC recently, their main advantage is being able to borrow money cheaper than they lend it - they only make money from financing, not vehicle sales.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    24. Re:It's all competitive advantage by mikael · · Score: 1

      You mean this link? Ford gains from finance not cars

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    25. Re:It's all competitive advantage by Hognoxious · · Score: 1

      Well, I saw it on the TV but it's the same story, yes.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  6. Are you a software company? by jafo · · Score: 4, Insightful

    The first thing you should think about before deciding to develop software rather than purchase it is: Is our organization a software company? If you aren't a software company, what makes you think you can successfully deploy a software project?

    I developed this opinion over a number of years working for a Fortune 500 telecommunications provider. For political reasons, most of the developers had been promoted internally from other jobs. So now we had 30 people thrown at a project, only one of which REALLY loved the work. So there were a bunch of rather ordinary developers working for years on this "next generation" project.

    In other cases I was supporting products developed by another division of the company. These products ran part of the order processing system, but were so buggy that the two of us supporting it literally couldn't take lunch at the same time because various components required constant maintenance.

    I've come to the opinion that under all but the most extraordinary circumstances, a company should not work on developing custom applications in-house. They should either farm them out to a development company, or they should adjust their processes to work with existing Commercial Off The Shelf (COTS) applications. Concentrate on your core business and you're probably better off. If your core business is not software, you probably can't do a successful software project.

    Sean

    1. Re:Are you a software company? by alan_dershowitz · · Score: 4, Insightful

      I've wasted thousands of man-hours messing with our in-house fee calculation app. Instead of just buying Oracle Financials, we had a bunch of PL/SQL hackers write a giant, poorly documented, database-driven general ledger. Fantastic. I'm sure someone thought we were getting off cheap, but I can't even hope to calculate how much money we've lost over the last 7 years due to maintenance and bugfix, not to mention lost productivitly due to the inflexibility of a system built by people that aren't even experts on accounting.

      The problem is that it's easier to convince bean counters you can make a "lean" custom app that only serves our needs _right now_, because it will cost less RIGHT NOW, than an expensive, but reliable and flexible USEFUL package.

    2. Re:Are you a software company? by Feztaa · · Score: 4, Insightful

      At the risk of sounding like a zealot, Open Source is the obvious solution here. Most companies can just drop in a open source software package and use it as-is, much like they would for a COTS package. Companies who need customization can just make minor changes to the program, recompile, and voila! Best of both worlds -- you get custom software that meets your needs, but 99.9% of the development work is handled by the development community, so you don't have to start from scratch.

    3. Re:Are you a software company? by wildBoar · · Score: 3, Insightful

      Eek what a generalisation.

      After working on projects with several so called software houses, eg Accenture, Oracle, EDS.... I cannot recommend them.

      Whether to customise in or out of the shop is very much a case by case thing.

      Criteria for me are how dependent on IT is the company, eg a modern bank will not out source its IT.

      Are you reinventing the wheel or doing something new/specific. eg no one in their right mind will write an inhouse word processor, but a business with pretty specific needs or requirements will be hard pushed to find something on the market.

      The larger the company the more economic sense it makes to have IT internal. There is a point where a critical mass of expertise can be maintained economically in house. This should know the business better and have a sense a better sense of responsibility to the company.

      The big problem with in-house projects is that they are often mismanaged by people put in charge inappropriately. They have unrealistic goals and expectations and unrealistic budgets.

      The big problem with out-sourced/so called standard products are that they often don't do what you think they do. They are inflexible. Any changes/special requests cost a fortune and suffer the same problems as the product itself. Not to mention interfacing problems.

      As to my FP. This in some ways represents a management by FAD. Rather than managing case by case (ie doing their job) lets generalise and do everything the same (everyone else is doing this it must be right). I have seen large IT dependent comapanies out source/standardise on products because it is 'what they should do' despite evidence to the contrary. Even after several disasters and a huge extra spend they keep going. They are scared to admit their mistake and have to manage/take control.

      If you out-source or buy a product then it was the other guys fault - right !

    4. Re:Are you a software company? by barzok · · Score: 2, Insightful
      Even after several disasters and a huge extra spend they keep going. They are scared to admit their mistake and have to manage/take control.
      That's the key. Most management is still stuck in decades past. They can't admit they were wrong, because they believe that doing so would doom their careers. They believe that management must be infallible and if it ever falters or admits to a mistake, disaster will ensue.
    5. Re:Are you a software company? by Anonymous Coward · · Score: 1, Insightful

      Even if you _are_ a software company, you probably can't deploy a successful software product.

      If you are to deploy a successful software product, you are most likely to be someone who knows the core business of the end user. You also need to be someone who knows how to fit the pipes together, but the IT industry is filled with plumbers who know everything about pipes and threads, but who have never even seen a bathroom.

      My two cents.

    6. Re:Are you a software company? by Paleomacus · · Score: 1

      Yeah but what if it's open source that requires you to release your changes back to the community? This is good for the community but also telegraphs information about your business processes to competitors which is not good for you.

    7. Re:Are you a software company? by wildBoar · · Score: 1

      Management by market momentum is a disaster, and yes I completely agree with what you said.

      I remember Borland making a really good C compiler it was light years ahead of M$oft. what did the market buy.....

      Management by default is a failure to manage and is far too widespread and is one of the main reasons these things end up a complete mess.

    8. Re:Are you a software company? by arose · · Score: 1

      Free Software licenses allow you to keep your changes if you don't distribute the software outside your organization. Open Source may have a different mindset.

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    9. Re:Are you a software company? by swillden · · Score: 1

      Yeah but what if it's open source that requires you to release your changes back to the community?

      Yes, you may want to avoid open source software with licenses that require publication. Fortunately, there are very few such licenses (I can't think of one off of the top of my head), and very little software published under them.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    10. Re:Are you a software company? by jeffry_smith · · Score: 1

      Then it fails the DFSG (the chinese dissident test). They can ask you to release them back. They can require you to provide them to those you provide the source-code to, but if it's to meet the DFSG (basis of the Open Source definition), they can't REQUIRE you to release the changes back if you don't distribute.

      Oh, and your competitors probably know you practices (at least the major outlines), same way you know their's. Data, well, that's something else.

      jeff

    11. Re:Are you a software company? by Anonymous Coward · · Score: 1, Insightful

      Unfortunately, most Open Source software is written for standalone webhosting type situations ("LAMP" etc) and not for "enterprise integration".

      Very little oss stuff supports Oracle/MSSQL, LDAP/AD authenication, web service or Java interfaces, and other kinds of stuff that corps write into the requirements.

    12. Re:Are you a software company? by Anonymous Coward · · Score: 0

      You guys are vastly over-optimistic. Most Managers don't really understand the business any better than the janitor does. What they're really worried about is improving their status and building their personal empire. That generally means the status quo rules (whether it's a custom app or a COTS app).

      The wrinkle is IT managers are motivated by resume-building just as much as the grunts are. "Peoplesoft" or "Siebel" are better keywords than "20 year old COBOL application".

    13. Re:Are you a software company? by nietzsche_freak · · Score: 1
      Yeah but what if it's open source that requires you to release your changes back to the community? This is good for the community but also telegraphs information about your business processes to competitors which is not good for you.

      Well, the GPL (which is what I assume you're talking about--it's the most popular "open source" license) doesn't require you to release any information regarding your changes to anyone, unless you distribute your customized version.

      So, for a custom in-house app, that isn't a valid concern...

    14. Re:Are you a software company? by HankB · · Score: 1
      No, I cannot agree. Software is a necessary tool to operate a business.

      With any tool, the business has to decide if it makes more business sense to build a custom tool or buy an OTS tool. Just because they are not in the tool building business does not mean that they cannot build a better tool to meet their needs.

      There will always be situations where a (non-software) business can gain a competitive advantage by developing their own software. Whether or not they can succesfully deploy probably has less to do with their ability to successfully manage a project than being a software company.

      On the other hand there is little sense in developing software that could be purchased for less cost off the shelf and perhaps customized for specific requirements.

    15. Re:Are you a software company? by k12linux · · Score: 4, Insightful
      Very few OSS licenses (do any?) require you to release changes back unless you are distributing your changed apps to others. Even the GPL which MS likes to call "viral" doesn't require you to release a single change you make for use within the enterprise so long as you don't distribute your changed software outside of your enterprise.

      And a reply to the person who claims that "Very little oss stuff supports Oracle/MSSQL, LDAP/AD authenication, web service or Java interfaces. Actually quite a few do support major commercial DBs and many which need authentication also support LDAP/AD. Even if they don't, support can usually be added without too much additional effort using avilable libraries and APIs.

      A fair number of FOSS software was written by/for enterprises who realized that maintaining it themselves was not practicle so they released it as OSS. And guess what... many FOSS projects aren't being developed by some computer geek in his basement but instead are the results of programmers being *paid* to do the work. According to a recent Newsweek article, currently as much as 90% of the patches for the Linux kernel are being submitted by people who are being paid to program.

      IBM has over 600 programers working on FOSS projects. If IBM isn't "enterprise" aware then I don't know who would be.

    16. Re:Are you a software company? by wildBoar · · Score: 1

      Can't disagree with you, but I dont think it contradicts what I have said either - but is rather another spoke in the old wheel.

      Same is true of the Developers. They would much rather see Oracle and Java and Unix type keywords on their CV, especially the more recent versions.

      At least developers are tempted by cool stuff, eg in the old days of MS C v6 and Borland Turbo C++ v2 - Borland was the clear winner on every front except that they didn't right the OS, and weren't seen as the current managerial bandwagon ( ie exscuse not to makea decision )

    17. Re:Are you a software company? by Bastian · · Score: 1

      I've looked at this, and the one serious problem that my employer has with using OSS is the GPL.

      The simple fact is, at least with the nature of our particular business, any internal app has the potential to become a product that we sell at some point in the future. With this in mind, the GPL simply doesn't work. The bosses worry that if any of the tools that support our product become public domain, they can be snatched up by our competitors, thus erasing advantages our solution has over the others.

      For a very few things that we know have zero (or near-zero) chance of ever becoming part of a product that we sell, we do use Free Software components liberally, and we definitely get our (lack of, I guess) money's worth out of OpenOffice.org. But other than that, we're forced to write our own libraries or buy software for a lot of components.

    18. Re:Are you a software company? by Anonymous Coward · · Score: 0

      Don't forget that Borland tried to impose some sort of percentage-of-revenue licence on thier users causing a massive revolt. I've worked with old timers that are still cussing at Borland.

    19. Re:Are you a software company? by Grishnakh · · Score: 2, Insightful

      I've looked at this, and the one serious problem that my employer has with using OSS is the GPL.

      The simple fact is, at least with the nature of our particular business, any internal app has the potential to become a product that we sell at some point in the future. With this in mind, the GPL simply doesn't work. The bosses worry that if any of the tools that support our product become public domain, they can be snatched up by our competitors, thus erasing advantages our solution has over the others.


      Obviously, neither you nor your bosses understand the GPL.

      First, if your internal app isn't linked to any GPL applications, then you can put any license you want on it. Now, suppose you were to place it under the GPL, and sell it this way. This is not "public domain" (if you've been on Slashdot long enough to have a 5-digit UID, you should know this by now). The only stipulation is that anyone you sell the product to, must be allowed access to the source code as well. This does not mean they can re-sell or give away the app; but they do have to give you any changes they make.

      Now, if you were thinking of releasing the app publicly, so that you could benefit from the nameless hordes of programmers working for free, and then releasing that for profit, then too bad. You can't take advantage of the public's free contributions and then sell them. This really should be obvious. Either do it all yourself and sell it, or release it publicly and let other people help you develop it. You can't have it both ways.

      The bosses worry that if any of the tools that support our product become public domain, they can be snatched up by our competitors, thus erasing advantages our solution has over the others.

      You need to decide what your company is in business for. Is it to sell product X, or to sell software that you used to help you sell/make product X? OSS simply doesn't make sense to companies like Microsoft, because their whole business is the software. But most companies don't make software; they make something else, but they have a few programmers on hand to make software that helps them make their own products more efficiently. If all those programmers worked a little bit on publicly-available OSS projects that all these non-software companies need, then they get to cut out the software companies. This might mean they're sharing their software with their competitors, but in the end it benefits them both, because they're both working more efficiently, and not wasting as much time and money on something that's not part of their core business. If this software isn't part of your core business (and probably won't be extremely profitable if you tried to make a new business out of it), then stop hurting yourself by keeping it secret.

    20. Re:Are you a software company? by SenorChuck · · Score: 1

      This sounds way too familiar... I work for a beancounter also. Apparently it's cheaper to slap a new bandaid on the problem every couple of months rather than mustering the funding to purchase a solution that will work, be updated, and be supported...

      So, instead of doing the duties that I have been hired to do, it ends up with my boss saying stupid things like "Oh, couldn't you just write a script for that?"

      Note that my boss also likes to call applications "scripts." Of course, it's always used in a diminutive sense.

      So yes, I entirely agree with the parent on this. You can develop in-house applications, but unless you have the resources to dedicate to supporting those applications - pay for your visit to the doctor. Don't just slap a bandaid on your severed artery.

      --
      A wise person makes his own decisions, a weak one obeys public opinion. -- Chinese proverb
    21. Re:Are you a software company? by SJS · · Score: 2, Insightful
      I've come to the opinion that under all but the most extraordinary circumstances, a company should not work on developing custom applications in-house. They should either farm them out to a development company, or they should adjust their processes to work with existing Commercial Off The Shelf (COTS) applications. Concentrate on your core business and you're probably better off. If your core business is not software, you probably can't do a successful software project.
      I have an instictive bad reaction to advice that includes "adjust ... processes to work with existing ... applications". Bending your business to fit some piece of software instead of bending the software to fit your business doesn't seem like a good idea to me.

      However, that is not necessarily an argument against COTS, just an argument against changing things to fit the software instead of finding the software that fits.

      I don't disagree (much) with the major premise -- companies should only rarely develop their own software -- but I think that the size of the company should also be taken into account. A Very Large company should probably maintain a staff of programmers that understand and maintain the software; being beholden to COTS (can vanish in an instant, or be purchased by competitors) or an external development company just seems like a Really Bad Idea.

      As the company gets smaller, the need for software decreases, until at some level, one person is able to run a business without any software at all. Somewhere between the two extremes there's a crossover point.

      In the ideal world, as the cost of software exceeds the cost of a programmer, a company could employ programmers to create, maintain, and adapt open-source software, add a layer of the proprietary business logic, and they'd get the best of COTS and local development, and everyone would win.

      In other cases I was supporting products developed by another division of the company. These products ran part of the order processing system, but were so buggy that the two of us supporting it literally couldn't take lunch at the same time because various components required constant maintenance.
      Did not the maintenance make the product better over time? Or do you mean that you had to do things like "whoops! module XYZ crashed, restore from tape, remove the offending record from the input data set, restart" ?

      And advantage of local programmers is that bugs can be fixed when discovered in something approaching reasonable time, presuming that the source is available, the build environment built, and a non-junior programmer has had time to understand the code. The disadvantage is that a non-junior programmer might get bored and "improve" things...

      An external development/maintenance shop is a sort of happy medium -- but perhaps the most fragile solution. You're tied to a specific, customized, optimized "solution", maintained by a company that can go out of business for a variety of reasons, or get so much business that you become a minor customer and you lose the flexibility and customization as the major customers direct control.

      Or hire away the best developers.

      --
      Pick One: http://www-rohan.sdsu.edu/~stremler/sigs/sigs.html (Note - disable Javascript first!)
    22. Re:Are you a software company? by Grishnakh · · Score: 1

      This does not mean they can re-sell or give away the app; but they do have to give you any changes they make.

      Actually, I think I was wrong here. They only have to give source to any changes they distribute. But it'd be silly of them to not give back any changes, since they'd effectively have to maintain their own separate fork.

    23. Re:Are you a software company? by Daniel+Vallstrom · · Score: 1
      Very few OSS licenses (do any?) require you to release changes back unless you are distributing your changed apps to others.

      RPL, reciprocal public license, requires you to release back even if you only distibute within the company. See http://www.opensource.org/licenses/rpl.php/

      Actually that's the main idea behind RPL, that you are not allowed to use (e.g. link) RPLed programs within a company without making your work availabe. In other respects RPL is roughly like GPL.

      So if you don't want e.g. Microsoft or Intel to build on your FOSS and distribute it within the company without giving something back you should consider using RPL.

    24. Re:Are you a software company? by BlackShirt · · Score: 1

      Re:Are you a software company? (Score:5, Insightful)
      by alan_dershowitz (586542) Alter Relationship on Saturday January 22, @10:26PM (#11443278)
      I've wasted thousands of man-hours messing with our in-house fee calculation app. Instead of just buying Oracle Financials, we had a bunch of PL/SQL hackers write a giant, poorly documented, database-driven general ledger. Fantastic. I'm sure someone thought we were getting off cheap, but I can't even hope to calculate how much money we've lost over the last 7 years due to maintenance and bugfix, not to mention lost productivitly due to the inflexibility of a system built by people that aren't even experts on accounting.


      In cases like this. Make a simple cost calculation (activity based costing) & show it to the managers.

    25. Re:Are you a software company? by farquharsoncraig · · Score: 2, Insightful
      I've come to the opinion that under all but the most extraordinary circumstances, a company should not work on developing custom applications in-house. They should either farm them out to a development company, or they should adjust their processes to work with existing Commercial Off The Shelf (COTS) applications. Concentrate on your core business and you're probably better off. If your core business is not software, you probably can't do a successful software project.

      I guess that pretty much invalidates the whole premise of Bell Labs then. AT&T was a software consumer when they developed UNIX which they did because the alternatives were inadequate.
      See also http://www.research.att.com/~bs/bs_faq.html#why-AT T
    26. Re:Are you a software company? by Bastian · · Score: 1

      This is not "public domain". . . The only stipulation is that anyone you sell the product to, must be allowed access to the source code as well. This does not mean they can re-sell or give away the app

      Pardon my sloppy use of language on "public domain," but I think you know what I mean. As for re-selling or giving away apps, let's hope that they can considering that this kind of activity is so incredibly common in the FOSS community, including with GPL software. XEmacs and MacGimp, for example.

      You need to decide what your company is in business for. Is it to sell product X, or to sell software that you used to help you sell/make product X?

      We sell product X, but we also provide (gratis) support applications with product X that make it easier to use, speed up workflow with it, etc. Although they are provided free of charge, they are most certainly features of the product, even if they aren't the part that we actually charge for. Given that, we have a vested interest in not taking any advantages our solution might have over a competing product and giving them away to our competitors for free.

      This is not very uncommon, either. Consider all the crap that you get for free from workstation vendors (I have stacks of CDs full of this kind of stuff from Silicon Graphics in my basement) or Windows Media Player. They are totally free of charge for customers (and, in WMP's case, customers of a certain corporation that they desperately need to keep in business), but neither company is going to be making it easy for competitors to port these perks to their platforms. It's the same thing.

      This might mean they're sharing their software with their competitors, but in the end it benefits them both, because they're both working more efficiently, and not wasting as much time and money on something that's not part of their core business.

      (Above is moot at this point, but I'll step into the general case for this one point.) This argument hinges entirely on having everybody contribute and nobody just leech off the system in order to gain a free competetive advantage. I gotta say, I like the idea. I want to live in a world full of pink bunnies and lollipops, too.

    27. Re:Are you a software company? by Grishnakh · · Score: 2, Insightful

      We sell product X, but we also provide (gratis) support applications with product X that make it easier to use, speed up workflow with it, etc. Although they are provided free of charge, they are most certainly features of the product, even if they aren't the part that we actually charge for. Given that, we have a vested interest in not taking any advantages our solution might have over a competing product and giving them away to our competitors for free.

      This is not very uncommon, either. Consider all the crap that you get for free from workstation vendors (I have stacks of CDs full of this kind of stuff from Silicon Graphics in my basement) or Windows Media Player. They are totally free of charge for customers (and, in WMP's case, customers of a certain corporation that they desperately need to keep in business), but neither company is going to be making it easy for competitors to port these perks to their platforms. It's the same thing.


      Sounds like you're making the same mistake that SGI did. Where is SGI's business now? In the toilet. IBM, on the other hand, is doing great. They figured out that software is not their main business, and it was something that sold or gave away to support their hardware sales and support services. So they've been giving away a lot of work to the OSS community, and prospering.

      Your problem is that you think that giving away some software is somehow going to help your competitors at your expense; you think it's a zero-sum game. This is not necessarily the case. By giving out the source to your software, which is really only something you give out to help your hardware customers, you'd probably get help from customers who want special custom patches, and you might also get more customers, when they figure out they're better off with your product because, even if your company goes belly-up, they'd still have the source to all the software, and could still get support for it. It might help out your competitors too (though this really depends on how intimately tied together the software and the product X are), but the other benefits to you would probably outweigh this greatly.

      Of course, I could be wrong too; each of these cases has to be looked at individually.

    28. Re:Are you a software company? by CaptKilljoy · · Score: 1
      >At the risk of sounding like a zealot,...

      How does your statement:
      "Companies who need customization can just make minor changes to the program, recompile, and voila! Best of both worlds"
      refute the original poster's point:
      Is your organization a software company? If you aren't a software company, what makes you think you can successfully deploy a software project?
    29. Re:Are you a software company? by Bastian · · Score: 1

      Of course, I could be wrong too; each of these cases has to be looked at individually.

      Exactly. And the fact of the matter is, these arguments look great on paper, which is why they are repeated so often in the open source community. But I have seen very very few companies to which they apply very well.

      I'm pretty sure the basic reason for this is that the cultures of the FOSS community and the general corporate community are completely incompatible. FOSS is a group of people who, overall, like to cooperate and enjoy having liberties.

      My experience has been that in the business world, you're lucky if you can find a job where you can be particularly open and friendly with your office-mates, let alone your business competitors. Mostly, your enemies are lobbing streams of bombs in your general direcion, your partners are trying to stab you in the back, and your friends are precious treasures that are generally blown up or stabbed all too soon.

    30. Re:Are you a software company? by Anonymous Coward · · Score: 0

      Windows killed Borland. During the DOS days MS-C was the definite also-ran, but the mediocre MFC overcame the equally mediocre OWL because of better integration with Windows itself. It can be argued that there was some dirty dealing on the part of MS (which is fairly believable if you look at the evidence), but the MS dev environment did more of what customers wanted in producing Windows apps.

    31. Re:Are you a software company? by Anonymous Coward · · Score: 0

      So if you don't want e.g. Microsoft or Intel to build on your FOSS and distribute it within the company without giving something back you should consider using RPL.

      You mean, if you don't want virtually every company in existance to internally use your software, you should consider RPL.

    32. Re:Are you a software company? by ClosedSource · · Score: 1

      Borland killed Borland. They did two stupid things:

      1. Bought DBASE
      2. Were so excited about C++, that they waited until their C++ tools were ready before making the leap into Windows.

    33. Re:Are you a software company? by SlimFastForYou · · Score: 1

      Exactly.

      Companies might not always be willing to release certain modifications they made to the software.

      If a patch would increase the performance of Software_X by 15%, I don't think the company would be so reluctant to send the patch back to the maintainers.

      If a patch implements additional features which mission-critical proprietary/custom company software depend on, I could see the reluctance. Especially if the developers haven't been given enough time to do a full code audit of the security.

      If I were making the decision for a company, I would rather go with the GPL since all it requires is that the source be as available as the binary. Who knows what modifications (the company might want to keep secret) will need to be made down the road.

    34. Re:Are you a software company? by mpe · · Score: 1

      The simple fact is, at least with the nature of our particular business, any internal app has the potential to become a product that we sell at some point in the future.

      What proportion of businesses would this apply to? AFAIK the vast majority of businesses do not sell software at all.

      The bosses worry that if any of the tools that support our product become public domain,

      The GPL is not public domain.

      they can be snatched up by our competitors, thus erasing advantages our solution has over the others.

      For that to happen you'd have to supply the software to your copetitors (or your customers would have to do so). If you competitors are so minded they could aquire your software, whatever it's licence, and clone it.

    35. Re:Are you a software company? by mpe · · Score: 1

      Very few OSS licenses (do any?) require you to release changes back unless you are distributing your changed apps to others. Even the GPL which MS likes to call "viral" doesn't require you to release a single change you make for use within the enterprise so long as you don't distribute your changed software outside of your enterprise.

      Even then you only need to distribute the source to parties your distribute the binaries to. There is also an irony in the GPL showing recognition of the concept of a "corporate person". Than the vast majority of commercial proprietary software.

    36. Re:Are you a software company? by Hognoxious · · Score: 1
      At the risk of sounding like a zealot, Open Source is the obvious solution here.
      It is if you think business software means word and excel. It isn't if you think it means SAP & Siebel, simply because no serious open source equivalents exist.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    37. Re:Are you a software company? by Anonymous Coward · · Score: 0

      "My experience has been that in the business world, you're lucky if you can find a job where you can be particularly open and friendly with your office-mates, let alone your business competitors. Mostly, your enemies are lobbing streams of bombs in your general direcion, your partners are trying to stab you in the back, and your friends are precious treasures that are generally blown up or stabbed all too soon."

      Are you sure you want to continue doing what you are doing?

    38. Re:Are you a software company? by Bastian · · Score: 1

      Are you sure you want to continue doing what you are doing?

      No =D

    39. Re:Are you a software company? by Hognoxious · · Score: 1
      I have an instictive bad reaction to advice that includes "adjust ... processes to work with existing ... applications".
      I have an instinctive reaction that when people say "it's a business requirement" they really mean "we've always done it like that".
      Bending your business to fit some piece of software instead of bending the software to fit your business doesn't seem like a good idea to me.
      It seems like a bloody good idea when you have to maintain software that has been bent like that. People are more flexible than software. They might not think they are, they might not even want to be, but they are. Sometimes, just sometimes, the software needs to be changed - fair enough. But I'm involved in a project now where most of the problems come down to bending[1] the software, in some cases when the same result could have been achieved within the standard as supplied.

      [1] and twisting, and shredding, and nailing where they should have welded and welding where they should have glued.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    40. Re:Are you a software company? by Hognoxious · · Score: 1
      1. Unix an operating system. The excerpt you quoted says "developing custom applications".
      2. "in all but the most extraordinary circumstances" - how hard is that to understand? It implies that there are circumstances in which you should roll your own. IMHO, the presumption should be that you buy, but the case can be proven the other way if the facts are strong enough.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    41. Re:Are you a software company? by Anonymous Coward · · Score: 0

      Are you a software company? Good question.

      Let's ask it several times:
      * are you a software company?
      * are you a software company?
      * are you a software company?
      * are you a software company?

      Well, frequently you are. You just don't know it.

      In my career I've worked for Telco's and banks (large ones, blue chip, lately blue chip of the blue chip)

      Do they use COTS? Yes, mostly, but then for key applications (the stuff I work on)? .... no.

      They need a competative advantage. They need to do things other people can't, offer products and services no-one else has.

      And for that, they build in-house.

      You have a commodity requirement? Buy commodity software.

      Want to sell a unique product? Build it yourself

      There is no other way.

      Example. An existance proof. My current project has performance requirements you wouldn't believe.

      There are a couple of COTS solutions out there, but if anyone can buy them (and a couple of our competitors have done so and are currently going through the implementation cycle) we can't win

      So we're building it ourselves, and we'll beat them.

    42. Re:Are you a software company? by Anonymous Coward · · Score: 0
      1. Bought DBASE

      I don't know that the dbase move was stupid from their perspective at the time. Borland actually did fairly well with paradox vs access, and with dbase could have owned the market that MS-SQL server owns now. The dev kit was the key to the entire thing and Windows integration was the key thing Borland was missing for all their dev tools - the tools themselves were as good as the MS ones. That is why Delphi lost to VB, OWL to MFC, paradox to access, etc.

      2. Were so excited about C++, that they waited until their C++ tools were ready before making the leap into Windows.

      They were a bit late, but if I remember correctly Windows C programming was so ridiculously difficult that enterprise developers couldn't do anything with it and Borland believed the hype that C++ was going to magically make gui development easier. I think they made a bad decision in not pushing Delphi harder, but it could not compete with the Windows integration provided by VB.

    43. Re:Are you a software company? by DaChesserCat · · Score: 1

      I'm currently working with a company which is looking at selling a service, based on OSS software.

      If we just hang some OSS product out there, what's to stop the clients from just grabbing the software and implementing it themselves, instead of paying us for the service?

      Hassle and customization.

      How do most hosting companies, running LAMP configurations, make their money? The hassle of managing the servers, dealing with the bandwidth, backups, software upgrades, etc. How do web design companies make money developing products on OSS products? Custom development and hassle. This is how you make money in OSS. You get paid to deal with the hassle that the client doesn't want to deal with, directly.

      Microsoft will try to tell you that you shouldn't need to pay someone to install their products. That's why they put all the fancy wizards on stuff, so that someone with a minimum of technical know-how can install it.

      I think we are all quite clear on just how reliable and secure their "installed with a minimum of technical know-how" systems are. What's the expected lifetime for a WinXP machine, placed on a broadband connection, before it is compromised? Last I heard, it was under 20 minutes.

      Of course, this is also a company which makes a tidy bundle off its "Certified Professionals" program.

      If any internal app has the potential to become a product that will be sold at some point, you have no business in the OSS arena. If, however, you have a core of stuff which you ARE developing for commercial sale, OSS software makes great sense for ancillary stuff. Contributing updates and development on the ancillary stuff BACK to the community can help build some goodwill for you commercial stuff, too.

      My employer readily uses a mix of COTS, OSS and custom-developed stuff. The custom-developed stuff usually comes into play when the COTS stuff doesn't quite do EVERYTHING they want. The OSS is usually web-related (and yes, they're primarily a Windows shop; there is Windows-platform OSS stuff out there), and it's usually tweaked to all hell. That's what I get paid to do: tweak the hell out of existing stuff and custom-develop stuff which fills the gaps.

      --
      ... by the Dew of Mountains the thoughts acquire speed, the hands acquire shakes, the shakes become a warning
    44. Re:Are you a software company? by Feztaa · · Score: 1

      Well, there are a couple points:

      First, the company isn't starting from scratch. They have a working base to start from, so the hard part is already done.

      Second, if the company is so inept that it can't make minor changes to suit it's needs, they can pay one of the developers to add the features they need.

    45. Re:Are you a software company? by ClosedSource · · Score: 1

      I think you're compressing time a bit here. Borland bought DBASE (Ashton-Tate) and released Turbo C++ both in 1991. Delphi didn't come along until 1995. It was between these two events when Borland lost most of its market share.

      I don't think there was much talk about "enterprise" development back in 1991, but if you were to check the language used for all Windows applications from Windows 1.0 to today, I'll bet that there are more based on C than on VB, OWL, MFC, or .NET.

    46. Re:Are you a software company? by Anonymous Coward · · Score: 0
      Yeah I compressed a bit of time there. TurboPascal existed at that point, but Delphi itself was not released until very late. VB was still so awful in 1995 I think Delphi could have taken that market from them even with a late start if they had been able to handle the integration with Windows that users wanted. Borland did do themselves in a lot of ways, but most of them had to do with coming to grips with Windows - DOS had so little in the way of OS that Borland was previously able to do their own thing entirely, with Windows it was spitting into the wind to not use the OS services.

      I think that C is the majority of Windows development only if you just consider packaged applications. In my experience the vast majority of in house Windows development is VB, with the 'serious' enterprise developer using MFC. Considering that less than 10% of programmers work for commercial software companies I think it is likely that VB makes up the majority of all Windows development.

    47. Re:Are you a software company? by web_boyo_in_sac · · Score: 1

      "that aren't even experts on accounting"

      From my past experience with them, even accountants aren't experts in accounting.

    48. Re:Are you a software company? by Hast · · Score: 1

      You were also wrong on the other account. If the final version is GPL then they can resell or give that away for free if they like. That is part of the point of it all. The GPL doesn't allow you to limit what other people do with it, as long as they do the same (ie they can't change the license).

  7. Might be true for very large systems by SamBeckett · · Score: 2, Interesting

    But the places I have worked, there are thousands, if not more, of tiny business processes that would be a waste of time for a commercial company to develop a "solution" for.

    1. Re:Might be true for very large systems by chris_mahan · · Score: 1

      Which is why, when asked, i say: buy off the shelf, but make sure there is a programmable api. then glue it together (python, perl, java, whatever).

      I work for Health Net, a fortune 200 company. I tell you there's tons of custom stuff. It is supposed to give us an edge on the competition, but some of that stuff is so costly to maintain, one needs to ask oneself.

      On glue elements: stick to the unix philosophy: make each program do one thing well, and ascii only.

      --

      "Piter, too, is dead."

    2. Re:Might be true for very large systems by arose · · Score: 1

      Shouldn't it be Unicode only these days?

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    3. Re:Might be true for very large systems by chris_mahan · · Score: 1

      yeah, sometimes.
      (xml-rpc, no unicode. ASCII 127) ascii is safest for process handling, really. But yeah, point taken, unicode as much as possible.

      --

      "Piter, too, is dead."

  8. I know of very few "large" projects that have... by Anonymous Coward · · Score: 0

    ...finished on time, and under/on budget

    I dont know if its because the goalposts are always shifted mid-project, or just that the companies consider the initial tendering more as a chance to get the job in the first place, instead of putting in a realistic price for completion

  9. a perfect example - Nike and i2 by trolluscressida · · Score: 2, Informative

    didn't Nike have a billion dollar failure using i2? So much time and money for a project that they eventually had to toss - it wasn't even close to performing for them as needed. Most out of the box packages end up needing so much customization that it seems to be easier to come up with a solution from scratch. At least that way your company will own the code and (hopefully) know what it contains.

    1. Re:a perfect example - Nike and i2 by freemacmini · · Score: 1

      Every major CRM/ERP software has spectacular failures. SAP, Peoplesoft, Seibel etc. The company I worked for once spent millions of dollars for a seibel deployment and threw it away after three years of trying to make it work. Buying something off the shelf does not guarantee you success.

    2. Re:a perfect example - Nike and i2 by Anonymous Coward · · Score: 0

      Sure, but what's the comparision? Internal IT projects have a spectacular failure rate -- something like 70% never get put into production.

    3. Re:a perfect example - Nike and i2 by geekphd · · Score: 1

      You really can't consider i2 as off-the-shelf. It REQUIRED massive customization to make work correctly.

      --
      GeeK, future PhD
  10. Yes it is that bad. by Anonymous Coward · · Score: 3, Interesting

    For many years I made a decent living with projects picking up the pieces of 'customized software' (Usually the same thing, medium sized business went with untested contractors who can't deliver anything (it used to be a visualbasic or msaccess piece of crap but these days it's more likly to be a hacked opensource 'system' with zero documentation)...

    I love opensource, but between it and toy languages like visual basic it's made an entire cottage industry of 'traveling-snake-oil-salesmen' computer hacks.

    1. Re:Yes it is that bad. by Anonymous Coward · · Score: 0

      Lately I've been dealing with the same stuff -- barely repackaged open source PHP/MySQL shit apps that were forced on some customer regardless of what their real needs are.

      Is there any PHP stuff out there that's not total garbage? This stuff would make ASP Monkeys puke.

    2. Re:Yes it is that bad. by Anonymous Coward · · Score: 0

      I think there are crap programmers in every language; VB and PHP are just a bit more common because the barrier to entry is lower. There's lots of folk who can do real simple things without training in those languages, and the lure of money and some big egos means that some of them get in way over their heads. I've seen plenty of junk in "real" languages too.

  11. Egads by onyxruby · · Score: 2, Insightful

    Look, most COTS is crap, most homebuilt apps are crap. It's all a matter of finding the right tool to do the job. One isn't neccasarily better than the other. It would be foolish for a financial firm to design their own own in-house word processor for example. However they would almost certainly need their own in-house software to handle a lot of the back of the house. What I've often seen get ugly though is when people design their own custom software around COTS. If you do something like that and the COTS house says they won't support it you can be at their mercy and they don't have to do a damn thing. I'm on one project now using such a solution and the project has lost millions - and their contractually obligated to fill it out. The important thing one way or another is to set design limitation early and stick with them. The second important thing is to listen to the people who are going to use the software on a day to day basis when they say that something is a problem or would be useful. Failure to appease the people using the software can often carry more weight than success at appeasing management and their lofty goals.

    1. Re:Egads by innosent · · Score: 2, Interesting

      Exactly correct. Peachtree Accounting is crap, it's COTS, and many, many in-house projects are crap, but there are benefits to both. Products like Oracle exist because it is cheaper to buy database software than to create it and maintain it (the code, not the database). Look at your average corporate pizza shop though (Papa John's, Domino's, Pizza Hut, etc.), they all have custom, in-house developed software, but it works, and they each have their own ways of doing things that reflect how their particular company operates (and they are quite different).

      If your business does something other than simple transcription, there are almost always benefits to custom software. The only question is whether those benefits outweigh the costs. If you need constant changes to software so your business can adapt to rapid changes in your sector, you probably need in-house development. Paying a dev firm will get very expensive if you need to change something every 3-6 months, and having someone who knows your system working full-time for you has a lot of value as well. Try calling Peachtree, they have one of the most popular accounting packages out there, but call customer support and tell them you're having problems running it with files shared on a network. If it's not running on a single machine, with Admin priviledges, it won't work. They'll tell you that, but only after you buy it and call them 20 times about the same thing breaking.

      You could take a dump in a box, shrink-wrap it, and sell it to somebody. Just because it's shrink-wrapped, doesn't mean people will be happy with what's inside.

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
    2. Re:Egads by fozzy(pro) · · Score: 1

      I've been to all the levels OTS, total customization, and COTS and they all work and fail depending on if they tool fits. Most tools do not fit the requiremnts and usually create hurdles for the poor peopel that have to use them. Very often the managers and developers dont; even consult the end-user. TThen when you deploy an honestly well doen better system lots of users dont; want to change they way they've been doing things forever, they dont; want to change even if you show them that the new way is faster and easier for them and the reason is either lazyness, ignorance, or wanting to save their own jobs.

    3. Re:Egads by Tihstae · · Score: 1
      You could take a dump in a box, shrink-wrap it, and sell it to somebody.
      Isn't that what Peachtree did and continues to do?
    4. Re:Egads by anopres · · Score: 1

      Wow, Peachtree and MAS90 must be owned by the same company. They have the same product design philosophy.

      --
      Strong Mad - 2008: "I PRESIDENT!"
    5. Re:Egads by innosent · · Score: 1

      Yeah, their 2005 product is exactly the same as their 2003 product, except that less "features" actually work, and the splash screen says 2005. I never saw 2004, but I'm assuming it was more of the same. It still looks like it was written for Windows 3.0, and still acts like it, using "lock files" to control multi-user access (when in reality, both users will lose access if they try at the same time, and the lock files will need to be removed).

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
    6. Re:Egads by cerberusss · · Score: 1
      You could take a dump in a box, shrink-wrap it, and sell it to somebody

      Don't just shrink-wrap it, but seal it please. Thick, air-tight sealing.

      --
      8 of 13 people found this answer helpful. Did you?
  12. Reinventing the Wheel by Anonymous Coward · · Score: 0

    I think what the author is trying to come across with, and what is the most true, is that most companies like to jump on board rather fast at developing their own custom made solutions, especially when there is already a product out there that solves the problem.

    As a small times software developer, I have been on several custom software projects, and these have a high rate of failure and tend to go quite over budget. For example, one particular project I worked on was to be a slimmed down replacement for quickbooks because the business didn't want to purchase quickbooks licenses.

    To put it bluntly, the final product cost them 10% more than what quickbooks would have for 10% of the functionality. That is not ver economic...

    However, there are plenty of circumstances where custom software is the best solution, one just has to be weary to know if the project may just be a Death march project.

    Cheers,

    James Carr
  13. Complex Business Process by Anonymous Coward · · Score: 0

    Maybe, just maybe, that while working on the in-house solution, they found out that the business process was so complex it would be better to review the business process to simplify it instead of trying to modelize it.

  14. Yes by briancnorton · · Score: 2, Insightful
    Is the track record of custom built software really that bad?"

    Custom software projects fail constantly because the developers are morons or lazy scam-artists, the requirements aren't specific, and the company doesn't realize that a COTS solution exists. Millions of employees could be replaced with good custom software, saving businesses BILLIONS, but only if they build it smart, which doesn't often happen.

    --

    People who think they know everything really piss off those of us that actually do.

    1. Re:Yes by cinnamon+colbert · · Score: 1

      but people are never smart; lazy ness and incompetence are sop. this arguement that somehow software projects are more beset by lazyness stupidity or whathave you strikes me as not a good arguemtn for programmers to be advancing, even if it were true.

    2. Re:Yes by Spiked_Three · · Score: 1

      semi agreed - since I am a developer I would prefer you emphazise the requirements issue. The PHBs and project managers a lot of the blame, along with some moron developers.

      As a developer I would love to make a good successful product, if my employer would let me. But they want it now, they want me to 'do it in a hurry/cheaply but in a way where we dont have to spend much time if we change the design later' - that has become my most hated phrase and I hear it over and over from different clients.

      That's almost as bad as the time I told a manager that something "was impossible" and his reply was that "in that case, it would need to be managed closely." How do these people get to be in charge?

      --
      slashdot troll = you make a compelling argument I do not like the implications of.
    3. Re:Yes by Izago909 · · Score: 1

      I've worked 3 jobs that were migrating to Siebel. The first two migrated about 1/8 of their people for 6 months for a trial phase. After the trial period, they gave their people prepaid Visa cards worth $100 as a thank you and apology for lost productivity. My current job is also migrating, but limited the abilities of their telnet backend so there would be no going back. It's just frustrating to have to step back into the 1980s every time I want a system to work and do so in a timely manner.

  15. Wow by finkployd · · Score: 2, Insightful

    It is not often that I read a position paper in which I am nearly 100% in opposition to every idea expressed.

    One of my professional pet peeves is people who feel it is better to identify a problem, then keep redefining the problem until it matches a prepackaged solution. The "if all you have is a hammer" syndrome at its worst.

    Finkployd

    1. Re:Wow by Anonymous Coward · · Score: 0

      Custom software developer?

      Actually, that's part of the "IT" trick -- Fix your business processes first so your requirements aren't so unique and then you find that a prepackaged solution is perfect. (I says this as a custom software dev that keeps implementing expensive whacked out business logic for no reason other "that's the way we do things".)

  16. Custom development realities by JacobO · · Score: 4, Insightful

    Unfortunately, at the moment few organizations are willing to pay enough for custom development (or system integration) to cover the actual costs, so to get any business at all, IT/SI/CS companies bid too low, and quality suffers (or they go out of business fast.)

    If organizations were willing to spend what it actually costs to provide custom applications, then they wouldn't be so disappointed. I would include in "what it actually costs" things like people skilled in user interface design, and of course adequate project management, things that really matter to the customer.

    Aside from that, we as IT professionals need to set these expectations much better. Customers really believe (because the sales guy blew so much sunshine up their asses) that it will all be perfect and on schedule. No one mentions (and few customers are perceptive enough to notice) that these projects are bid on before any of the requirements process has been performed, and the costings that go into the proposal are wildly inaccurate. But, no customer is going to go for a time and materials contract when some poor software company will offer fixed-price.

    I am a big fan of iterative projects, with well understood features to be included in each release (that can be well costed out.) It's harder to go astray and the customer is getting incremental and obvious benefits from the money they are spending.

  17. Depends... by j_kenpo · · Score: 2, Insightful

    You can't say that that one solution will fit all scenarios. The reason most projects fail is not because of "custom" software or off the shelf products, its due to piss poor planning and incompetent project managers. There are many factors to consider such as size, scope, budget, resources, and requirements just to name a few. If project managers took the time to capture the real requirements and state meaningful objectives and expectations, then using either route would become clear. For example (very general), if the project calls for tracking the amount of training people have taken in an organization, then using almost any off the shelf Learning Management System would work as opposed to building a custom database to do that. Size of the organization also comes into play. A small business is not going to be able to afford an enterprise level LMS vs. a large company like Boeing or Ford. If the project would call for a system modeled around the companies specific policies and procedures, then custom software might be a more ideal solution. There might be particular legal or compliance rules that constantly change and an off the shelf product may not keep up to date with these quick enough.

    1. Re:Depends... by azaris · · Score: 1

      In the ERP/MRP world, there need to be so many customisations and options that just deciding how to map the software onto existing business processes is a major challenge.

      I can only speak on the SME level, but I think most of the trouble with finding an ERP/MRP compatible with your business processes comes from not doing things in a way that's easily supported by automated systems, i.e. using the wrong philosophy. Companies that haven't done ERP before have this notion that the way they do things is the only way and there is no way to change. Then when you talk with them, it turns out the reason they do things in this way is because they never had a system that could simplify their business processes so they were forced to do things in a cumbersome and non-standard fashion.

      Thankfully many customers realize that opting for an automated ERP system requires changing your business processes to a certain degree, not just screaming at the vendor "You must change this, our business depends on it!". Lack of flexibility carries a large risk of failed project.

      I have just advised a small company to use the small software company next door, not to build them a solution but to build them a model of two core business processes (currently on paper) in either Access or Filemaker (Yes, I know. But the ssc knows Access and Filemaker. OK?) The idea is that when they have defined the process and tested it, they can migrate to an MRP system and import the data they have created - because they will know which fields and reports they actually need, and they can more easily have a discussion about a small and flexible database than try and work their way through the options of an MRP system.

      This sounds like a good idea, because it will force them to think of their business in logical units that can then be modified and translated into an ERP system.

      One horror story about a company that is neck-deep in it but won't realize it until it's too late is a small manufacturer of apparels that sells mostly to government and private healthcare businesses. Because they've never had a proper information system in place, they've been unable to tracks their order chain all the way down. The end result is that any orders they get are always delivered exactly 14 days from the order, even if the products have been sitting pretty in the warehouse next door for the past 6 months!

      Now these people are trying to implement an ERP system but are getting stuck on the fact that it doesn't do everything like they're used to ("It's too complicated, it's too slow to enter all this data.") If they'd just step back from their state of denial and look at their business processes for a while, they'd realize that with such awful delivery processes, they're going to be eaten up by competition if they don't change soon.

      Having said that, the future may be off-the-shelf open source systems with customisation- provided someone solves the documentation problem.

      Application service providers are the solution to this problem, but oddly many companies still want that pile of servers humming in the backroom. "But we can just have the LAN guy fix them if someting goes wrong!" Yeah, sure, whatever. Call us in six months when it all falls to pieces.

    2. Re:Depends... by dmaxwell · · Score: 1

      You do realize that what will more than likely happen is that the small of proof-of-concept will be permanently adopted? What's more, you'll probably wind up holding it together with duct tape and string. I've seen several Filemaker apps deployed (painfully) on WANs and that had to be what happened.

    3. Re:Depends... by panurge · · Score: 1

      They have asked me to manage the project, and I already know that if their sales growth goes as expected, they will not be able to use the RAD solution. I'm all too aware of the Filemaker to application gulf. But I do believe that this kind of prototyping is often more useful than paper modeling, because at the end of the day _you can import the data_!

      --
      Panurge has posted for the last time. Thanks for the positive moderations.
    4. Re:Depends... by dmaxwell · · Score: 1

      I wasn't questioning your skills at all. I was making a cynical observation of management types in general. If they see something works, they tend to have a hard time understanding that not all software scales up. This seems to be especially true if Some Real Money has to be spent to transition the system for heavier use.

    5. Re:Depends... by Forbman · · Score: 1

      I would suggest you just bite the bullet and store the data in a real RDBMS server solution, even if it's MySQL, and use FileMaker or Access for the front-end and reporting.

      Why? At least with Access, really doing data security isn't what I would call good, and I like doing Access work. If it had table and query level, programmable events, it would be fine.

      You can get Postgres ODBC drivers and Postgres 8.0 for Windows now...

      Then, the Access front-end has already been built using ODBC-related programming (which has some subtle and not-so-subtle differences), and that part won't have to be fixed (for example, Seek works for Jet tables, but not ODBC tables).

    6. Re:Depends... by panurge · · Score: 1
      See above. I do not want the proof of concept to turn into a solution.

      FWIW I used quite frequently to do proof of concept in Filemaker before moving to a suitable RDBMS, but nowadays I find it just as easy to prototype in Netbeans, using my own library of standard forms. If I was designing an app - and in this case I am not because no one in their right minds wants to reinvent the MRP wheel - this is what I would do. I would create a framework and some skeleton form classes, create a schema and let the programmer get on with it.

      --
      Panurge has posted for the last time. Thanks for the positive moderations.
  18. Yes, it's that bad. by Anonymous Coward · · Score: 0

    Is the track record of custom built software really that bad?

    Yes.

    Since this is in the HBR, take for example the custom-built payroll system Harvard University paid PeopleSoft tons of money to make for them. It failed to pay people accurately.

    The university had to send out a notice to everyone telling them to double-check their paychecks make sure they hadn't gotten paid too much or too little. This went on for months. Oh, but it was web-enabled -- they were really proud of that! It also required IE to use -- at a university, where non-IE usage among primadonna users is high. Talk about not meeting requirements.

    I don't know that you should never develop in-house software, but you should never, under any circumstances, pay a company like PeopleSoft to write something for you. The above is just one example of millions of dollars given to them for something that does not even work.

    1. Re:Yes, it's that bad. by cheekyboy · · Score: 1

      yeah, they could have just got 10 CS master students and said, you do this system for us over 12 months and we will pay all your fees and give you a phd to go plus a free option for another degree.

      Cost = NIL, result = Perfect System

      --
      Liberty freedom are no1, not dicks in suits.
    2. Re:Yes, it's that bad. by Rares+Marian · · Score: 1

      Please stop gloating Larry.

      --
      The message on the other side of this sig is false.
    3. Re:Yes, it's that bad. by Anonymous Coward · · Score: 0

      Who's going to maintain the system? If you cobble together a system written by college students, you're going to get a bunch of crappy code that's going to be undocumented and/or hard to maintain.

    4. Re:Yes, it's that bad. by Anonymous Coward · · Score: 0

      More likely the CS guys would spend 2 years writing a 100,000 C++/Java application framework, and the result would be a commandline applicaiton that required people to run an EMACs Lisp module in order to deduct their social security taxes.

  19. Incremental improvements by alw53 · · Score: 1

    He seems to be taking the argument somewhere that it doesn't go. I don't see how you get from his good case for incremental improvements to making a case for buying COTS rather than developing stuff in-house.
    So sure, don't try to jump the whole stream at once -- your testing will be hard, you'll alienate your users, you'll spend a lot of money with no progress metrics, your risk is much higher. Look for stepping stones. But where is the FBI supposed to buy COTS to automate their workload? Spooks-R-US?

    1. Re:Incremental improvements by zarr · · Score: 1
      But where is the FBI supposed to buy COTS to automate their workload?

      Document management and search solutions can be bought from a variety of vendors. Sure, they probably have some pretty unique requirements, but any vendor with some business sense should be willing to incorporate some changes into the product for a sufficiently large customer.

    2. Re:Incremental improvements by alw53 · · Score: 1

      In fact it seems to me that monolithic proprietary COTS solutions might well be riskier than home-grown solutions, at least in terms of being too grandiose, alienating users, etc. A small in-house staff is much more likely to be able to make incremental, customer-drive, "organic" progress.

    3. Re:Incremental improvements by Master+Bait · · Score: 1

      Indeed. Add to that that nobody gets to own COTS, they only get to lease it. Big homemade software are the foundation of successful businesses such as FedEx and Wally*World.

      --
      "Only in their dreams can men truly be free 'twas always thus, and always thus will be."
      --Tom Schulman
    4. Re:Incremental improvements by Anonymous Coward · · Score: 0

      Then there's the $50,000 commercial boat anchor, built by a Fortune 500 company that will remain nameless, takes about 3 gig of memory to do point-to-point message switching. We can do the same thing for free with encrypted email, SOAP, https, secure ftp, jabber, and probably 10 other readily-available technologies.

    5. Re:Incremental improvements by Detritus · · Score: 1
      Many things just do not scale that well. You end up needing fundamentally different systems to deal with the workload.

      You can't call up your local software reseller and ask for Evil Empire IV, originally developed for the KGB.

      --
      Mea navis aericumbens anguillis abundat
    6. Re:Incremental improvements by anopres · · Score: 1

      I find that Evil Empire III works better for my organization. The Ewoks wrote tighter code before they were purchased. Of course there is no GUI, but at least it wasn't integrated into the operating system.

      --
      Strong Mad - 2008: "I PRESIDENT!"
  20. The pendulum continues to swing... by bigtallmofo · · Score: 4, Insightful

    We are likely moving into another time period of preferring outsourcing/buying off-the-shelf software over insourcing. Then 5 years from now, some bean counter will yell "Eureka! Why are we paying these outside companies money to develop our software? We can save MILLIONS developing it ourselves!" And then the pendulum will swing once again toward insourcing.

    This has been going on for decades and will continue to go on.

    --
    I'm a big tall mofo.
  21. Mostly true by JDOHERTY · · Score: 2, Insightful

    Even dedicated car mechanics rarely try to make their own parts.

    Of , that said there are lots of patient talented folk who do.

    Custom written software is more specific, often nicely tailored to the job and alot more difficult to support in a large integrated environment. Programmers don't hang around an old job site forever any more than construction crews do and wheather it's back to Bombay or San Fran getting it fixed 2 years down the line is alot easier when it comes with a dedicated external support team.

    The future of software engineering is the same as that of any other industry - make hay while the sun shines and get used to it.

  22. Third option-- light customization of open source by einhverfr · · Score: 4, Insightful

    My company offers software customization services where appropriate, but we try to avoid reinventing the wheel where we can. Current such contracts involve adding features to SQL-Ledger's point of sale system, and modifying the same software for another customer to comply with Greek tax law reporting.

    With open source software, you can lightly customize it to meet business requirements, and it is often less expensive than paying for COTS anyway. For example, another customer of ours (a restaurant) has a third party POS system with 5 terminals which cost them $30K. I could impliment a working system for them for maybe a third that and still meet their requirements (with required customizations).

    I agree that building a program in-house from scratch should be a last resort, but, but hiring someone to add features to existing open source solutions is often less expensive than even commercial vertical solutions.

    Also, with UNIX software, often the customization really just involves stringing a bunch of small useful utilities together in a useful way. Conclusion is that the article primarily applies to programs that run on Windows.

    --

    LedgerSMB: Open source Accounting/ERP
  23. Pretty Accurate by RevMike · · Score: 2, Insightful

    Large innovative projects are frequently doomed to fail. One major problem is that it is very difficult to staff a project properly. It takes very bright developers to build innovative things. It takes a lot of very bright developers to build very large innovative things. The odds of being able to collect the kind of talent needed are often very slim.

    The top 5% developers are almost never found on the unemployment line, so you can't hire them from there. They are almost never working for body shops, so you can't find them there. Generally they are 1) comfortably employed somewhere else, and not interested in jumping, 2) working for a commercial software house and not interested in working for a company where they are "overhead" and not the center of the business, or 3) they are self employed and making much bigger bucks freelancing than they could be paid within a corporate job.

    Most companies have a few of these highly qualified people. The best way to insure successful projects is to make sure that there are only as many innovative projects as can be staffed by your innovative people. A large business changing project is out of reach. But a several small to midsize projects can also transform the business, and can be executed by the staff of innovators already on hand.

    1. Re:Pretty Accurate by Anonymous Coward · · Score: 0

      To be honest, most business programming is glue code and does not require any "top 5% developers" for success. What it does require is flexible people who can digest busines requirements and do estimates and planning correctly, and usually that's an entirely different skillset than the guys who can churn out 3000 lines of bug-free C++ every day. (Worked with a lot of really smart people that operated on a "it's done when it's done" mode which generally translates into project failure.)

    2. Re:Pretty Accurate by RevMike · · Score: 1

      To be honest, most business programming is glue code and does not require any "top 5% developers" for success. What it does require is flexible people who can digest busines requirements and do estimates and planning correctly, and usually that's an entirely different skillset than the guys who can churn out 3000 lines of bug-free C++ every day. (Worked with a lot of really smart people that operated on a "it's done when it's done" mode which generally translates into project failure.)

      I didn't say "top 5% programmer". Developer is much more encompassing. One of the skills of a top developer is requirements discovery, even requirements anticipation. Not to mention planning and estimating. Even more important, a top developer understands the architecture underlying the entire project, and therefore can write code that not only adheres to the specs, but also integrates well with other components.

    3. Re:Pretty Accurate by Anonymous Coward · · Score: 0

      OK, i'm confused then, because that type of person would be a lot more likely to work at a 'body shop' (consultancy) than a commercial software shop where they grind out version 11.6 of some app to marketing's specifications.

  24. The 99% solution by cperciva · · Score: 2, Insightful

    There's a mantra which covers this perfectly: If you can solve 99% of the problem with 1% of the work, it's probably a good idea.

    The large, expensive, and failed projects cited were run in what is a very typical manner outside of computing: A group of people sat down, decided exactly what they'd like to have, and then they hired another group of people to produce it.

    The better approach is the 99% solution: Decide approximately what you'd like to have, then look around and see if there are any existing solutions, or parts of solutions, available which give you approximately what you want.

    This is one way that computer software is very much different from "real world" products: If you're building a house, customizations aren't going to change the cost very much, since most of the cost goes into materials and fixed labor costs. With computer software, on the other hand, the materials and fixed costs are zero, and it is entirely possible for a 99% solution to exist at 1% of the cost.

  25. I have seen both ways by ninthwave · · Score: 3, Insightful

    I have seen major companies with bad IT hiring policies create custom software nightmares. A company I worked in created VB applications for all their needs, but to get a programmer, they hired internally based off a test. What they got where college grads, mostly liberal arts majors, who could fill out forms. This created a culture of tonnes of custom solutions for each process that needed addressed. No real it vision and a multi million pound clean up when they outsourced their it.

    I have also seen in the same company money wasted on COTS software that didn't run on their base platform, and then effort gone into updating the platform to get the COTS software to work. This broke in house and other COTS software, and at the end of the day this piece of software was only pushed by the Finance department.

    COTS is good for general business purposes.
    Custom is good for your business specific processes.

    If you are not an IT company don't do either.

    Get an IT company to do this for you.

    The outsourcing of IT, in the sense of the service model that is happening I believe will actually save some of the horrible waste I have seen in non IT companies hiring the wrong people, pushing the wrong projects and wasting focus on their core business.

    I agree COTS will never cover all the computing needs of companies. But for bespoke solutions you have the service vendors there to give you that without any of the hassles of doing it completely in house.

    --
    I was thinking of the immortal words of Socrates, who said: "I drank what?" - Chris Knight (Val Kilmer)- Real Genius
    1. Re:I have seen both ways by Anonymous Coward · · Score: 0

      Custom is good for your business specific processes.

      Get an IT company to do this for you.

      Well that's part of the problem right there. If you need software that does something very specific to your company and industry and it's something that takes a long time to understand, it's almost inevitable that an IT company will not set up what you really need and may create even more problems in the end. That can happen with internally developed stuff too, but what I've found is common with outsourced tasks are that when there are problems (and there always will be) , outside companies tend to really not care if they're solving the problem, while internally you can have a direct line of communication and feedback about problems and requirements.

    2. Re:I have seen both ways by ninthwave · · Score: 1

      Then when you have coded all your core processes you have a large workforce of programmers that understand your business that you are going to have to let go. And they will go straight to your competition. At least with service based IT purchasing you can get that resource pool immediately, you get programmers who have mainly worked in your industry sector. The cuts a large part of the conversation down. But then again I am talking about the CSC, Accentia, IBM's of outsourcing. Not ComputerGuy Tech services in the mall.

      These large companies have an understanding of the industries they are servicing. The only thing you would have to do as a business is make sure your IT managers know IT and your business needs clearly.

      I am not sure where I really stand on it. I have seen waste and bad programming in large industry, I have seen very efficinet use of programmers internally, to the point where the put themselves out of a job. I think the services model is good for the programmers. And good for the non IT industries. Though you are getitng rid of the ability to have eureaka moments. The question as I stated before is you have to look at the balance sheet and is it worth managing a large IT force hoping for a Eureak moment in your sector. If you are like most large Enterprises an IT Eureaka moment will only be a blip in your operations and you gain more long term if you loose some control to gain more focus. But for any business it is looking at the balance sheet. Costs vs Returns.

      --
      I was thinking of the immortal words of Socrates, who said: "I drank what?" - Chris Knight (Val Kilmer)- Real Genius
  26. it follows this logic by CAIMLAS · · Score: 1

    For every person that has a good response to a product, they might tell 2-3 people. That's "good" response, not "mediocre" or "satisfactory" - I imagine it'd have to be like coming out of the stoneage to a fully-functional system.

    For every person that has a negative response to a product, they tell 10 people (provided they don't have something invested in remaining mum).

    Thus, you're going to hear a lot more bitching about failures from people that didn't make the decisions.

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    1. Re:it follows this logic by Anonymous Coward · · Score: 0

      So... What you're saying, err, is that a product you don't hear about is on average, what 10/3 or 10/2 better than a product you hear about?

    2. Re:it follows this logic by CAIMLAS · · Score: 1

      Only if you're hearing negative things about it.

      If you're hearing positive things, it's likely quite good.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  27. CarrBomb by Doc+Ruby · · Score: 4, Insightful

    Carr is making a career out of his "iconoclastic" announcements. They're basically repackaged IT truisms, like "better to buy than build", which is the big kerfuffle here. His main asset is the PHB fear of discovery of their total ignorance of IT or business, beyond keeping their jobs and defending their budgets. A stable IT industry would welcome Carr's attacks, and use their buzz to get their non-IT bosses to accept some of the reasonable policies he sensationalizes. It's weird for Harvard to engage in this kind of hyperbolic fearmongering, but maybe that's just their idea of "innovation" over there.

    --

    --
    make install -not war

  28. Plug-ins and Macros by djroute66 · · Score: 1

    There wouldn't be a problem if more applications had development documents and a method of adding custom plug-ins. You would get the best of both worlds - an off the shelf product with custom functionality.

    Back in my intern days I wrote a lot of VB for Application scripts for Word and Excel for an investment firm. They chose Word and Excel in those days because the competition didn't have anything like it at the time.

  29. It's not the software, it's the software dev by Bookwyrm · · Score: 2, Insightful

    I suspect the question is not whether the track record of customized-in-house software is bad, but what the track record of companies who do not have good software development skills/project management/methodologies is bad. (i.e. it's not the end product, it's the costs/delays/screwups in trying to get there.)

    It sounds like there could be a third branch here between just buying COTS and trying to development something yourself -- work with a consulting company to develop a customized solution for/with you. That is, rent/acquire the necessary software development expertise/experience needed to get a properly done custom solution.

    1. Re:It's not the software, it's the software dev by wildBoar · · Score: 1

      Problem is finding a decent consultancy that isn't out to screw you.

    2. Re:It's not the software, it's the software dev by Anonymous Coward · · Score: 0

      The biggest problem consultancies have is finding decent customers that aren't out to screw them.

      Fact is that many businesses out-source stuff when they have really no clue what their requirements are, or (quite often) in an blatent attempt to get something-for-nothing by screwing someone in a fixed-bid situation.

    3. Re:It's not the software, it's the software dev by wildBoar · · Score: 1

      I'm sure that happens and is a problem for consultancies.

      I especially think that mnay clients vastly underestimate the cost of IT and don't know their requirements sufficently.

      They want a magic solution on a budget and many problems both in-house and out-house ensue.

  30. Middle-of-the-road solution? by bunratty · · Score: 1
    At my last job, the sales and tech support department hired contractors to build a new program for tracking orders, shipments, payments, bug reports, etc. Long story short, the project failed completely and they ended up paying money to customize the off-the-shelf system they'd been using for years.

    Maybe the best solution is neither just off-the-shelf software nor just custom software, but easily customizable off-the-shelf software. Of course, "easily" means barely doable by highly-paid well-trained contractors.

    --
    What a fool believes, he sees, no wise man has the power to reason away.
  31. Generic business apps apply here by Anonymous Coward · · Score: 1, Insightful

    HR
    Accounting
    Inventory management
    Payroll
    etc.

    1. Re:Generic business apps apply here by autumnpeople · · Score: 1

      Actually when it comes to accounting, you will find that only small business relies on COTS. Many large companies write their own accounting software to take advantage of their particular style of accounting...

    2. Re:Generic business apps apply here by zarr · · Score: 2, Funny
      Many large companies write their own accounting software to take advantage of their particular style of accounting...

      Is that what Enron did? :)

    3. Re:Generic business apps apply here by stupidfoo · · Score: 1

      Avoid MAS90

      EOL

    4. Re:Generic business apps apply here by autumnpeople · · Score: 1

      No, Enron just applied the accounting principal of 2+2 = what every you want it to be ;)

  32. Why we are using custom over COTS by tzanger · · Score: 1

    We're using The Vexi Project to design our customer service, sales and call tracking system (essentially the core of our office systems). We are doing this instead of relying on technologies centered around existing systems because, frankly, all you get with COTS is a shortcut to dependence on a disinterested third party.

    We're not Ford. We haven't got the pull of someone like Microsoft. We have been bitten in the past by COTS software (oh, AutoCAD, AccPAC, Microsoft for starters) -- support contracts went up in price every single year and the problems/bugs resolved were trivial and inconsequential while the larger problems were glossed over or promised "in the next version." And then of course you get to the beloved statement of "We're end-of-lifeing the product. Sorry about your luck."

    With OSS this just does not happen. In fact, I would go so far as to say it's impossible. With Vexi, the engine is open source and runs on multiple platforms (Java and then native Win32, Linux and OSX). We didn't go the DHTML route because now you've tied yourself to a browser. We've hired a contractor (in fact, one of the driving forces behind Vexi) to continue developing the widget set and work away at the engine while writing exactly what we want and in the end, it is ours. We can try to make it a COTS system and sell it (not likely), we can expand it either by writing the extensions ourselves or by hiring him again (or anyone else) and -- here's the best part -- nobody can take it from us. We don't have to worry about retooling when the company gets bought out (SSH Sentinel) and, as I've said before, as our business grows and changes so can our software.

    You simply cannot get that with COTS. We've been there and done that and in my opinion it's a very bad thing to do -- to put your core business flow into someone else's hands. No two businesses run quite the same way and this is the exact reason why there are a hundred different COTS systems trying to be "the one."

    1. Re:Why we are using custom over COTS by Anonymous Coward · · Score: 0
      We didn't go the DHTML route because now you've tied yourself to a browser.

      Er... no - you don't tie yourself to a browser if you do it right. A lot of the time yes, there are bugs in many browsers implementations of javascript but it will pay off in the longrun to use a web based interface for your software (imho).

      The complete lack of any sort of deployment for your business software is vital, especially if like my company you are a multinational with many many location around the globe.

      Other than that I do agree with the above though; using off the shelf software all depends on the market you are in. The more specialised the market, the fewer units sold, the more bugs and fewer people to give you support (i.e. a community). So yes use Word or Open Office or that CAD program - no need to re-code that - but the more specialised your industry the more likely you will need to build a product in house.

  33. is software really different then other things ? by cinnamon+colbert · · Score: 1

    given the constant recalls that cost in the 100 MM+ range in the auto industry (as one example) one can only conclude that stupidity lazyness and incompetenace are rampant (not to mention poor spelling)

    or lawnmowers: i bought a 250 dollar lawnmower from sears last year, and "badly designed" is an understatement (not to pick on sears - just an example that comes to mind)

    or vacumn cleaners: for years, the american consumer had to buy house vacumn cleaners where there was a 2Cent plastic fan tht generated the airflow that generated the suction, and thefan was placed BEFORE the filter, so if you sucked up a penny, crack, no fan blade, toss the sucker.
    then some braniac figured out you could put the fan on the other side of the filter

  34. Walmart vs Kmart .... nuff said by Anonymous Coward · · Score: 0

    check out the history on this one.

  35. Depends... by panurge · · Score: 3, Interesting
    In the ERP/MRP world, there need to be so many customisations and options that just deciding how to map the software onto existing business processes is a major challenge.

    I have just advised a small company to use the small software company next door, not to build them a solution but to build them a model of two core business processes (currently on paper) in either Access or Filemaker (Yes, I know. But the ssc knows Access and Filemaker. OK?) The idea is that when they have defined the process and tested it, they can migrate to an MRP system and import the data they have created - because they will know which fields and reports they actually need, and they can more easily have a discussion about a small and flexible database than try and work their way through the options of an MRP system.

    Having said that, the future may be off-the-shelf open source systems with customisation- provided someone solves the documentation problem.

    --
    Panurge has posted for the last time. Thanks for the positive moderations.
  36. Yes and No by boxless · · Score: 1

    I've have done a lot of thinking about Carr's original article, and I only 1/2 agree with him. I think he's absolutely correct for non strategic things. But, if it's something strategic, that you're really supposed to be good at, then how can you just use a packaged app? You are ensuring you are going to be mediocre at that particular thing.

    For example, I work for a software company. I wouldn't dream of using packaged development apps / case tools (think Rational). if we can't do it better than them, we shouldn't be in business.

  37. The real problem by einhverfr · · Score: 4, Interesting

    Is that most programmers suck. They can't design a good solution, look through software and understand how it fits together, document requirements, and actually, :gasp: design something that actually meets the requirements.

    Most contractors can't run a business either.

    I love opensource, but between it and toy languages like visual basic it's made an entire cottage industry of 'traveling-snake-oil-salesmen' computer hacks.

    I don't dispute this. My company offers software customization services, and we have a few large contracts we are working on at the moment. We sell such services also with a support contract, and it is usually several meetings before we have the required understanding of the requirements to actually build the solution. In general, unless I understand how something is going to be used, I won't try to build it. Even then, any changes which need to be made over the first year of operation if they are due to it not meeting the original requirements are offered free of charge. This is our standard policy. We even pro-actively look for problems after it is deployed (in at least one case, we had to re-engineer part of a solution due to a misunderstanding about requirements!

    We also try to sell training and workflow documentation along with the software customization. We do not, however, overly document our code because it is often easier to debug by reading code rather than comments (comments are used to tell the programmer *why* you did something, not *how* something works).

    Also, we always contact the open source project maintainers before making the changes and offer to contribute back the additions to their source tree. This is because it makes it less costly for us to maintain if the project accepts our patches.

    In general, we find that our customers are satisfied with our work. It costs less than COTS, and it fits their business more. We intend to be in business for years or decades to come, and expect our satisfaction levels to remain high.

    --

    LedgerSMB: Open source Accounting/ERP
    1. Re:The real problem by Anonymous Coward · · Score: 0

      Actually the real problem is with the user community. Users when asked what they want software to do will absolutely positively refuse to adequately define what they want the software to do. This is the real reason that in-house dev fails so often. Ever try to get users to tell you EXACTLY what they want the software to do? Basically, users will come up with "useful" comments like, "make the custom software do what the 'old' software does."

      Users basically want the software to "just" do it and they want the programmers to "just" make it happen, and they want to programmers to "just" know what the requirements are, but GOD FORBID that the users have to actually define specifically what the f-ing software is supposed to do.

      This is why off the shelf software works better because the user community is told, "ok you aholes you are so lazy that you don't want to define the requirements so we'll do it for you!!!"

    2. Re:The real problem by msgregory@earthlink. · · Score: 1

      That's because users don't know what they want because they are not programmers and don't spend their time thinking about software because they don't care about it. If they did, they would probably be programmers.

    3. Re:The real problem by einhverfr · · Score: 1

      If I don't understand what problem a program will solve *and* how it will be used, I won't write it. Sometimes it will take as many as three weeks to a month of meetings, emails, etc. before all my questions are answered. Usually my questions have to do with "Suppose you do this... does the software need to handle it?"

      That has to happen before I can even provide a quote. I have never had to walk away due to customer vagueness. Indeed usually you ask about business problems not software specs.

      --

      LedgerSMB: Open source Accounting/ERP
  38. Yes by ScentCone · · Score: 1

    Is the track record of custom built software really that bad?

    Not really, but the track record of project management is that bad, and project management of custom software is harder than implementing most COTS (if it's a reasonable fit).

    --
    Don't disappoint your bird dog. Go to the range.
  39. COTS May Work Now But.... by Doc+Squidly · · Score: 2, Interesting

    ...When a company does need (not want, but need) to change, they will find themselves trapped by the product that was going to save them.

    The most common problem I see is that when they do try to change, they will attempted work around their COTS. Not by designing a completely new solution but by slapping something together.

    The Company (small, less then 50 people) I've started working for is paying the price for doing just that. They tried to build a MS Access Database App to work with a software product that is now critiacal to there business.

    It work at first but grew out of control and is full of proor design and wierd bug fixes that realy didn't fix the bugs. The two guys who started it about 3 years ago are no longer with the company. (One quit in fustration, the other fired due to inter office politics)

    Its gotten to the point that with the system breaking at various point, customers getting pissed and the four new IT guys (myself included) pulling all-nighters, that the company's CEO has gotten the messege and started throughing money into IT.

    I'm optimistic that things will get better in 6 months to a year but, had my company been willing to inovate, instead of working around a pre-made software product, they'd be further ahead than they are now.

    --
    I think I think, therefore I think I am.
  40. In a nutshell by Todd+Knarr · · Score: 3, Insightful

    My position on custom-written vs. COTS solutions is pretty much this: "If the problem's in our code, I can fix it. If it's in someone else's binaries, we're SOL.".

    If the COTS software exactly fits the problem and has a solid record of not having bugs/problems, it's probably cheaper to use it than to write, debug and maintain your own. On the other hand, most often the COTS software doesn't exactly fit the problem at hand. This is especially true when the problem at hand involves differentiating your offering from everyone else's by doing things differently (hopefully better) than everyone else. In those cases custom-written software at least offers you the opportunity to decide whether it's worth it to make the tweaks. With COTS software it doesn't matter, because beyond the customization built-in you can't change it no matter how much it'd be worth it. Same things with bugs: with custom-written stuff you get to decide whether it's worth it to fix the bug, with COTS it doesn't matter whether it'd be worth it because you can't.

    1. Re:In a nutshell by bitmanx · · Score: 1

      There is room for both but you need smart people to make the best decision for the problem. Competitive advantage wouldn't exist if the Amazon's and Walmarts didn't build what they needed rather than rely upon COTS. COTS solutions are never pushed to a 100%, more likely about 20% to 30% of the functionality is leverage and then modified extensivly into a custom built app that can't be upgraded. The best thing one can do while evaulating COTS solutions is to attend the vendors training class before you even make a decision on packages or potential build solution. Most companies can't afford the time/money/resources to build proof-of-concepts.

      But even if you choose a path to buy or build if you don't have a few smart people and leadership you might as well plan for failure. Leadership and methodology cannot be overlooked and this requires smart people who understand the business issues. Not that everybody has to be smart, but the chiefs had better have a clue to manage the indians.

  41. In short by ACNiel · · Score: 1

    Yes.

    If I ran an office, and could only hire highly skilled computer professionals for every job position, I would definitely go for the generic off the shelf products.

    It is all percetion. Expensive one trick pony, or a cheap off the shelf extensible solution. Sounds like an easy decision.

    Until you start getting bad data because there was no error checking.

    Until you 20 users in one access VBA app blow up the database.

    Until you realize your business unit is spending all their time trying to learn how to write a macro to turn Word into a Spreadsheet instead of actually making business decisions to make you money.

  42. And he is probably right - sigh by northwind · · Score: 1

    Haven't read the article though - too lazy to register at NYT. - he
    Business managers are like any other employee subject to scruteny from the board and the shareholders. What do you choose? Adapting the software to suit your business model? Well - it is called software for that reason, but what if your business model isn't perfect? Then the software won't really work and maybee - just maybe - it will uncover the imperfections of your implemented and already running model.
    Buying COTS means that you must adapt your business model to the models used in the software. Those are big companies so board and shareholder are more likely to pony up the amounts needed to convert to that model. Nobody asks the two important questions:
    1) Does your business fit into the model?
    2) Does the model work at all?

    But in the end: "Who has ever been fired for ordering IBM"?
    All that is now left is to complain about the maintenance contract fees and clauses. And that is not really your fault - or is it?

  43. I agree... by wasted · · Score: 2, Insightful

    COTS is good for general business purposes.
    Custom is good for your business specific processes.
    If you are not an IT company don't do either. Get an IT company to do this for you.

    The tricky part is communicating business requirements to the IT company. Since the IT company works in the IT industry instead of the customer's specific business, the IT company may or may not understand what the business really wants. If the business's contract negotiators aren't familiar with the requirements or the nuts-and-bolts of the business, they may not even know what is really desired, which makes miscommunication even more likely.

    1. Re:I agree... by ninthwave · · Score: 1

      yep...

      but I still think it is better for most businesses. You have to weigh the expenses vs the gains. As with all business decisions.

      --
      I was thinking of the immortal words of Socrates, who said: "I drank what?" - Chris Knight (Val Kilmer)- Real Genius
  44. COTS is definitely the way to go... by Kafka_esque · · Score: 2, Interesting
    I agree completely with the article IF the company in question has the self discipline to buy some piece of COTS that does %80 of what they need and...


    LEAVE IT ALONE


    Too many times organizations I've been in buy a piece of COTS (using the %80 metric even) and then start tweaking and nudging and twisting - until they are hostages to the company who sold them the COTS and made the changes for them.


    Essentially having built their own customized solution out of an expensive piece of COTS.

  45. too funny by Anonymous Coward · · Score: 0

    one of my pals was involved in a large COTS customization project for a major county in california, USA.

    the project was supposed to umbrella/eliminate a huge number of custom small HR, accounting, business logic apps that varied by city.

    when the project finally imploded/failed, it was 2X over time and 2X over budget.

    why ? not the engineers. the development team had done the same thing for several corporations and although they were occasionally late and sometimes over budget, every previous job was considered a sucess...the customers were ecstatic.

    it was the beaureaucratic mess of trying to get all the cities to agree on a set of business logic. everyone demanded their own logic be thrown into the pot. it was a nightmare, because while a corporation can dictate things, there was no person or group powerful enough to put all the cities in line. this was the first time the team tried to do custom cots for a government entity, as opposed to a commercial entity.

    end result : a huge failed project, one that has made the papers several times, and every single article blames the contractor and the developers, the complexity of software, the usual claims about developers being unmanageable, overpaid, etc.

    so, as usual, take everything you read about cots vs. custom with a huge grain of salt. the author and editors usually have an axe to grind.

    finally, the idea of cots vs. custom is blurred in a lot of ways. it's rare to see anyone write a custom OS for an application anymore, although it is occasionally still done. similarly, the toolkits are more powerful than ever...so making some blanket statement about cots or custom is really kind of stupid. it's so dependent on the problem domain.

  46. Fill in the gaps with custom software by CharAznable · · Score: 2, Interesting

    What we do where I work, and it works well, is to use off-the-shelf products wherever possible. We do make sure that the stuff we get has some level of openness, so that we can build custom stuff around it and customize to fit what we do. An ERP, for instance, can't account for all your business processes. Chances are your company has something unique about it that can't be accounted for with off-the-shelf software. Hopefully you can account for that by building custom stuff.

    --
    The perfect sig is a lot like silence, only louder
  47. Ford are clueless by Anonymous Coward · · Score: 1, Interesting

    I've worked for Ford, I've seen many project scrapped. It's incompetence in Ford's IT management that's the problem.

    DCAS, FocalPt, hundreds of millions wasted on bullshitters, many many incompetently run projects have never returned their money.

    I've also done many very successful custom IT projects.

    So it's not right to judge project's based on Ford's incompetence.

  48. COTS won't get you there by itself by davide+marney · · Score: 2, Interesting

    Sure, using COTS makes sense if it does what you need. No one disagrees.

    The difficulty is that answers to big, complex problems usually aren't found in a box. Before someone can give you a solution, they must have first envisioned your problem.

    A better strategy is to have an infrastructure upon which various solutions can be developed independently and in parallel. Take the Internet, for example: a common infrastructure with, at first, only a few solutions, but now, with millions.

    --
    "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
  49. COTS seldom works by ColoradoRancher · · Score: 5, Interesting
    I've been in this game for nearly four decades, and seen the industry pendulum swing thru two complete cycles from all-custom to all-COTS. This was both in the private (Digital/Compaq/HP) and government (military & mil contractor) sectors of the IT industry. To be fair, my experiences are only in very large shops and companies. I don't know how this applies to small shops.

    Everything I've experienced has taught me one very clear lesson: COTS does not work, for anything beyond a mail client or a suite of 'office' tools. Your internal business critical applications must be custom developed. And when custom developed, in-house development fares better than contracted custom devo.

    I've noticed that COTS always seems to look better on paper, and starts off with a lower price tag. But even in the first week of deployment, that biz process you tried to bend to fit the software, just doesn't work when bent that way. So you start to loose business, or you have to modify the COTS software. Usually both. After a year, if you haven't gotten smarter and scrapped the COTS software entirely, and if your business unit is clever enought to stay afloat after that bad COTS decision, you find that you've had to customize it so much that it doesn't even look like the original. Oh, and surprise!, you've spent at least triple what it would have cost for an in-house development effort.

    But wait, it gets worse. Eventually the COTS software just can't be customized any further, and must be scrapped. Your good developers... er, 'customizers'... see the ship is sinking. Most of them jump ship to the company that produced the COTS software, so they can do 'real coding'. Now you're doubly screwed.

    1. Re:COTS seldom works by DukeLinux · · Score: 1

      Dude, do you work at my company? We bought a COTS product and then set out to customize it to the nth degree. Nobody EVER asked the business if they could change their processes. Now our "ship" is sinking into the continental shelf. The project manager quit, the lead architect quit, the business manager quit, ... I shall stop there. Basically, software project fail because of clueless management. People get promoted into IT management and demonstrate utter incompetence. They compensate by firing scapegoats. Two so far in my group.

    2. Re:COTS seldom works by mekkab · · Score: 1

      you find that you've had to customize it so much that it doesn't even look like the original.

      This is the "new innovation." I've only been in the game for 6 years, but every time I underestimate COTS I come out being right. Infact, I think my whole companys outlook is "we are integraters of COTS." I.E.- we write a whole mess of software to get your COTS crap working.

      The best part is, I'm currently supporting COTS where the original company has gone out of business. Awesome.

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
    3. Re:COTS seldom works by Anonymous Coward · · Score: 0
      Can I get an "Amen?"

      Obviously, you shouldn't be reinventing the word processor, the spreadsheet (seriously, I've seen that one reinvented, bad idea) or the database. But I've been on enough projects to know that COTS gets bid because the numbers start out low. Then we try to jam that square peg into the round hole, and spend a lot of money doing it.

      Follow that up with being tied to the vendor's upgrade cycle / end-of-life decisions or buying expensive support contracts for "obsolete" versions, and then you know why I think COTS is a four-letter-word.

  50. corporate culture has a lot to do with it by erwin · · Score: 2, Interesting

    I've seen both custom and COTS solutions succeed, and I've seen them both fail miserably.

    As a number of folks have pointed out, the PM/planning/Requirements gathering has a huge amount to do with the eventual success. As does the willingness of the users to actually adopt the system.

    You'd hope the if you involve all of the stakeholders at the right point they will buy into the final solution, but in reality, the corporate politics can kill a technically exellent solution more effectivly than a politically supported but technically weak solution.

    If people have some degree of buy-in to a solution, they'll overlook a lot of v1.0 warts. If they hate it for political reasons, they won't rest until those responsible for it have been sack, the people who sacked them sacked, and so on...

    unfortunatly, this usually leaves the user community (e.g., the company) in the same or worse mess than they started.

    1. Re:corporate culture has a lot to do with it by Ized · · Score: 1

      I'd agree with you on this: I've seen both inhouse-developed and COTS solutions that went good and bad in a very large multinational company.

      What I think is extremely important is that you have the right person deciding on what is the right way to go: For this specific purpose, can we do away with a COTS package or do we need to make this an inhouse solution? I think this is atleast where my companys organisation has failed miserably more than once.

      The worst situation rises when you have NON IT personnel deciding on buying some COTS package, based on some external sales guys/consultants advice. On one occasion one of our Human Resources manager had been to a sales pitch and was ready to buy 300K EUR intranet solution from an external company. After reviewing the specs and offer, IT found out he was beign sold an open source solution that could be downloaded for free from sourceforge.net. Go figure..

      When deciding on which way to go, you need to have right persons for the job and do a proper analysis of what is required now & in the future, evaluate that with the costs, benefits, savings, your own IT capabilities and go from there.

    2. Re:corporate culture has a lot to do with it by erwin · · Score: 1

      that's pretty amazing that some would try to blatently repackage an OSS vertical app. But then, on second through, human nature being what it is, maybe it's not so amazing, just sad. Maybe the 300K Euros was for integration, training, etc.....or maybe it was just greed.

      What did your company eventually end up doing?

  51. Mod parent up by einhverfr · · Score: 1

    I actually like your solution. Access and filemaker when people know them, make for decent prototyping programs even though they don't work well for production databases.

    People need to understand that getting good custom software (including customized COTS like CRM and ERP) needs to be done in stages.

    You figure out exactly what the requirements are. Then you create a prototype or first draft and figure out where it doesn't meet the requirements. Meet the minimal requirements first. Then make the smallest possible changes necessary to meet the other requirments (in terms of lines of code).

    If you try to do everything all at once, you are in for a train wreck of a project as you will have too many problems to solve at too high a business oportunity cost and will never get it finished.

    --

    LedgerSMB: Open source Accounting/ERP
  52. COTS is not my religion by Anonymous Coward · · Score: 0

    COTS can be a really bad idea when the religion of COTS is interpreted as the religion of never writing any of your own code. One such organization I know hired contractors to write software from scratch and call it COTS. Business process owners never have an easy time of explaining software needs and requirements to anyone, now that the programmer is outside of the organization, 300 miles away, the risk of a gap between needs and final code is no longer a risk, but a certainty. At least COTS will remove that risk from software development. In the COTS only organization, desperate line managers resort to using non-programmers to write code, random staff writing their own MS-Office applications, using VBA, secretaries using Excel to hold databases, and all the other horrors that could have been prevented by rejecting a COTS only policy and allowing professional internal developers to do their thing.

    (notwithstanding non-"business process" related stuff, like OS's, word processors and so on should never be written in house, that would be reinventing the wheel)

  53. Business rules must be custom by Dix · · Score: 1

    If you have a functioning business it will be because it has a competitive advantage. The business rules which define this will be necessarily unique. To that extent you have no choice but to customize. Good engineering practice is to attempt to limit customization to those business rules.

    Typically this will involve not buying all-in-one products but libraries and server-software etc. Certainly you don't want to write your own DBMS (unless there's something peculiar about your data that warrants this) but you will still have some work to do.

  54. It sucks in both worlds by Anonymous Coward · · Score: 0

    Right now, the organization I work for is dealing with two really crappy pieces of software. One is built around prepackaged software (MS SQL, IIS 5, with minimal custom programming on the client end and backend). The other is completely custom from client to backend with the exception fo the Oracle DB which is more or less used as a file cabinet.

    What it really comes down to is whether or not you have decent programmers and engineers working on the software. The problem is that there are not that many good programmers or engineers in every business that writes software.

    In our case, the software built with prepackaged and slightly modified software is responsible for controlling people's logins on public internet computers as well as tracking their printing so that we can charge them for printing. This company has tried to make the software work easily on the user end and staff sides, but they've completely ignored the administrative side. It's been a nightmare to deploy this software or manage it. This company's ides of remote management is to get the end users to WebEx into them! They also chose to interface with a user database by actually copying the user database to yet another DB server thereby guaranteeing that their DB will alwasy be slightly out of date. Complete idiocy. But they are also pretty much the only game in town. We're stuck with them whether we like it or not. I'd consider the idea of in-house homegrown software to do this, but it's not my call.

    The other company writes very specialized software that is 3-tier client/server. End-User Client Application Server Oracle DB. The client and application server are completely custom written and Oracle is only used as I said before as a file cabinet. The end-user client sucks about 14k per user from the network. We have almost 1000 users. You can imagine what this does for our remote ends (about 60 offices) who are on already overloaded T1s. The company who wrote this monstrosity have absolutlely no clue of the needs we have as an organization. But... again, they are the only game in town and, believe it or not, they aren't the worst of what is out there. The implementation of this software has been a trip through hell from day one and probably won't be stopping any time soon.

    I don't think the problem is the approach of either company, but I think it's due to the fact that they only really have one or two programmers that are any good and those guys are being spread thin. The rest of the coders probably mean well, but really can't grasp what it is we need. So, don't get your panties in a bunch about which approach is better or worse. They both suck if you have very few decent programmers and/or engineers.

  55. "IT Doesn't Matter" Article Text by Anonymous Coward · · Score: 0

    IT Doesn't Matter
    Article Text

  56. Ford reverted to a custom application by HankB · · Score: 1
    If you read the example cited in the article, you will see that they said:
    ... Ford had decided to unplug its Oracle procurement system, dubbed Everest, and collapse its purchasing processes around its original custom-written, mainframe-based applications.
    So, where's the case for using COTS? However, I can see a case against outsourcing...
    1. Re:Ford reverted to a custom application by juan2074 · · Score: 1
      But Nicholas Carr did not mention that tidbit. It would have worked against his main argument.

      In reality, Ford was not able to integrate off-the-shelf Oracle products, so they went back to their good old hacked-up mainframe apps.

      Maybe Mr. Carr does not know what he is talking about.

  57. OSS community missing opportunity by almax · · Score: 1

    The open source community needs to find a way to move into the business application sector in an effective manner. I don't believe that it will be by using low-level tools like .Net or Struts. It needs to come through leveraged frameworks like Compiere, Spring or Open for Business.

  58. It's Not The Software by Master+of+Transhuman · · Score: 2, Interesting


    It's the management that is the problem.

    It doesn't completely matter whether the software is developed in-house or customized commercial software - what matters is does the software do the job, can be it be further modified without excessive expense as the business changes, can it be cost-justified against business revenue or savings resulting from its implementation - and a dozen other standard IT 101 lessons that most managers don't seem to have learned in college...

    This guy is a self-promoter whose method is very common: claim that any one solution is totally wrong and the opposite solution rigidly applied is the only possible way to solve the given problem.

    In other words, he takes his cue from George Bush...

    Right now at City College in San Francisco, we run a standard university admin package which is a pain in the butt. On the credit side, almost no customization (other than that allowed by the package's internals) has been done. On the non-credit side, a fair amount of customization has been done. The man who did most of that customization is looking to retire and when he does, support for those customizations will go out the window. Without those customizations, however, the package would not be nearly as useful to the non-credit division.

    OTOH, the library uses an ILS (Integrated Library System) package which is out of date, and has signed a contract with another ILS provider to implement a new one. Part of the contract is that ILS provider must provide integrated access to the college admin system (for example, use the patron ID to verify that the patron is a registered student). This has been tried before in other areas without success. Most companies don't like to have to go into their "standard" package and modify it to allow integration with someone else's package because it reduces their profit on the sale to do customization. So the salesman sells the package by promising integration in the contract, then the company backs out or waters the integration requirement down in order to save their profit on the sale.

    In this respect, OSS is much better since the money you end up spending for customization - and you WILL spend that money one way or the other - takes less bite out of your budget than it would if you had to pay for the software first. Better to get the source code and pay some consultant (and in OSS especially, this "consultant" may well be the original developer) to modify it than either develop the entire thing in house or pay a third party consultant for modifications on TOP of the cost of commercial software.

    Somehow, management doesn't seem to grasp the simple dollars and cents logic of this.

    Big surprise.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  59. How about some substance there, Mr. Carr? by Anonymous Coward · · Score: 0
    Nice one pager by Mr. Carr, which glosses over lots of things that ought to go into the decision of buy vs. build.

    Interesting that while Ford's supply-chain-mgmt problem is probably a wheel that's been rounded and smoothed by thousands of other companies, and for which several reasonably customizable COTS solutions actually exist, the FBI's problem is not so common. Is there a COTS solution for their problem? Not likely, nothing that would scale to the size of the FBI's needs, and provide them with the security that they'd have to have.

    I'd bet that any solution they have been working on is chocked full of COTS products, which are being integrated. COTS products that have been chosen for their buzzwords and kickbacks, not for applicability, stability, scalability, or likelyhood to be supported when the system actually goes live. The government buyers LOVE to hear COTS products bid on their projects.

    On the other hand, what I love is when COTS A version y runs on backend COTS database B version x, and they both run on OS version z... but you need to upgrade OS version z to a new revision for COTS product Q.. Of course, new new OS version is supported by A, but not B. Remember, those vendors follow THEIR product cycles, not yours. Then you end up paying through the nose for support for an "obsolete" version of the COTS product or being on an "unsupported" configuration, at which point something goes wrong, and the vendor tells you "well, we don't support that configuration, call us back when you're running a configuration we do support."

  60. Heh! by buss_error · · Score: 1

    Trick question. You do whatever fits your situation the best. I will say that custom programming business applications has been the most trying, except for those situations where you're using COTS and are bending the business process to fit the software.... 8P

    --
    Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
  61. COTS vs Custom by Liquidrage · · Score: 5, Insightful

    Often the biggest issue when considering COTS vs custom software is existing processes.

    Typically, when we evaluate COTS products 9 out of 10 are missing *something*. Not to mention 8 out of 10 cost more then it would take to write from scratch because 50% of the COTS offering wouldn't be used so doesn't have to be developed when writing custom.

    The existing processes is really the key though. Too often the person who needs the software has the money to get it (either COTS or custom) but not the authority nor the desire to change an existing process to fit a COTS offering. This is a more of a problem with bigger organizations. And it hurts the chances of using a COTS product. But let's not pretend there are not some cases where changing the process is not sensible nor possible.

    If your mission is housing inmates, do you think generic COTS inventory software is really going to suffice? No. The only commercial offerings are custom software written elsewhere that the original developers will sell you. Basically they'll gut the code that doesn't fit and shoe-horn in some new code. Thanks, but I'll pass on that.

    Also, another area where COTS products typically struggles is interfacing with existing software and data. Commercial app that tracks training? Easy to find. One that will leverage existing data such as an HR database? Well you just lost 90% of your potential COTS prodcuts and those other 10% are going to be just as expensive and take just as long to develop most likely.

    And lets not forget that in most places, COTS products are the majority of software. We don't write word processing application, we use MS Word. We don't write a web browser from scratch, we use an existing one. Etc.. But when it comes down to supporting an existing process, use it where it makes sense.

    Now, as to custom software sucking...
    A lot of it sucked. I believe the best thing that ever happened to custom software was the trend of making it web-enabled. Whether it was PowerBuilder, C++, VB, FoxPro, etc..., too much custom software built in the 90's sucked because of their interfaces. I've seen literally 100's of custom client server software written in the 90's and about 95% of them suck and allmost no two act or look alike. Of course this can be overcome with strong development methodologies. But in the real world not every place nor project is wrapped under a strong methodolgy. And very few projects I've done for custom software and anything even close to a working UI team. Not to mention that in the changing software world technology changes fast and even the best and most disciplined development teams can have interfaces that look nothing alike even if they were developed just two years apart.

    To me the greatest strength of web-apps isn't ease of deployment. It's that is forces developers to write simple interfaces. Web apps written by the same software teams generlly do look alike. And even where they don't they at least act alike. MS tried came to us trying to sell us on the ability to use .NET to write regular windows forms apps that are run in the browser. Why I asked? So we can go back to the days of complicated UI's that confuse the user and make maintanence when you were the original developer nearly impossible? No thank you. I understand there will always be applications that have requirements that are not suited for the web. But they are, I will use that. I will keep my interfaces as simple and clean as possible and users that are not 1st and foremost computer people will continue to be able to operate them without a steep learning curve.

    1. Re:COTS vs Custom by Anonymous Coward · · Score: 0
      To me the greatest strength of web-apps isn't ease of deployment. It's that is forces developers to write simple interfaces. Web apps written by the same software teams generlly do look alike. And even where they don't they at least act alike.

      I have noticed over the years that typical Slashdot posters despise the move to web-based apps. I'm not sure if it's because they are currently less-responsive than the apps they are used to or if they demand more functionality out of them (being technical people), or one other possibility: they, as developers, hate the fact that they have to work in the constraints imposed by web development. They can't easily make the interface work exactly as they want. They can't make dumbass design mistakes that they loved to make on their GUI-based software because they designed it to be used by other programmers for some ungodly reason. They have to take standard form controls and submit buttons, and they have to like it. And I think this pisses them off to no end.

      This is a major part of your point, of course, but it's almost as though the marketers of packages like .NET are trying to appeal to the control-freak programmers who don't like people telling them how things should work (even though web applications have proven to be extremely intuitive and efficient). Sure, there are a lot of rotten, major web apps out there (Peoplesoft comes to mind as they wanted to exercise strong control over the web browser and as a result things don't work as users expect), but in general they have been a great success.

    2. Re:COTS vs Custom by Anonymous Coward · · Score: 0
      I have noticed over the years that typical Slashdot posters despise the move to web-based apps. I'm not sure if it's because they are currently less-responsive than the apps they are used to or if they demand more functionality out of them (being technical people), or one other possibility: they, as developers, hate the fact that they have to work in the constraints imposed by web development. They can't easily make the interface work exactly as they want. They can't make dumbass design mistakes that they loved to make on their GUI-based software because they designed it to be used by other programmers for some ungodly reason. They have to take standard form controls and submit buttons, and they have to like it. And I think this pisses them off to no end.
      Standard form controls and submit buttons are OK as long as all you want to do is forms. But at least in the apps I'm working on there is a demand for graphically mapping flows of stuff, people want sortable and groupable grids with data etc. It is possible to do it using standard HTML and JavaScript but it quickly becomes a pain in the behind both to program and to use.

      Personally I feel web interfaces are great for things that are to be used by occasional users (on the Internet) and for simple things, but for complex applications it feels like a big step backwards.

  62. COTS? What about FOTS? Or FoSS? by drinkypoo · · Score: 1
    Commercial software is convenient in that it is typically easy to install and configure almost the way you want it, but that's where the honey moon ends. Everything else about it is bad. Oh, sometimes there's technical support available, but generally it's horrible anyway.

    On the other hand, there is all this open source software available, most of which won't cost you a dime unless you need support. And, if you need software changes - as others have pointed out throughout this thread, you can have them done, usually for reasonable rates given the abundance of out of work programmers. If I were starting a business today there is no way I would willingly hand myself over to Microsoft's less than tender care. If I were looking at an extremely outdated enterprise I might also think seriously about moving on to Linux. If you truly need your legacy windows applications you can get them through the use of virtual machines or wine as appropriate - it basically depends on how well-behaved they are. Don't ever assume a windows to windows migration is easy - it ain't necessarily so.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  63. "SAP Expert" HP's $400m SAP Disaster by theodp · · Score: 1

    --> From The Register
    HP suffered one of its more embarrassing recent episodes when an internal SAP consolidation cost it $400m in third quarter revenue...But how forthright was HP? During its third quarter earnings call, the company was typically hesitant to say exactly what went wrong with its ordering system. Only later, did word leak out that a failed SAP consolidation was to blame....Many insiders knew the project - code-named Fusion - had every chance of going wrong, despite HP's supposed expertise in dealing with SAP migrations....High-ranking executives were being forced to spend their time approving rush orders of $50 parts to key customers. In total, a disaster - and not one that HP described in exacting detail to the public.

    1. Re:"SAP Expert" HP's $400m SAP Disaster by Anonymous Coward · · Score: 0

      From somebody enduring the pain of a SAP rollout right now I can surely understand.

  64. The who decides what to get? by smartsaga · · Score: 0

    It has been my experience that sometimes IT is left out of the process of selecting a solution for the company. Leaving the decision making to burocrats who know jack sh@t about computers (a Mac scares the crap out of them). For example Who the heck would buy SAP for a college!!!!!??? Millions of dollars in a big fiasco that creates ten times the work for people!!!! But it looked nice when the consultants presented it... right? It's like when you go and buy a car, the sales man asks yuo how much you want to "pay" and he sells it tou you for just that... a month plus all the little nasty things in the small print, extra charges... People, administrators, burocrats, etc, don't understand that if they don't know what they are doing they can ask their OWN IT DEPARTMENT and not a stupid consultant that is simply a salesman. (Note: not all consultants are bad, I know. I am one and I am also part of the IT in my second job)

    --
    ===== "Every head is a different world so don't invade mine you FREAK!" smartSAGA said
  65. Man, that's not the case at ALL by Anonymous Coward · · Score: 0

    ...at least not in security software. Particularly in this consolidation age, companies can't ever get their own library to interoperate, much less get their stuff working with someone else.

  66. Re the Ford example: HUH? by Anonymous Coward · · Score: 0
    Despite four years in production and an investment of millions of dollars, Ford Motor Co. is pulling the plug on a major procurement software system built around Oracle Corp.'s 11i E-Business Suite of applications.

    Ford spokesman Paul Wood today confirmed news reports from earlier this week that said Ford had decided to unplug its Oracle procurement system, dubbed Everest, and collapse its purchasing processes around its original custom-written, mainframe-based applications.

    Yes, they killed the COTS solution and went back to purpose-written custom software. Why?

    sources indicated that Everest was hampered by poor performance.

    That hardly supports a decsion to go with COTS solutions. 'Nuff said!

  67. It's the maintenance that kills you by k12linux · · Score: 1
    If you produce a large system entirely from scratch then you need to be prepared to add features, and do other maintenance to that system for as long as it is used (maybe decades.)

    If you customize an existing COTS package then you need to be prepared to maintain at least the portion you customized. (And hopefully you kept your customizations modular so you could still upgrade the underlying COTS software as new releases come out.)

    If you start with FOSS and customize it, you can probably get some of your changes merged back into the main project (so they automatically are included in every future release.) Then you have to plan to maintain the portions you are keeping hidden inside your company.

    If you can find a COTS (or FOSS) package that fits your needs exactly (or nearly enough that you don't have to customize) USE IT!

    The maintenance issue really kicks in as you move on to custom project #2, #3, #4.. etc. Unless your IT staff is growing along with the maintenance needs, you'll soon find that all of your time is spent just fixing and keeping existing stuff working.

  68. It's Not The Software-It's the programmers. by Anonymous Coward · · Score: 0

    "It's the management that is the problem."

    Read "The inmates are running the Asylum." by Alan Cooper, and you'll find that the problems really are with programmers.

  69. Custom software, open source, etc. by cbreaker · · Score: 1

    I work for a large industrial insurance company. While the network infrastructure is Windows; workstations, AD for authentication and IIS for web applications, almost all the core business software is home brew. And it's awesome.

    We have applications for all our insurance systems. Risk management, site surveys, customer accessable information, everything. It's all built in house. We have over 6,000 employees total; several hundred being IT staff and development teams.

    I couldn't imagine us using an off-the-shelf product for those duties. While I suspect that the quality of the code in our applications might not be as high as a software-only company, we do it right and have plenty of people on the job to support the apps. Our edge comes from the fact that we have the most usuable system for both the company and our customers.

    On the other hand, if you can't support a full in-house development crew for an application you need, you'll need to get an off-the-shelf application. You can buy commercial applications, or, if your needs can be met with an open source application you could use that.

    The great thing about OSS is that you can use the application and you can staff a very small crew of developers to customize it to your needs. It's not re-inventing the wheel, and you still get what you want. I see this as a trend going forward.

    Of course, most of this applies to a larger company. If you have a small company chances are you'll need to buy a commercial app and be at the mercy of the company that produces the application.

    Custom software will always exist because every company is different. While you can change your business model to match the software, it can only take you so far.

    That's my thoughts on the subject.

    --
    - It's not the Macs I hate. It's Digg users. -
  70. Are you a coffee house? by ClosedSource · · Score: 2, Insightful

    The first thing you should think about before brewing coffee rather than purchase it is: Is our organization a coffee house? If you aren't a coffee house, what makes you think you can successfully brew coffee?

    Seriously, all companies do work that they are not in the business of doing. As is usually the case, you have to determine the best course of action on a case-by-case basis.

    1. Re:Are you a coffee house? by ScuzzMonkey · · Score: 1

      I would say it's more akin to growing and harvesting and processing the beans... you're comparing a thirty second process to something that even for small projects will take weeks or months, I hardly think it's an apt metaphor.

      But case by case is the only way to look at this, definitely. The largest problem in my experience has been that few people, either on the IT side or the management side of the business, have a clear understanding of what they really need, which is the crucial factor in deciding whether a COTS package will do or whether it's worth doing the development in-house. You have to know the business well enough to judge whether the processes can be realigned to fit the COTS' paradigm without losing competetive advantage. A lot of time, people think they can't, but it's frequently difficult to separate the actuality of the situation from the knee-jerk of an entrenched manager--they all want to say their division is special, their situation is unique, and they are of course in the best position to know... but are they being intellectually honest with themselves about it? It's often hard to say.

      --
      No relation to Happy Monkey
    2. Re:Are you a coffee house? by ClosedSource · · Score: 1

      "I would say it's more akin to growing and harvesting and processing the beans... you're comparing a thirty second process to something that even for small projects will take weeks or months, I hardly think it's an apt metaphor."

      It wasn't really intended to be a direct comparison. It was just pointing out the flaw in the argument that a company shouldn't do an activity just because it's not its primary business.

    3. Re:Are you a coffee house? by mpe · · Score: 1

      But case by case is the only way to look at this, definitely. The largest problem in my experience has been that few people, either on the IT side or the management side of the business, have a clear understanding of what they really need, which is the crucial factor in deciding whether a COTS package will do or whether it's worth doing the development in-house. You have to know the business well enough to judge whether the processes can be realigned to fit the COTS' paradigm without losing competetive advantage.

      Sounds like you are describing "Systems Analysis". Which is something which appears to have dropped out of fashion...

    4. Re:Are you a coffee house? by Hognoxious · · Score: 1
      Sounds like you are describing "Systems Analysis". Which is something which appears to have dropped out of fashion...
      That is *so* 1980s! Systems Analysis is obsolete. It was replaced by UML, didn't you get the memo? Or maybe it was XML, something like that anyway.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  71. Agreed by Bugmaster · · Score: 1
    The article author is right. Software has long passed the stage where programming involved art, or even craft; now, mass production is the mainstream. The software field has matured to the point where it has become mundane -- just as car manufacturing (Ford), cooking (McDonalds), music (MTV), etc. When you have mass production, it makes absolutely no sense to painstakingly build your own solution, where readily available, time-proven copies can be bought off the shelf for cheap.

    Innovation (the real kind, not the MS kind) still has a place in software, of course, but it only matters for software companies, and a few highly specialized scientific applications... Basically, innovation only matters for companies who are actively involved in some sort of research (software research, biology research, etc.). For regular companies, pre-packaged solutions for common problems (payroll app, office email app, company webserver, shopping cart, whatever) are much preferable.

    Think about it this way: would you rather build your own car from nuts and bolts, or grow and slaughter your own chickens for food, or sew your own shirt from textiles that you made yourself ? No ? Then why write your own software ? Unless it's purely for fun, of course...

    --
    >|<*:=
  72. [OSS] COTS seldom works by Anonymous Coward · · Score: 0

    "I've been in this game for nearly four decades, and seen the industry pendulum swing thru two complete cycles from all-custom to all-COTS."

    As part of that four decades. Did you ever see OSS play a role? If so did it mean that COTS still doesn't work?

    1. Re:[OSS] COTS seldom works by ColoradoRancher · · Score: 1
      Well, yes. OSS hasn't been a big player (in my work) until the past five to ten years. Although relatively new, OSS has been a saviour. Where I have the influence, I now require all components be GPL and that we GPL back everything we do. But, I don't have as much influence as I'd like, so I get to see plenty of non-OSS (=COTS or M$) failures occur ... at the expense of my stock and ultimately everyone's paycheck.

      So yes, OSS is great, and that's why I'm still in the game; if it wasn't for that I'd have bailed hi-tech in the 90s (and been a poor, but happy, rancher).

      To clarify my first post, I presumed the context of "COTS" meant the closed-source, must-be-licensed, commercial-off-the-shelf software. There's actually some open, GPL'd COTS and this latter category is just fine, IMHO.

  73. Experience with PeopleSoft by brindafella · · Score: 1

    I have watched a large organisation go through "hell on a stick" trying to make a PeopleSoft staff support product actually work. Years down the track and the human resource system is still over-promising and under-delivering.

    The number of work-arounds needed by the staffing practitioners is unbelievable. That is where the innovation lies.

    I suppose that I should not blame PeopleSoft too much. I can't remember actually speaking to any of their developers. However, it was probably the case that the sales talk had been so successful that the internal front-line people implementing the system had believed the pitch and then over-promised.

    What we practitioners saw was the basic PeopleSoft product having to be heavily reworked for months and then years to make it do the kind of thing our organisation needed to do, and know about itself.

    I kept wondering whether PeopleSoft had actually analysed our information requirement before tendering: I'm sure that our organisation would have explained its information requirement in tender documents, because that's how we do things.

    --
    Looking at space, radio, science and computing from a 'down-under' amateur enthusiast perspective.
    1. Re:Experience with PeopleSoft by Anonymous Coward · · Score: 0

      I kept wondering whether PeopleSoft had actually analysed our information requirement

      Doubt it. They probably just re-hashed their HR software to somewhat meet your needs. They did the same thing for software to manage university students. In their system students are referred to as "employees" and their course selections are "career paths". It sucks, but at least they charge millions for it :)

  74. are you a restaurant? by kpharmer · · Score: 4, Insightful

    > The first thing you should think about before deciding to develop software rather than purchase it
    > is: Is our organization a software company? If you aren't a software company, what makes you think you
    > can successfully deploy a software project?

    Right, likewise - nobody should make their own food at home: there are plenty of restaurants out there that can make it for you. Think about it - you can save $20,000 for the cost of a kitchen on your next hour - and then spend an extra hour a day at work instead of making dinner.

    Hell, why even wipe your own ass? Are you a programmer or an ass-wiper? You can probably find someone to wipe your ass for $20.

    Of course, there are benefits to sometimes doing this stuff yourself:
    - less likely to get screwed by a software integration company
    - ability to exploit internal agile methods, rather than being stuck with more expensive waterfall methods due to contract language limitations.
    - ability to build a solution that is exactly what you need, rather than forced to make do with a COTS app - that may be very different than what you need.
    - ability to ensure that your hamburger wasn't dropped on the floor
    - ability to ensure that your ass is wiped nicely.

    Of course, if you are going to do your own software development - it is essential that you understand the risks associated with this. Get a few really senior, experienced, and talented people. Don't even bother writing your own solutions if you just want to hire idiots. Of course, there's nothing revolutionary here either - don't skimp on talent in engineering brake systems either...

    1. Re:are you a restaurant? by murdocj · · Score: 1
      Hell, why even wipe your own ass? Are you a programmer or an ass-wiper? You can probably find someone to wipe your ass for $20

      Most people have a pretty good idea of how to wipe. The number of people who can successfully write software is pretty limited. You might compare it to "why should you hire an airplane pilot... why not just sit at the controls and cross your fingers"

      The problem is that it's really easy to hire a couple of hotshots fresh out of school who are just sure that they know java and websites so how hard can an accounting and inventory app be? A year down the road, you've got something that doesn't work. If you are lucky, your company throws it away... if you are unlucky, you use it, no matter what.

    2. Re:are you a restaurant? by Anonymous Coward · · Score: 1, Insightful

      "The problem is that it's really easy to hire a couple of hotshots fresh out of school who are just sure that they know java and websites so how hard can an accounting and inventory app be?"

      And this situation differs from software companies in what way?

    3. Re:are you a restaurant? by BigGerman · · Score: 2, Informative

      Gee where are my mod points when I need them?
      But seriously, the formula for success that I observed for many many years in the game is - custom applications built on OTS components/frameworks, preferably OSS frameworks.
      This gives you best of both worlds - good, custom solution and speed of development based on not reinventing the wheel.

    4. Re:are you a restaurant? by anopres · · Score: 1

      Of course, I've seen quite a few OTS accounting implementations go down the tubes, too. How many times have we read about some 2 year SAP implementation that had to be scrapped because the organization couldn't change it's culture enough to work with the program?

      --
      Strong Mad - 2008: "I PRESIDENT!"
    5. Re:are you a restaurant? by Art+Tatum · · Score: 1

      A (good) software company has skill at managing software projects and providing design, development, and QA with leadership born of hard-won experience. Granted, they can still screw things up. But they have a better chance than your local insurance office or gas company.

    6. Re:are you a restaurant? by Anonymous Coward · · Score: 0
      How many times have we read about some 2 year SAP implementation that had to be scrapped because the organization couldn't change it's culture enough to work with the program?
      How many times do we hear about the nes that went well?
    7. Re:are you a restaurant? by Anonymous Coward · · Score: 0
      Get a few really senior, experienced, and talented people. Don't even bother writing your own solutions if you just want to hire idiots.


      And there you have the cause of crap customized software. Its always one or a combination of the following:

      1) The programmer has known to code for a whopping 6 months (or less).

      2) The buyer wants custom software but wants it as cheap as he/she can get it

      3) The buyer really doesn't know what they need and leaves it up to the application programmer to know what they need for their business.

      4) Buyer barely knows how to use a computer let alone be able to verify the person they brought in can do the job.

      5) MS Access forms is *NOT* programming..

      6) Creeping featuritis... Gotta love it..

      I do custom apps with a team of very talented people (not to toot my own horn) and cannot believe some of the situations people have gotten themselves into.
  75. My business plan by Orion+Blastar · · Score: 1

    in theory we develop software, offer a "lite" version for free, maybe make it under an open source license. Make a "pro" version and charge money for registration, the "pro" version has more features than the "lite" version.

    If the customer wants a customized version, we can offer services to customize the software for them, at so much per hour. If they want to customize it themselves, they can purchase a license to do so and release it from our license and develop their own version of it for their own personal use, in that case they are responsible for the maintenance and upgrades, and we can share code with them.

    I am thinking of a BSD License to do this. The "lite" version being the core program, and the "pro" version having more bells and whistles, etc.

    The "pro" version can be the COTS product, and the "lite" version can be the OSS product, and the customized version the custom software product.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  76. A starting formula, feel free to optimize... by JohnRambo · · Score: 1

    Risk of Software Project Failure = ((NumberIncompetents/TotNmbrInvolved)x .4 + (1.0 - ($Invested/$ReallyNeeded)) x .2 + (1.0 - (DaysInSchedule/DaysReallyRequired))x .4) x ChangingRequirementsFactor

  77. Bad rep with custom software eh? by Kentsusai · · Score: 0

    Just wondering... is this bad rep with custom software based on projects before 2000?

  78. The reason custom software fails.... by russotto · · Score: 1

    Or _A_ reason, anyway, is that the customer insists on not changing their business processes AT ALL. The new software has to do everything the old system did, in the same way. And often this just doesn't make sense; either the very reason the customer wants new software argues for a different model, or other considerations argue for a different model. But the customer dangles the money in front of sales, sales promises, management dictates, the programmers write -- and what you end up with is a system which is extremely clunky and inefficient because it's basically simulating the old system (which wasn't good enough in the first place).

    With COTS, the customer doesn't have that option so they are forced to give a little. Of course the danger THERE is that the COTS software simply can't support what they want to do.

  79. take a lesson from the hardware people by convolvatron · · Score: 1

    instead of writing large monolithic things and then whinging that the vendor doesn't support some random feature, the hardware people have it much better off.

    i can buy 100s of different kinds of DACs, or adders, or crossbars, or .... in hard macro, soft IP, or discrete parts. i get to decide which parts i need to build, and which i can buy off the shelf. and when i do build something, a chip, a function, or a board, there are well-recongnized processes to make sure its going to work as expected, and effectively bound the schedule slip.

    in hardware, testing and schedules are not a joke. and every decision i make has to be justified economically.

    and in software...i can sell my soul to some huge ERP vendor, and end up with nothing. or i can fire
    up an internal software group and end up with ... nothing.

    the model is all wrong. its all about composition.
    for some reason we just haven't learned that yet.

  80. he didn't finish the line by cas2000 · · Score: 1

    > "When it comes to developing software today,
    > innovation should be a last resort, not a first
    > instinct."

    "When it comes to developing software today,
    innovation should be a last resort, not a first
    instinct - so buy your software from the company that doesn't innovate, my sponsor, Microsoft".

    IMO, this article is an indirect attempt to rebutt one of the advantages of free software - that a company can share the development of the non-differentiating parts of software development with other companies, and customise what they need for themselves in-house.

  81. Has anyone considered... by BlueBoxSW.com · · Score: 0

    That most off-the-shelf software products start their life as successful custom apps?

    From what I've seen, the life cycle goes like this:

    1) build something to solve a specific problem
    2) modify to solve a few problems
    3) modify to solve similar problems for a few different clients
    4) try to modify to make generic enough to sell
    5) lauch "off the shelf" package

    Of course most project die somewhere before hitting the 5th step, mostly for all the reasons already mentioned. I've worked on projects that have stopped at every stage, and also some that have made it to commercial success.

    I don't think I can recall a good product that started life as a commercial package that's been started in the past 5 years. Can you?

  82. Most developers suck by jmyers · · Score: 1

    The main problem I have seen is that a lot of people can talk a real good game but very few can actually develop useful software.

    I have been involved with COTS installations that failed and custom developed systems that worked great and vice versa.

    One system is not better than the other it is simply the skill of the people doing either.

  83. Off the shelf software isn't by Anonymous Coward · · Score: 0

    What this and other similar op/eds fail to realized (and unfortunately what more and more execs fail to realize) is that off-the-shelf software is anything but a boxed finished product. More often than not (there are exceptions) the product is a poorly architected skeleton that doesn't really fit the need it was purchased for. The "integration" projects are really rewrite and square peg round hole projects and in the end you pay 80% of the cost of building and only get 30%-50% of the functionality (or at least the functionality that was key to your business...lots of times you've got a bunch of useless extras). Buy does save money versus build, but it also fails to deliver MUCH of the time costs way too much for what it does deliver and results in regret costs are an order of magnitude higher with an off the shelf product.

    HR, CRM, Payroll, etc. (i.e. systems where there is no or little competitive advantage to innovation and you can gain a much higher functionality fit than the normal 50% or less because everyone does this stuff the same way) are excellent targets for that 80% cost reduction. Just be prepared to revamp some buisiness practices to match your new industry homogonized system.

    Though there are places for bought software in the end if it is core to your business for goodness sakes build it. Some of the best systems in the world are at investment banks. One of which I have intimate knowlege of has a constantly evolving software infrastructure that means they only build about 50% of any system and leverage the infrastucture for the rest. In their case they actually save money by building and they get an exact fit. To do this though you have to invest millions up front, which they did.

    As with most things there is a place for both and both are good at different things. Just be aware that Mr. IT Doesn't Matter has an agenda to sell business books to big time C-Level execs so the more outrageous his claims the better and more guru-ish he sounds as long as they contain just a kernel of trough that he can use to show as examples of why he is right. Like everything else caveat emptor.

  84. All of that and more. by khasim · · Score: 1
    It's about the requirements -

    #1. Did they even bother to collect them?

    #2. From the people who actually do the work?

    #3. While they were doing the work and not just what they could remember during a meeting?

    #4. Did they collect them over time? Some things happen:
    every day
    every week
    every 2 weeks
    every 1/2 month
    every month
    every quarter
    every 1/2 year
    every year

    #5. Did they do a sanity check of the information they've gathered?

    #6. Did they do a sanity check of how management wants to handle the data? (From TFA:
    A McDonald's program called Innovate was even more ambitious - and expensive. Started in 1999 with a budget of $1 billion, the network sought to automate pretty much the entire fast-food empire. Software systems would collect information from every restaurant - the number of burgers sold, the speed of customer service, even the temperature of the oil in the French fry vats - and deliver it in a neat bundle to the company's executives, who would be able to adjust operations moment by moment.
    Why would the executives be concerned with the oil for the fries? It's called "delegation".

    #7. What are the legal requirements?

    #8. Have you documented the reasons why you did something the way you did it?

    #9. Have you documented the reasons why you are not providing certain functionality? This will come up in the future. Feature creep always happens.

    #10. Have you evaluated commercial products and documented why they weren't sufficient?

    Doing requirements is a LOT of work. But if you don't know what you need, how will you know how to build it?
  85. Vendor Dependent Death Marches VS Open Kaizen by NZheretic · · Score: 1
    Having been involved in a couple of in house enterprise projects and having spoken to dozens of local developers on the subject of failed and successful projects, IMHO the three major reasons for large in house software project failure are:
    1) Starting a project from scratch staffed by only inadequately experienced developers;
    2) Changing members ( managment and programmers ) in projects that have failed to fully document the project;
    3) The Vendor Dependent Death March : When in house projects are dependent on proprietary vendor specific APIs/functionality then the project is almost guaranteed to fail when dependent vendors either fails to deliver or changes/breaks the API used.

    IMO the latter vendor dependent death march is the the major outside factors for the failure of large software projects. In most cases, in house development teams just cannot keep up with the vendor brand-new-innovative-reason-to-upgrade "features" of each release.

    Larger in-house projects take around one to three years to mature, and need around a seven year window to recover the ROI. Porting existing software to the vendors new system often takes more effort than the development of the original software ( pity the Visual Basic coders who have to upgrade millions of lines of VB to VB.NET ).

    One solution to the Vendor Dependent Death March is to build upon stable vendor independent foundations, augmented with open sourced software.

    Over the two decades one api set has remained relatively constistantly implemented by all OS vendors : POSIX. Linux and all of the Unix based systems implement native APIs that follow the POSIX standard closely, and some offer fully compliant libraries as an add on. The Linux standard base also offer a cross vendor foundation.

    The above solid foundation can be safely augmented using open source licensed software, by being rebuilt in house so that it runs from subdirectories of the project ( /opt/[organization]/[project]/[package] ). The distribution/OS Vendor can then ship conflicting versions of dependent packages without it breaking the project code. The in house developers can then test and port to the new version at their leisure.

    Vendor dependent user interface systems are fickle and often are the braking point for many failed in house projects. The solution is to build client/server code that uses a standard browser interface or use a standard GUI networked interface that has remained backwardly compatable to application written back in 1986: The X[11] Protocol. You can have a X based application running on a server sitting behind an internal firewall and it will run productively for over a decade. Every OS platform has multiple vendors who supply X11 client side servers, this is one interface that is futureproof.

    When interfacing with any changeable or vendor specific system , build a connecting system that runs as standalone binary ( or plugin DDL ) that sits between the project code and the application/library. Future developers can quickly hack the independent module without touching the base project source code. This strategy has saved my sanity a number of times.

    If at all possible ( subject to NDAs ) develop as much of the code as possible as an open source project. Even if only a couple of other individuals or organizations end up deploying software from the same base, it will give your developer and managers feedback from outside developers who often more free of the inside office politics to give a more honest opinion on the quality of the source code.

    1. Re:Vendor Dependent Death Marches VS Open Kaizen by dbIII · · Score: 1
      If at all possible ( subject to NDAs ) develop as much of the code as possible as an open source project.
      This removes hassles when the company changes its name, splits chunks off or gives a computer system to another company working with them on a project. I have one machine full of very expensive software that is no longer licened, since while computers are tranferrable the software isn't.
  86. Not so sure that's the main point by ZakMcCracken · · Score: 1

    The article, which is quite short, is more about the commonality of large software project failures than about the COTS / custom software debate. The author is talking about projects worth $170M; everybody knows that in this range, the project cost comes mostly not from licenses of "COTS" software but from implementation costs anyway!

    In fact, COTS doesn't really mean "off-the-shelf" when you're talking about software like SAP for which every $1 paid in license fees must be complemented by $2-$5 in implementation cost / consulting!!

    The rate of failure of these big projects largely qualifies the software industry as "immature".

    Sure, there are other industries for which going overbudget or late is routine. Take the construction business, for one--and that's one of the oldest trades, so it is not really a question of maturity. 20 centuries from now, chances are builders will still always be late on schedule and overbudget. But at least, in general, you have a roof and four walls when you spend $170 million on a building!

    Not so with software, where such large projects are trashed one after another--or even "smaller" corporate projects in the $1-$2M range. I think that's still amazing.

    I would attribute this to the computer illiteracy of many of today's executives; not wanting to look like they don't know jack about technology, they gobble in vendor bullshit and are afraid of asking even the "dumb but obvious questions"! They should, and then they should keep that money for something else!

    Btw if some big-ass corporate exec out there wants to give me another couple M$ for nothing in return, feel free.

  87. Re:Sounds like a management problem...AGAIN. by symbolic · · Score: 2, Insightful

    So now we had 30 people thrown at a project, only one of which REALLY loved the work.

    I love reading stuff like thie. If you remember the age-old adage, "Garbage in, garbage out," the results shouldn't be any surprise. The company has, or hires inept management, who then has or hires inept employees, and somehow out of all this chaos expects some kind of magical force to take over and produce something great. It doesn't happen.

    Before a company beings lamenting over a bad experience with custom software development, they sould really focus on how much they contributed to the problem. Before they even begin, they should ascertain how much they are willing to contribute to a positive outcome. There are so many ways a software project can be derailed, and I'd guess the inability to manage it effectively is one of the most prevalent.

    Also, I can't help but wonder...how many of the people, OTHER than the one who loved his work, had four-year degrees?

  88. Oracle will be supprised to hear .. by Anonymous Coward · · Score: 0

    that their off-the-shelf "E-Business Suite" was custom developed by Ford.

  89. Famous for mediocrity by 0x15 · · Score: 1

    Isn't all software custom, by definition? Carr has again demonstrated his stunning lack of perception by treating software as a product. I'm sure this forum, as well as FASB, recognize that software is better viewed as a service (recorded procedures) or as a knowledge system. Adam Smith's vision of perfect capitalism with the associated low margins is prevented by adding value. Adding value adds margin. The struggle is to obtain competitive advantage. This is often done in mature industries via better systems and better market knowledge with quicker response to c hange. Carr's vision would have us all running SAP/Oracle (after their merger) and driving those stupid Minority Report/tron-esque Lexus with only CxO's making any money.

  90. It doesn't matter. by BVis · · Score: 1

    I was looking for an appropriate post to reply to to state this observation, and this one will serve as well as any.

    We can all sit behind our keyboards and debate the merits of COTS vs FLOSS vs whatever.. but at the end of the day, it's all moot. The problem is that when an enterprise is in a position to make a decision of buy (and customize) vs. develop, the people making the decisions will be the ones least qualified to do so. Selecting critical business tools is not a trivial undertaking, and it involves non-trivial amounts of money. And ultimately, fixed initial and recurring costs (in addition to politics and personal connections) are what make these decisions, not the merits of one approach vs. another.

    And IMHO this is where FLOSS is at a disadvantage. Your average CEO (and, sad to say, most CIOs) don't even know about open source. You say "open source" and they'll ask you how a computer thingy can have an open sore. Even if (hypothetically) there are significant advantages to an open source strategy, the effort required to get the people who sign the checks to understand the concept of "free" software is frequently far above the ability of most IT people to make. (If they're even given the chance; most executives cannot think in terms of value, they can only think in terms of cost. And if it's free, it can't possibly be any good.)

    As an example, let's say Acme WidgetCo needs an inventory program. Vendor A has a solution that meets 80% of the company's needs, and the product costs $100,000. Vendor B has a solution that meets 90% of the company's needs, and the product costs $150,000. Vendor C has a solution that meets 50% of the company's needs, and costs $200,000. Developing the software in-house to meet 100% of the company's needs would necesitate the hiring of additional staff and consultants, at a cost of $125,000 over the development cycle of the product.

    Vendor C will get the contract, in defiance of all logic, because Vendor C's CEO plays golf with Acme's CEO.

    Merit has nothing to do with this decision. Politics and connections make these decisions. The people who do the actual work just have to clean up the mess, and the company rewards their hard work with poor performance reviews because the software is complete crap, even though no amount of effort could make it otherwise. Sadly, this is considered a benefit because it keeps salaries down.

    --
    Never underestimate the power of stupid people in large groups.
    1. Re:It doesn't matter. by museumpeace · · Score: 1

      ...the people making the decisions will be the ones least qualified to do so. Selecting critical business tools is not a trivial undertaking,...
      Thats a bit broad but I [and, reading the comments, many of us] have experience that supports the generalization. I expect that where this trend of weak technical insight on the part of those signing the PO hits the hardest is in government. For examples, consider how the FBI had to scrap its "Emporer's new case management database" system from SAIC as the job approached the half billion $ mark. Or the way they dropped their "Carnivore" email sniffer, citing the availabity of sufficiently capable COTS products. On the other hand, the DOD funded research lab where I work has suffered a noticable throughput/productivity problem in several areas, especially hiring and purchasing as they struggle to replace their departmental patchwork of COTS and homebrewed enterprise integration [and that is naming it VERY generously] with SAP...POs for contractors drag out for months now. Its not just the chiefs that don't get it...sometimes its the indians and you gotta weigh your buy/make decision by considering how hard each choice will be to use when put in the hands of the workers.

      --
      SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
  91. This is FUD by illest503 · · Score: 1

    As part of a company whose services include providing custom applications, I rankle at the article's implication that custom software is rarely worth it. This over-broad conlusion is simply wrong.

    Granted, if you run on a cookie-cutter business model, you can use COTS for everything you do. But if you're going to do anything innovative business-wise, well-implemented custom software can be crucial to your success.

    The author seems to want to scare people away from custom software by citing the flushing of millions of dollars by corporations on poorly-executed projects. Admittedly, at that scale, you'd better be clear on where you're going and how you plan to get there. Custom software generally provides better value the smaller it is, and the more specific it is to a clearly-defined business problem.

    At smaller scales (i.e., not funded by multi-million dollar corporations), custom software can and usually does succeed. It can also succeed at larger scales, and has...the article just doesn't cover the success stories.

    Furthermore, if you are a funder of custom software development, making sure you own the code that is produced for you means that your investment can be salvaged when the developer blows chunks. Open Source platforms tend to fit well with this model of vendor freedom.

  92. The common COTS trap by rollingcalf · · Score: 1

    Company buys COTS package.
    Company realizes the COTS doesn't do half of what they need it to do.
    Company builds a customized hodge-podge of scripts, glue, interfaces, and translators, around and on top of the COTS. If they're lucky it will sort of work for what they need to do.

    Result: the worst of both worlds. The labor and time costs of customized software, with the inflexibility and vendor-dependence of COTS.

    --
    ---------
    There is inferior bacteria on the interior of your posterior.
  93. Simple decision: Strategical vs.Tactical by Anonymous Coward · · Score: 0

    If a system or service is strategic to your business then build it. If it is tactical, then buy it.

    Ford's supply system is tactical. Amazon's feedback system is strategic.

  94. Telco Software by starrsoft · · Score: 1
    Here's my story:

    I work for my Dad in the family business. We have our own piece of customer software that is coded in VBA in MS Access (I can see my karma dropping) .ADP front-end for MS SQL server. It keeps track of nearly everything in our organization. All our customer's contact data. Their BTNs/WTNs (Billing & Working Telephone Numbers), their SSNs... We scan in all the paper applications and they are attached to customers' accounts. We have a reminder list. The whole system is tightly integrated with the various carriers we work with. With one carrier, a click of a button will automatically log the user onto the carrier site and one more click will pull up the current customer's record. With another carrier, I made an auto import feature from a CSV spreadsheet. It is, of course, only a click away. Recently we started our own calling card. I spent about 1.5 days and now we have a billing system. Recently I totally automated the commission report and commission checks process that we send to our sales reps. It used to take 4-5 hours by hand. It exports the checks to Quicken. I did all the coding in 2 days. I could go on and on.

    I cannot imagine finding any off the self software that could do what our piece of software does. (I know it's MS based, but it gets the job done efficiently; the boss'd (my dad) never let me go to Linux for desktop environments. He resists the idea of using a Linux box for a firewall. We paid $700 for an industrial strength off the frickin shelf firewall which crashes all the time and disconnects our VPN users.) Whenever a new business opportunity or wrinkle comes up, we can implement it easily and efficiently. You must think at this point that we are a big corp. Nope. I am the sole full time employee. Dad works in Communications part time (he has multiple businesses) and we have another part time girl. We have a lot revenue/profit because of residual commissions from 15,000 customers.

    If this were a poll, I would vote custom software.

    --
    Read my blog: HansMast.com
  95. the vast majority of custom solutions suck by jamej · · Score: 1

    Every single custom solution we use is terrible. Further, their upkeep seems to be a bridge to far. A few years after they go online they are out of date with no hope of getting someone to spend their life reworking it. Star office, Microsoft office, SQL, almost anything out of the box open source or not is better than a custom-built-just-for-you solution. I agree with the premise.

  96. I'm the first one to advocate technology by defile · · Score: 1

    But some things are just better done low tech. This guy had a point, but he lost it in suggesting commercial software.

    I keep business cards. Computerized address books are just too cumbersome for me to integrate in all of the places I want them to be available. Eventually they fall out of sync and become an annoyance to deal with.

    I pay bills by check, the checks are written out in ink. I don't set up direct debit with my vendors since errors are such a PITA to address. I use ink to fill the checks out because I don't want to maintain check writing software. Seven ring binders were the greatest discovery of 2003 for me.

    Financial records are all kept on paper. Syncing income/expenses to a computer is tedious. I used to scan invoices but that got tiresome and I didn't want to maintain scanners or scanner software. Now I have file cabinets, with files in it. The files contain invoices and other records. I can pull them up pretty quickly, and it breaks up my day to get up and fetch them. :D

    I keep about an equal number of note files that I edit with vi, and notebooks that I fill out in ink. About the most high-tech thing I do in business is ssh into a shell account to check my mail and update notes.

    I'd rather call someone on the phone or have a secretary do the typing over sitting down and writing some email. Directing someone by phone takes 30 seconds. Writing an email usually takes much longer, and is much higher latency feedback.

    Most commercial software is mind-bogglingly complicated. Many custom software projects try to emulate the design of commercial software. Both, are, I think, a collossal waste of money because the complications and frustrations in dealing with them are more expensive than the problem they address, and that the problem often has a low tech solution, or a better mixed high/low tech solution.

    Prefer to print documents out because ensuring that I always have a device that can read their electronic form wherever I can take the stack of paper with me is an annoyance.

    Used to have a PDA but found them to be unfulfilling.

    Used to have a phone that had sophisticated features and camera but stopped caring and now look for simplest one.

    I'm 24.

    1. Re:I'm the first one to advocate technology by SharpFang · · Score: 1

      I keep business cards.
      Once a month I make my wallet 50% thinner by removing all the non-essential stuff like business cards, receipts etc. I put them in a bag and stuff it in a locker in my room. It usually takes 1-2 hours to find something there, luckily I hardly ever need to.
      Maintaining 800 entries in an electronic medium is easy. Do the same with business cards.

      I pay bills by check, the checks are written out in ink.

      Time to fill in an online form of internet banking - 4 minutes.
      Time to fill in a cheque - 2 minutes.
      Time to log in/ log out of the system: 1 minute.
      Drive to the offices of the corresponding service, wait in queue to hand over the bill and cheque - 40 minutes.

      Financial records are all kept on paper. Syncing income/expenses to a computer is tedious. I used to scan invoices but that got tiresome

      Now find an invoice from 6 years ago, where all you remember is second part of the company name...

      About the most high-tech thing I do in business is ssh into a shell account to check my mail and update notes.

      My boss would do that. But he was the first to get accelerated gfx card and fastest CPU for his computer. Never made use of them.

      I'd rather call someone on the phone or have a secretary do the typing over sitting down and writing some email. Directing someone by phone takes 30 seconds. Writing an email usually takes much longer, and is much higher latency feedback.

      Find the number and dial it - 20s. Wait for autoresponder to put you through to the operator (you don't know the ext). 30s. Talk to the operator: 10s. Wait for the person in question to pick up the phone: 10s. Talk: 30s. Say good-bye and hang up. Remember you had something important to add. Repeat all of the above, except talking will take 5s. Then at 4AM realize you probably didn't make yourself clear enough and the guy will screw it up. Actually he screws up because he didn't remember what you say.

      Now find the email in addressbook - 5s. Click "compose", type in your message - 40s. Reread, fixing typos and checking if it's all clear and understandable. - 20s. Stop to think if you said all you were to say was said and add whatever is missing (15s). Click "send". Now the guy prints it out and has for a clear reference.

      Most commercial software is mind-bogglingly complicated.

      True. So get some of the minority (commercial or not) that does what you want efficiently without too much overhead.

      Prefer to print documents out because ensuring that I always have a device that can read their electronic form wherever I can take the stack of paper with me is an annoyance.

      For me it's annoyance to retype, rewrite, xero, carry around, search through the files...

      I'm 24.
      I'm quite a bit older than you.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  97. Dumb article! by AstroDrabb · · Score: 1
    I am not trolling here, but this was a really bad article. It was written by a PHB type for PHB types.

    The reason most large projects fail at large companies is because of PHB's. The business people with very little technical knowledge are the ones who make projects fail. If I was the head of a big corporation, I would go out and find the biggest geek I could find and make him/her the CTO.

    I am and have been a senior programmer at two fortune 500 companies. I have seen projects fail. The number one reason is because of non-technical people making technical decisions. We have had countless times where PHB's have mandated a product because of some savvy sales person and had nothing to do with how it would actually enhance our IT infrastructure.

    Personally I think large companies should be "component oriented". They should develop most stuff in-house, yet look to third party vendors for pre-packaged components. The Java framework and the .Net framework, (both of which we use where I work) are perfect for a component market. There are tons of plug-in components you can use in Java and .Net projects to speed up development without handing the whole project over to a third party. IMO, Java has a little advantage over .Net in the component market. While they are both big and thriving, the Java market is a little larger and you can find a lot more Open Source components that can help save costs. Though both Java and .Net will not let you down for a development framework.

    Does anyone remember the /. article about Walmart's IT department? They are the largest company around (much bigger the MS), and they do all development in-house. Their IT department must be a great place to work. Walmart has total control over their _own_ IT. Now I am sure Walmart buys third party products. I doubt they wrote their own operating systems, office suites or databases. However, I bet what they do is look to the third party market for components that will make their development faster while allowing them to have full control over their own IT infrastructure.

    The fortune 500 company where I work is fragmented in this regard. In our IT department, we have sub-departments that work on different types of projects. Some of the departments have PHB's that just want to buy every "solution" from a third party. However, most of the time those "solutions" don't work because they don't fit in with our business practices and wind up dying or costing a lot more money to get them to work. Luckily I work for a PHB who was a former Cobol programmer (yeah, I know, I know, but at least he has knowledge of the development process). My PHB usually wants us to program our own solutions and maybe buy some third party components if they could speed up development.

    I think the author of this "article" has no clue what he is talking about. He suggested that business change their business process to "fit" the third party solution. I guess he never worked at a large company. I have worked for two and the current one has 140,000 employees. It takes ages for changes to take place. It is just not practical for a large company to change their business processes. That is why, IMO, that the best approach is _custom_ in-house development with third party components to help speed up the development process.

    --
    If Tyranny and Oppression come to this land,
    it will be in the guise of fighting a foreign enemy. -James Madison
  98. Open source off the shelf at Sourceforge by MichaelPenne · · Score: 1

    Is what we've found the best for many purposes. The problem with custom software is that the users often don't really know what they want before they try it out, meaning many of the hours of development time working from a project description/requirements document are lost as the users realize that what looked right 'on paper' doesn't really meet their needs. The problem with off the shelf closed source software is that the users spend many hours reforming their needs to meet the limits of the software, and often have little influence on the company to get changes made. OSS off the shelf offers the benefits of being able to try a working product out before you 'buy' it to find the one that most closely meets your needs and then the ability to modify it so it really does meet your needs (and you can always do a cost v benefit to determine what areas changing practice would be more efficient than changing the software. The best OSS for this are ones with a solid modular api that allows new features to be added as modules without changing the core.

  99. Harvard? Figures... by Yea-but... · · Score: 1

    Just where does this 50 lb brain think these COTS products came from in the first place! If you can buy something that does what you need, fine. This guy is saying that everything has been written or basically, everything has been invented... so why don't we just close down the US Patent Office... we all done. Get real. Of course you shouldn't build custom word processor these days, but I can't begin to believe we're done writing useful, cost effective, software applications. The fact that there are a lot of piss poor software engineers and program/project managers out there that can't engineer or manage as well as they can dream shouldn't be a surprise. That there are government organizations like the FBI that can't either, well that's another shocker too, isn't it... NOT! Custom Software isn't the problem, and COTS isn't always the answer.

  100. More wrong you could not be by MichaelPenne · · Score: 1

    Try a simple search at http://sourceforge.net/search/ for Oracle, for instance (try LDAP, AD, 'web service' J2EE, and so on.

  101. So how does this in ANY way argue FOR COTS by Anonymous Coward · · Score: 0

    "He cites the example of Ford scrapping a custom built software solution for buying supplies."

    Umm, the Ford example scrapped and Oracle-based customization for its "original custom-written" application:

    "Ford spokesman Paul Wood today confirmed ... that Ford had decided to unplug its Oracle procurement system...and collapse its purchasing processes around its original custom-written, mainframe-based applications. We completed an evaluation ...and made the decision to transition back to the proven, current system, Wood said.

    It's now Ford's intention to migrate any relevant new features from Everest to its legacy system, using in-house development staff. "

    So how does this in ANY way argue FOR COTS? Duh.

  102. A timely question for me... by Cataclysmus · · Score: 1


    I'll preface my opinion by saying it depends on the type of application, the skillset & passion of the internal developers, and most importantly: how the internal development project will be managed!

    I agree with others that if the application performs a generic function, such as ordering parts, that it may be best to go with an open source or COTS solution. But custom development can work wonderfully for the unique needs your company has.

    I work for the engineering department of a major telecommunications provider. Development used to be handled by individual local markets who hired their own software developers & innovated with their own software ideas. I'm talking about industry specific things and processes that differentiate us from our competitors. Many of the local developers were quite competent & produced successful apps that people used and LIKED!

    Yes, this arrangement had the drawback that each market was doing things their own way and sometimes duplicating work on the same concepts. But development was quick and responded to the changing needs of the business.

    Just as the developers across the country started to discover each other and coordinate their projects on their own, the company decided it was time to pull all developers under national management as an Engineering "Support" Group. The original 11 developers were added to a ridiculously large org chart of 200 people, mostly managers with various titles. Development was the tiny box at the bottom.

    If they had focused & directed the efforts of the existing developers in an efficient way, they could have turned out much larger and more robust applications. Instead, our internal customers now wait as long as 2 years for an application that could have been developed in 6 months or less. The opinion of the support group is negative, and the customers are reverting to hiring local people to do development under the radar just so they can get what they need.

    I think the problem is that they added too many layers of the wrong managers. First, very few of them knew much about software development when they were brought in. Second, a majority of them were brought in from outside the company and had no knowledge of how we did business. Therefore, we lost our biggest advantages.

    So now the developers, who used to work in the local markets alongside the engineers and who know the business, have no influence on which projects we do or how fast we can get them done. We're a tiny cog in a large machine. And we are openly disregarded as a function they would like to outsource anyway.

    Don't misunderstand. I believe we needed to have centralized management. But I often feel that if they started with the 11 of us and added only minimal extras: technical writers, testers, and a small management team, we would have magnified the effectiveness of the original eleven.

    --
    Shane
  103. A tale of two by BCW2 · · Score: 2, Insightful

    In High Point, NC there are two companies that illustrate this issue.
    Henreddon Furniture: Needed to improve their DB. Brought in Oracle and spent 18 months with an Oracle team fitting it to their business. Kept adding bells and whistles and went bankrupt without ever putting the Oracle solution in production. Bad planning by bad management? Absolutely. They never knew when to stop adding features and just do what they started. Wasted close to $5 million.
    Culp: Still using programs written by in house development team. Some of these were originaly run on an S36 IBM and now run on an AS400. All software has been written, maintained and upgraded/updated in house. This is one of the very few textile companies based in NC to still show a profit consistantly in a very depressed industry (due to foriegn competition).

    Why anyone should believe this: I had two instructors at the local Community College, one was on the Oracle team at Henreddon and went back to school for his PHD after the collapse, instead of moving halfway across country for the next job. The other is the head programmer at Culp and teaches at night. They know what they are talking about. One common theme: Spend the most time in planning, set the boundries, parameters, etc, then write code. Once codeing starts no changes should be allowed (by management) until the test stage.

    --
    Professional Politicians are not the solution, they ARE the problem.
  104. My opinion... by ioctl · · Score: 1

    ...is that the only truly successful development projects are the ones which engineer the software and the processes at the same time. I've seen this first-hand several times, and have seen evidence of it in many other cases where I did not have direct access to the development effort. It really doesn't matter where the software came from (COTS, outsource, in-house, etc.), just that the processes are engineered at the same time.

    Another thing I have observed in my region is that most heavily technology-using companies of 150+ employees will employ a software person on-staff (maybe with a dual role on help-desk or the like). Used properly, this is a great formula for successful projects as the in-house person can make the determination (in concert w/ the employees affected) as to how to develop the software.

  105. Re:It doesn't matter.-Baby Geeks by Anonymous Coward · · Score: 0

    So basically you just made the argument for geeks to go into managment. So why aren't you? I'm sorry (no I'm not) that the reality is that geeks are shunning managment (read calls the shots), and then whining that everyone else isn't doing what the geeks want. You all want "control"? Well there's only one way on this planet to do so, and that's work for it. Acting surprised that others are acting in their own interest is simply being naive (like you guys don't. Double naive).

  106. Any project can be bungled by HermanAB · · Score: 1

    whether it is Free, Open, Taxpayer funded, Private, Public, whatever. The FBI could not even do a document handling program right and Microsoft Windows is still full of bugs... ;-)

    --
    Oh well, what the hell...
  107. Plug-ins and Macros-Gang development. by Anonymous Coward · · Score: 0

    Well let's see. Plugins, Macros, Clearly defined and stable APIs, proper layering and compartentalization, written in a language that's customizable. Open standards all the way. Sounds like OSS. Now all one's left with is the inertia that all FOSS faces.

  108. Re:Third option-- light customization of open sour by Anonymous Coward · · Score: 0

    Proprietary vendors will continue their assault on FOSS solutions, reason and logic be damned. They have to, their survival depends on it. How many times have we heard "Free software might be o.k. for X, but it's the wrong approach to Y."? Pure FUD. It was o.k. in the server room, but never on the desktop. Well gee, looks there's some momentum on the desktop these days ... but _wait_, the datacenter just won't work out.

    Here's news: the datacenter is also under assault. Those multi-million dollar boondoggles Learjet Larry Ellison and his ilk promote are becoming increasingly difficult to justify. Don't expect them to bow out without a fight, though. They know they're in mortal danger, and they're gonna fight like hell to prop up the value of their increasingly worthless paper money.

    I really have no idea what the hell this guy is talking about "off the shelf software". What? Word?! "Don't write a word processor yourself." Gee, that's a revelation. There's certainly no justification anymore for entangling yourself with proprietary bullshit, though. Datacenter apps? I've never seen one that comes in a box. They come in a whole bunch of boxes, and require an army of consultants to install, customize, and deploy. And for some reason those dang consultants just never seem to want to leave.

    No really, I'm baffled. WTF is this guy talking about - "off the shelf software"?

  109. COTS vs Custom-A Flasy entrance. by Anonymous Coward · · Score: 0

    FLEX, Laszko, XUL+JS is the future of Web apps. We may even ditch HTTP, and go with XPP (Jabber) for those who really need the response of a local app. As far as clean interfaces? Should one really be depending on limitations for doing a proper job?

  110. This does not always apply by adam872 · · Score: 1

    In the industry I'm in (Oil and Gas), the science is evolving all the time. Many major oil companies employ PHDs to come up with new algorithms and analysis techniques to give them a competitive advantage, not only in prospect evaluation, but also in optimising recovery from the reservoir. This technology, whilst available off the shelf, is considered core business (obviously). Some packages in the marketplace just don't do exactly what the likes of (particularly) Shell, XOM etc want in some cases. Thus, they write their own. They often end up being bought and brought to market by the likes of Schlumberger, Landmark or Paradigm, but in some cases the tech started at a producer. I also found this to be the case in the financials industry. Workflows can be so different across organisations, that the one size fits all approach doesn't apply.

  111. my experience by timmarhy · · Score: 1

    in house vs boxed. boxed - won't do everything you want, ever. it also has no possible chance to be modified to do what you want exactly, since it'll be closed source. it also won't be much cheaper. it's only advantage is it's done here and now. in house - you must simply hire a decent programmer/team, or you can end up with lemons.

    --
    If you mod me down, I will become more powerful than you can imagine....
  112. Apply the innovation to integration, not to parts by TigerNut · · Score: 1

    If you need a time tracking application, and part of the answer is a database, then use a COTS database, and custom forms as required. No need to write your own database engine. This is an example that's come up at one of my past employers - they bought a hideously expensive all-custom time and parts tracking system that required consulting $$ to develop each access menu, and it was such a piece of sh!t that we ended up getting one of our guys that had done some database dabbling on the side to create an app with equal functionality and much less overhead (not to speak of the cost) using an SQL database and some Borland Builder front-end pieces.

    --

    Less is more.

  113. Ahh peoplesoft by MichaelPenne · · Score: 1

    We have been wasting millions trying to get it to work, what fun!

    All the restrictiveness of COTS with all the quality and support problems of custom software, it just doesn't get any worse than this.

    Rememeber, you don't really need ad hoc searching, and having a shadow system (that actually returns the data you need) running alongside your PoS "database" is good for you.

    On the bright side, we now know for sure where Dilbert works!

    Ellison would be doing a FAVOR to PS's poor clients if he chucked the whole thing tomorrow!

    1. Re:Ahh peoplesoft by Anonymous Coward · · Score: 0

      > we now know for sure where Dilbert works

      More likely Pac Bell.

      http://www.unitedmedia.com/comics/dilbert/news_and _history/html/about_scott_adams.html

      Or was it Crocker Bank? " in a number of humiliating and low paying jobs"

  114. One word ... WalMart by Anonymous Coward · · Score: 1, Insightful

    Walmart is the killer app of inhouse IT. Any industry which uses computers can and should develop a competative advantage with custom software. Any one who uses COTS software in an area where some competitive advantage could be derrived is just giving that away.

  115. Carr: If I Only Had A Brain by Anonymous Coward · · Score: 0

    Once again the truth becomes self-evident: those that can, do; those that cannot, teach; and those that cannot do either write uninformed opinions about what the other two are doing. Carr is a clueless twit whose lack of real-world experience is painfully obvious.

  116. $2 Billion (CAD) failure: Canadian Gun Registry by Anonymous Coward · · Score: 0

    The $2 billion (CAD) Canadian Gun Registry system fiasco makes the $170 million FBI software failure look like a walk in the park. ($2B CAD works out to $67 CAD for every Canadian). It's good to see the the Americans keep their government accountable to its citizens. In Canada it is the complete opposite - this type of project is commonplace - and what is even more alarming is that the Canadian voter keeps re-electing the same politicians that created this mess in the first place. A classic case of getting what you deserve.

    The following text explaining the problem is an exerpt from this website:

    And why were there cost overruns? "From the start of the business process and technological development of the CFP, EDS and SHL Systemhouse (subsequently acquired by EDS), responding to requirements defined by the CFP project management, performed a large number of changes (1997-319 changes; 1998-310; 1999-474; 2000-415; 2001-260; and, 2002-112) leading to a CFP technical solution that had rapidly evolved from seemingly straightforward to very complex."

    In other words from the beginning the IT companies controlled the whole process, they provided the hardware, developed the software and data processing, and maintained control over it leasing it back to the government. Every time a change was made a charge was issued, driving up the operational costs of the CFC and the CFP. The costs were in the millions, and the government still did not own the hardware, software or data, this was still the property of the IT company.

    And the reason these costly changes were required? "The Canadian Firearms Registration System information technology was modified several times before and after licensing and registration began in December 1998. The technology was developed in parallel with repeated changes to Program forms, rules, and processes and before legislation and regulations were finalized. The Department stated that the complexity of the system increased unnecessarily because many of the design assumptions were invalid; the system was intended to capture detailed information about firearms for criminal investigations and process licence and registration applications; however, the information needed for criminal investigations was well beyond the administrative needs of the Program; and small changes, such as modifications in data entry on a form, required major changes in the whole system because of its size and complexity, and these changes typically took three to six months to implement at a cost of millions of dollars."

    So the Justice Department created a system that was not just simply about Canadian registering their guns but also an attempt to track gun ownership for police purposes. This was the underlying problem with the IT program. And they left the creation of this overly complex database to EDS and SHL Systemhouse. That system instead of being adaptable became a very expensive white elephant.

    "In 2001, the Department told the Government that the three-year-old Canadian Firearms Registration System was not working well; its technology was expensive, inflexible, out-of-date, and could not be modified at a reasonable costs to support future operations. Construction and maintenance costs of the existing system were exceptionally high and without radical change, these would represent over 60 percent of future operating costs. This would be significantly higher than the industry norm of 10 percent to 20 percent."

    Refer to the website above for more details.

  117. 95% sucks by Skapare · · Score: 1

    95% of commercial off the shelf software sucks.

    95% of custom developed software sucks.

    I've had to deal with both, and it was very tempting to switch the other way when dealing the some of the absolute crap that gets programmed. So whoever is saying one particular kind of software is bad was probably dealing with that kind of software most recently.

    The conclusion: 95% of developers (analysts, programmers, project managers) suck.

    The solution: hire the other 5% regardless of whether you need something special developed in house or are developing the next greatest commercial software.

    --
    now we need to go OSS in diesel cars
  118. From what I have seen, in-house software by PotatoHead · · Score: 1

    is pretty lame.

    The top problem happens to be planning and specification. Many of these companies, that I have worked with, are willing to pay in-house staff to solve computing problems, but are not willing to pay for the proper planning and specification process necessary to get good solutions in the end.

    The result is many projects being a quick hack that get added onto until it's one big mess.

    Failure to plan and properly understand their own processes hurts any software though. If these mid-sized companies decided to go with a packaged solution, it's likely they will continue the same mistakes, unless they are willing to bear the cost of changing business to match the software (at the expense of their potential competetive advantage) or are willing to let the implementation people actually do their thing, they will not see the returns the package promises.

    OSS has serious potential in this area. IBM knows this and it's paying off. Success will remain elusive until the core problems of planning and specification and process understanding are solved.

  119. This has not one thing to do with COTS-vs.-custom. by UhhhClem · · Score: 1
    I've spent nearly 20 years selling COTS systems to the government.

    You know what? The government screws up the process of buying and implementing COTS software every bit as thoroughly as they screw up the process of building custom software.

    Mr. Carr's op-ed piece notably fails to mention salient facts about the event that occasioned it. Why did the FBI cancel a $170 million electronic case-management system? "Um...because they should have bought a COTS system!"

    No. If Mr. Carr troubled himself to read the NYT's article on why the project got cancelled, you can't see it from his piece. Topping the list: difficulties in getting disparate entities to come to agreements on how the sensitive information they collect should be shared.

    Does this sound like a problem that could be better addressed by buying COTS software? No, it does not. And it isn't.

    Does it sound like a problem that should have been resolved before, say, spending money on software? Why, yes, it does. It sounds like a mighty important stumbling block. And yet it wasn't.

    This situation has nothing, not one little thing, to do with COTS-vs.-custom.

    Absolutely nothing in the story of this system's cancellation surprises me, nor any of my colleagues. It's exactly like the California DMV's cancellation of its $70+ million system upgrade back in the late 1980s. Or the upcoming cancellation of their $250+ million California Case Management System for the courts. (That one may take a couple of years, but watch for it. It's coming.)

    The government's process for procuring enterprise software is deeply, fundamentally broken. (I shouldn't say "the" government; my experience encompasses county, state, and federal governments in the US, as well as provincial and federal government in Canada.)

    Watch carefully, for instance, to see who at the FBI is going to lose their jobs for misspending $170 million. Hm, could it be...nobody?

    How can this be? How can it be nobody's fault that $170 million of your money and mine got flushed down the toilet? The answer is: it's nobody's fault because from day one the project was structured so that when it failed it wouldn't be anybody's fault.

    Here, for the benefit of Mr. Carr, is the difference between the FBI buying a custom solution and the FBI buying a COTS solution: If the FBI had bought a COTS solution, they would have spent $170 million on licensing, configuration, and implementation. Then they would have cancelled the project.

  120. $380m software project cancelled by mveloso · · Score: 1

    I remember hearing about some next-gen health care software project at Unum. They blew $380 MILLION dollars on it, and canned it before it was anywhere close to being done.

    I'd think that after the first $15 million they would have realized it was impossible for them to actually design, much less create, a cost-effective piece of software.

  121. Managers, good managers by zoftie · · Score: 1

    People citing having in house development team, but they don't cite truism, managing programmers is like herding cats. There are managers that can energize coders with storm of cheap nerd-gets, etc etc. Keep them cranking code. Most of the time COTS does look like better solution, because in hindsight custom solution looks as hard, but then you have to deal with unruly programmer. Well, to have good product you have to justify manager and at least 2 programmers. Programmers shall be happy working with small team size where they will have less of social geek life too.

    I general its not that COTS is better or worse, its just managing and being responsible for team of coders is harder to absorb then having relationship with COTS over support phone line.
    From perspective of PHB.

    2cents of mine to you

  122. And if they stopped wasting money... by nazzdeq · · Score: 1

    on that crappy software and improved their cars
    their competitive advantage would be ten-fold.

    Why should Ford's be any worse than Mercedes, BMW, Hondas or Toyotas?

    Stop building crap and starting kicking some ass.

    -Nazz

  123. Dialogue between an in-house developer and COTS by crazyphilman · · Score: 1

    COTS Salesman: "So, I'm here to show you how you can save money by firing all your developers and buying commercial off the shelf software".
    In House Developer: "Fire who? What?"
    CS: "If you'll look at this first powerpoint slide..."
    IHD: "Woah, stop, hang on there. What was that about firing all the developers?"
    CS: "Let's not get bogged down in specifics. As you can see by this diagram, by buying COTS instead of developing your own software, you can save bundles of money which you can then spend on executive compensation packages."
    IHD: "Ah. I see what this is about."
    CS: "Good! Glad you're on the same page. Now, I don't know what YOUR compensation package is like, but if you're like the manager at the last place I demoed this at, you'll really love this stuff. Are you ready to make some cuts?"
    IHD: "You have no idea."
    CS: "Excellent! So, ok, you can lease this set of packages here for a low, low price of... Ah, you have a question?"
    IHD: "If I buy those packages, I own them, right? With source code? Open source?"
    CS: "Uhmmm... No. They're proprietary. And really, you don't buy them, you lease them. It's all in the EULA."
    IHD: "Lease them? Like with a car?"
    CS: "Exactly! Like with a car!"
    IHD: "Meaning that I have to send in car payments forever, but I never get to own the car, they can take it back whenever they want by claiming I broke an agreement, and if I drive too much they charge me extra and hit me with fees?"
    CS: "Well, maybe not exactly like with a car..."
    IHD: "How is it different?"
    CS: "We don't hit you with fees if you drive too much!"
    IHD: "So you admit you can take the software back whenever you want by pretending we violated the terms of an agreement."
    CS: "That's not what I meant! We wouldn't do that."
    IHD: "So you'll put that in writing?"
    CS: "What was that?"
    IHD: "You'll put it in writing that you'll never revoke our rights to the software, even if we break an agreement in your opinion?"
    CS: "We can't do that!"
    IHD: "Like I said, it's like a car lease."
    CS: "Nevermind, let's move along."
    IHD: "Not TOO far, I don't want to get hit with fees."
    CS: "Very funny. Ok, in this slide, you can see how much... What now???"
    IHD: "What if something goes wrong with the software?"
    CS: "You call tech support."
    IHD: "You mean wait on hold for six hours, and end up talking to some Indian guy who doesn't even speak English, only to have him read off a script he barely understands and end up not helping me at all?"
    CS: "Yes! NO! Dammit, what's your problem?"
    IHD: "I don't have the problem. Maybe you have a problem. Your pitch really sucks."
    CS: "You won't let me GET to the pitch! You keep asking me these dumb questions!"
    IHD: "Oh, so I'm DUMB now? You get a meeting with an exec and you call him dumb?"
    CS: "I didn't mean..."
    IHD: "I'm calling security. If you're not out of the building within two minutes, I'm going to have the big boiler room guy from Alabama tell you what purty lips you have."
    CS: "Ok, Ok, I'm leaving..."

    A minute later, out in the hall...

    The Executive, Late for the Meeting: "OH, hey, Nelson... What the hell are you grinning about? Shouldn't you be debugging or something?"
    IHD: "Oh... Nothing, I just had a very productive meeting, sir. I'm on my way back to my cube."
    TELFTM: "Well, get a move on. Say, did you see a vendor around here somewhere?"
    IHD: "The guy in the grey suit?"
    TELFTM: "Yeah, that's him."
    IHD: "He called up and said he couldn't make it. He says we're not worth his business, too small a fish. I asked him what he meant, and he said some disparaging things about you, sir. I took the message if you want to see it..." (hands over a post-it note).
    TELFTM: "I see... Oh, well, his competitor is coming tomorrow around Noon. Always another fish in the sea! Wait - how did you know he had a grey suit?"
    IHD: "Uhhhhh... He SAID so. Well, have a good day!"
    TELFTM: (grumbles something unintelligible).

    (LATER)

    IHD: "Yes, I'm calling for Mr. Thompson, about his meeting tomorrow at 12? It's been bumped up to 11:30. Yes. No problem, I'll meet him at the door myself. Thanks, miss. Goodbye."

    A developer's work is never done!

    --
    Farewell! It's been a fine buncha years!
  124. COTS vs. BUILD by fivizzano · · Score: 1

    I have never seen a real ! major COTS "customization" project either: 1. be on time for delivery 2. cost what the "big name firm" analysts said it would 3. be actually doing what was advertised 4. and finally be actually stable-serviceable-extensible at least not in 15yrs experience in designing sw for mostly for Telcos. Generally mgmnt hides behind the "COTS=less risk" factor and at the same time COMPLETELY IGNORES the tech staff's reccomendations, generally this produces far more deployement disasters than any custom development (at least in the tlc world, especially in GSM-UMTS)

  125. Incompetent Management Cancellations by Anonymous Coward · · Score: 0

    The track record of incompetent managers cancelling engineering projects part way through because they're incapable of comprehending the ups and downs of the engineering process really really is that bad. It's management cancellation that causes the doom of the majority of failed software projects.

  126. Crappy web interfaces are possible in Flash! by brodin · · Score: 1

    >To me the greatest strength of web-apps isn't ease of deployment. It's that is forces developers to write simple interfaces.
    If you want to make crappy interfaces like the old days you can always use Flash! Everything old is new again! Again!

  127. to COTS or not to COTS by Anonymous Coward · · Score: 0

    In my companie we have learned the hard way.
    standard products are good for standard problems but nothing can beat own software if it is written by people they use it.
    Basicly we moved to OSS because we could change it the way we NEED it (and feed it back). Buy software and you are stuck in the way THEY think you should run a business.
    The next think is that comercial software has its own problems. Are you a large companie so you have the power to let THEM make changes ? most times not. additional they tend to drag in other COTS software (Databases etc) but its often poorly used and the burden of managing is still your own.
    COTS means you have some to blame ? forget it. read the contract (or EULA) and they will show you its all your fault.
    The lost of (programming) skill is the next price to pay. unfortunaly you will notice the problems only when the skills are gone and you stuck in the crap you bought not even noticing what crap it.
    COTS is not a genie of the bottle, it is an easy solution for the unwarry. programming is more than using a software.

  128. Reuse and share vs. Reinvent and hoard by Per+Abrahamsen · · Score: 1

    If you resuse software, you will be able to benefit from other peoples experiences. In a business case, you will be able to hire people with prior experience.

    If you reivent the software, you will have to make every mistake yourself.

    You may have to make changes to your organization and how you work in order to reuse software. So what? How is this different from any other tool? If you are unconfortable to adapt your organization to a changing environment, you are going to crash and burn in the marketplace anyway.

    The only advantage of custom software over traditional COTS software is that you keep the control of your infrastructure within in your own organization. However, with free software you can keep control, while avoiding to reinvent the wheel.

  129. It very much depands on the application by plusser · · Score: 1

    As somebody whom works in the Aerospace industry, Commercial Off The Shelf products are getting a very bad name - why ? - Product support and reliability.

    If you create a product that relies on fully commercial product, you are open to the whims of that product manufacturer, irrespective of whether it is hardware or software. Many of these products have a lifespan governed in a few years at best (and in the case of mobile phone product 6 months), but the average life of a commercial jet airliner is 25 years, and the life of a military jet is 40 years.

    If the vendor calls you product obsolete, or goes bankrupt, you may have an even bigger support issue. On a commercial jet, you have to support any electrical product for the rest of its service life. You are not going to re-qualify an old unit because the software has to be updated by spending big money, and the aircraft operators aren't going to be happy with big bills because you've chosen the wrong type of software.

    Also, if the vendor writes software that shows up to a have a vulnerability, it they have stopped supporting the product, you are sure going to have to pay for the support ($2 million per line of code, if you can get it of course, they might not be interested in your business anymore). Believe me, as a Component Engineer, we go to great lengths to ensure that we get still use 15 year old microprocessor families, as we are not going to get the software re-written without huge expensive.

    In essence we are talking about the attitude of non-engineering people that don't see the benefits or long term cost savings of using in house software for specific applications. If they want to get on an aircraft run on Windows XP, it's up to them. I'd prefer not to have a crash due to poor product support thank you very much.

    Perhaps these people should talk to people such as the Component Obsolescence Group (www.cog.org.uk), and then they might think again about their bright ideas.

  130. Agree: whatever happened to KISS? by hughbar · · Score: 1

    Yes, I believe the COTS versus build-it discussion misses the point in some places.

    Here in the UK, we are about to spend between £2.3 and £18 billion for new IT infrastructure for our health service. One of my colleagues has already pointed out that the US went to the moon for less than this. This project is already in trouble because of issues around process and user acceptance, these are not COTS vs in-house issues.

    What, on earth costs this kind of money? What on earth costs $170 million? Health service IT has already abandoned a £100 million email system leaving a £10 million tip on the table.

    Keep it simple stupid, with good prototypes that model processes and provide good insight to the -real- problems and benefits are often very valuable. Also, I suspect that these spending figures can be reduced by a factor of 10.

    Not in the interests of Accenture, Cap-Gemini, EDS etc. though.

    --
    On y va, qui mal y pense!
  131. COTS's by pt99par · · Score: 1

    The projects i have been involved in has allways used one or two 3rd part components and even though we delivered the software we were not 100% happy with the results. When we first started using them all seemed find but as we used them more and more we discovered that they did not really match our requirements. So from now on i will probably still use COTS but im going to be very careful when selecting them. I think the best way is to make a requirement list of what type of component is needed and then select one that fits those requirements best. After that it is probably best to build a prototype to test those requirements. Relying on 3rd party components is a risky bussiness but if you use them with care they can save u some money and time.

  132. meaningless by Bill+Dog · · Score: 1
    ...only 16 percent were completed on time, on budget and fulfilling the original specifications.

    For all I know, the other 84% simply weren't budgeted correctly.

    More than half of the cost overruns amounted to at least 50 percent of the original budget. Of the projects that went off schedule, almost half took more than twice as long as originally planned.

    So what? What if costs and time where 10 or 100x over what was estimated? These aren't absolute numbers, they're deltas relative to some dubious baselines. The implication is that nerds suck, but maybe it's the mba's that don't know how to realistically budget software projects?

    --
    Attention zealots and haters: 00100 00100
  133. COTS vs. in-house by whitroth · · Score: 1

    COTS: for simple things (backups, etc), *if* it hasn't been limited (or management hasn't paid for the full version, or let support lapse), it's not bad.

    For things vital to *your* core business, if you don't have the source, you *will* have disasters and losses, a few of which will cost far more than the software you paid for.

    That being said, there's also the problem of PHBs - upper management who keeps changing their mind while the first release is being worked on, then gives both fuzzy specs and utterly unrealistic deadlines (unless, of course, they have live-in programmers who work 15 hours a day, every day), Then they don't want to pay for what they get - they won't hire good experienced people and managers; instead they'll hire someone with a bunch of certificates who has little RW experience, much less success.

    Whose fault are so many failed in-house projects? Upper management, who never took a technical writing course, and so have no idea how to scope a project, and not ask for the moon on a dollar and time budget for an oil change.

    mark

  134. Mod parent up! by TheLink · · Score: 1

    A building typically gets screwed up not because you buy bricks off the shelf or you make them yourself.

    Often the actual need for such big projects is to help a big bunch of people keep their jobs and/or make a big pile of money because "something needs to be done". Even if that "need" has some real basis, the usual main consideration is how that bunch of people can keep their jobs and/or make a big pile of money.

    BTW, take a look at the Iraq project... Whether it's COTS or custom, doesn't make much of a difference to the people who are getting screwed/killed.

    It could make a difference on who's getting the money though. And that's probably the only difference between COTS or custom that counts for the decision makers...

    --
  135. Being the same by oldITManager · · Score: 1

    Using the same software and processes as the competiation will only make a company the same as their competiation. To be really innovative these days, companies need to be able to change processes quickly. This means that their software has to change at the same speed. No longer can companies wait for "the next release" to get a new feature. Any supplier (particularly tier 1 as we are) to Ford will know that Ford has ALOT of custom software. It has taken them years to develop an integrated/cross Divisional system. They have not scrapped the legacy systems, only web-enabled them. The link to the "everest" article even shows that Ford is going back to a legacy app. I was the decision maker in my organization to decide for SAP R/3 back in 1995. It was the right decision at the time. However, these days, the COTS software can not respond to changes fast enough to support the business. It is bulky, hard to configure and costs a bundle (license as well as support costs). IF a company wants to truely leapfrog its competation then it will have to switch to software that supports its specific processes, software that can change as fast as the business changes. The way to do that is to use the open-source philosophy and methods. There are too many rules about development and use of software these days. Its time to get IT (and the business departments) back to the basics of supporting what is needed to support the customer and business partners. We have to get away from Supporting companies like Microsoft and SAP. IF they can support us then well and good.. If not, there is a better way for those with the courage to ignore the consultants and take the less traveled path.

  136. People who do actual work aren't qualified by BVis · · Score: 1

    So basically you just made the argument for geeks to go into managment. So why aren't you?

    Because I do actual work. Geeks aren't "shunning" management. The reason most geeks don't go into management is because they lack the skill set needed to manage, or indeed to get the opportunity to do so. When HR is hiring for a management position, they look for business or management courses in one's degree, or previous business or management experience. The set of people who have these people management skills AND technical knowledge is extremely small. Even if a geek were to obtain a management or executive position they would soon find themselves alienated from the group if they tried to change the culture towards selecting technology based on its merits rather than the process by which it's selected now (politics, expense, who you play golf with, etc). Managers/executives who don't play the game find themselves on the bench very quickly.

    Upper management finds themselves threatened by what they don't understand. In their own self-interest they will prevent people whose practical knowledge exceeds theirs from moving up the corporate ladder. Ultimately a lot of these decisions are made by the beancounters. Try as you might, it's nearly impossible to move from IT to accounting, nor would you want to.

    Until the establishment finally wakes up and realizes that they CAN'T run their business without IT, these decisions will continue to be made by those least qualified to do so. IT managers and CIOs can argue until they're blue in the face in favor of one strategy or policy, and more often than not their recommendations are completely ignored. As a consequence, we have the current prevailing business computing environment: entire enterprises taken down by 30 lines of VB code, spyware infesting 95% of business machines, Microsoft holding multi-billion dollar companies virtually hostage to their bugfixes, and IT departments blamed for all of it, when their recommendations would have prevented the majority of the problems.

    The situation is this:
    IT: "We should do A, because if we do B, problem C will happen."
    Management: "But I don't understand A, so we'll do B."
    Time passes..
    Management: "Problem C is happening! It's your fault! Fix it!"
    IT: "It's not our fault, you ignored our advice and bought B instead of A"
    Management; "You're fired."

    --
    Never underestimate the power of stupid people in large groups.
  137. Seminar on Linux COTS Strategies in Los Angeles by Anonymous Coward · · Score: 0

    Glenn Flinchbaugh, Director of Wind River's Linux Program, will be speaking at SCALE 3x on the topic of Linux COTS Strategies. At Wind River he is responsible for coordinating product strategy, and engineering for their Linux offerings.

    Glenn will discuss how the Linux COTS strategy enables telecom equipment providers to reduce costs and time on platform development and maintenance. He will detail the Linux-based COTS advantages that the end-user telecom firms realize, including greater openness and flexibility in the development tools; the greater range of architectures supported; and the appeal of open-source software availability.

    SCALE will be at the LA Convention Center on February 12th and 13th, 2005. For a discounted conference pass use the promo code "NEWSP" or for a free exhibit hall pass use the promo code "FREE"

  138. 'MS likes to call "viral" ' by Anonymous Coward · · Score: 0

    Like my car, that asian people like to call "red".

    Dude, my car is red. It's not the asian people who make it red, It's the red paint, and it's not MS that makes GPL viral. It's the nature of how the license works and applies itself to anything that is intended for distribution that touches [e.g. so much as links with] code it contaminated.

    Whether that's a good or bad thing and for whom is a different story altogether. GPL is wonderful, but that doesn't make it any less viral.-

    1. Re:'MS likes to call "viral" ' by k12linux · · Score: 1
      GPL is wonderful, but that doesn't make it any less viral.

      Viral implies that it can somehow infect your code without any action on your part. That's BS. The claim also generally implies that your code is forever tainted. Again... complete BS.

      First, to *infect* your code you have to actually steal GPL code and put it in your program. Yes, some libraries are under the GPL and using them requires a license too.. but you are still using someone else's code without authorization.

      Before someone says that you have the right to use the code because it's free, hold on. Remember the GPL is a license to use the code it covers. More accurately, it gives you authority to change the code and distribute it. Without a license, you have no rights whatsoever to use the code somebody else wrote. (That's true whether it's Microsoft or the guy next door.)

      BUT, like most licenses, there are restrictions. In the GPL's case, those include restrictions include requiring you to share changes you make. But perhaps the most important thing to keep in mind is that if you don't steal someone else's code and put it in your program you don't have to worry about the license... GPL or other. The GPL doesn't even try to restrict you from using the code however you wish in your organization... just don't try to distribute a program containing others' copyrighted work.

      "Code forever tainted" - This one is BS because you have a few options to make things right. 1) Make all of your code GPL. 2) Stop distributing your code to others. 3) Simply remove the GPL code from your program. 4) Work out some other type of license with the person/people you stole the code from. (Because if you don't have a valid license that you are obeying, you have NO right to use their code at all.)

      Only the first option cause your program to somehow become GPLed. If you say that you can't remove the GPLed code, then I guess that it's a major part of your program and apparently you wouldn't even have a viable program if you hadn't taken someone eles's code. And if you took someone else's code, you better be prepared to license it legally from them if you want to use it.

      Obeying the GPL restrictions is an easy way to fix a license violation but it is not the only way.

  139. Re:Third option-- light customization of open sour by einhverfr · · Score: 1

    Datacenter apps? I've never seen one that comes in a box.

    Hmmm... if "box" is synonymous with "computer," I am sure the consultant will preinstall it for you so it will "come in a box."

    Proprietary vendors will continue their assault on FOSS solutions, reason and logic be damned. They have to, their survival depends on it. How many times have we heard "Free software might be o.k. for X, but it's the wrong approach to Y."? Pure FUD. It was o.k. in the server room, but never on the desktop. Well gee, looks there's some momentum on the desktop these days ... but _wait_, the datacenter just won't work out.

    Funny-- we provide open source solutions for desktop, server, datacenter, etc. No problems. A number of successful deployments (though currently our largest database deployment is our own).

    --

    LedgerSMB: Open source Accounting/ERP
  140. Middle Road by 4of12 · · Score: 1

    Carr makes a good point about overamitious projects that attempt to manufacture a grandiose kitchen sink that are wont to fail due to ever-accreting feature requirements and neglect of how resulting growth of complexity can hamstring a project.

    But, too easily does he suggest that using COTS software solutions are the way to go and that businesses can modify their business processes to fit to the software.

    All businesses don't make widgets, so trying to fit them into COTS software like a Procrustean bed could ential more pain and suffering than pursuing a middle road, balancing standard COTS components that are interoperable, simple and adaptable with a small amount of customization.

    --
    "Provided by the management for your protection."
  141. Build vs. Buy by cratermoon · · Score: 1

    Recently I received a copy of a memo forwarded by a CIO strongly in favor of moving towards buying applications over custom building them. While I can't reprint the memo here, I can speak to some of the points it made and respond to them from an alternate perspective. The memo summarizes one case study within the company of what is portrayed as a successful acquisition and implementation. The application is based on a vendor product and customized in-house to a limited extent. The case study asserts the benefits of the buy decision over three areas -- the technology, the cost, and quality.

    In the memo, the author says that a system used by the business is based on a commercial application and claims 90% of it is standard and 10% is customized. There's no detail to justify that number, but suppose the software does 90% of what the customer needs. Left unmentioned in the memo is how much of the application is useful to the customer. In other words, what additional features and complexity is the business paying for with the application suite but not using? It's unlikely that 100% of the features of a commercial application are used by any one customer -- but can the business say it is using even 50% of them? Is that cost effective?

    While the vendor's support may help keep the business current with technology, how much are the vendor updates just a way to keep the upgrade treadmill running? How often does the vendor introduce an update where none of the new or changed functionality is useful to the business? What is the cost of being on the vendor's development schedule, and how disruptive are upgrades? Worst of all, what happens when the vendor eliminates a feature that is key to the business?

    The memo asserts that there is a significant cost savings to purchasing vendor-supported applications, because the costs of development are spread across all the customers. That's a bold assertion, but looking closer, to what extent is that cost savings eroded by the additional cost of features which are developed but not used in the business? Is the total cost of the software, including those elements useful to the business and those that are not, really less than a solution tailored to the business?

    Typically, vendor-supplied software includes install and configuration wizards and GUIs that are more extensive and more polished than what is developed for in-house software. This is driven by the need for customer to be able to implement the system without in-depth expertise. While there is certainly value in those kinds of features, are they worth the additional cost? They are primarily an example of the kind of additional development done that is not directly attributable to customer business needs. If those features are of value to the business, why doesn't the in-house development process reflect that value? If the purchased software is perceived as better-tested and more robust than in-house developed software, those cost of those aspects is surely included somewhere in the purchase and support price. Again, if these aspects are valuable enough to enter into the purchase decision, why doesn't the in-house development reflect this value?

    All but the simplest COTS software will need customization. While is impossible to accurate assess how much, it is possible to determine what portion of in-house resources go towards needed customizations versus integration with other systems. If the integration is complex and problematic it can take time and expertise away from providing business-critical customization. If the users go without their needs addressed because everyone with any expertise is struggling to make the software talk to the rest of the systems, where is the value in that?

    A critical aspect of vendor application customizability is a powerful, well-documented, flexible and stable set of APIs that allow the customer to modify the behavior of the software without introducing incompatibilities and dependencies that cause problems in later upgrades. The question to as

  142. OTS vs COTS - delete the commercial, declare war by oo_waratah · · Score: 1

    I realised the problem with this article is that it is actually wrong.

    We want to use off the shelf solutions that are best for our business (or person) whether they are commercial or not. I believe that CPAN is the best off the shelf solutions available today in a clear easily searchable fashion. I want to use this because it is good software (mostly) and it works. It is not commercial so it is not COTS.

    Declare war on the COTS phrase, it it OTS!