Following our discussions earlier in the week on the pros and cons of packaged applications, the ‘build versus buy’ debate rolls on. Whether it’s ERP, CRM or other solutions for dealing with core business requirements, we’d be interested in gathering a bit more information on where you are today and how this is changing. So, if …
...this is going to depend on business type. If you've got in-house expertise, you're better of building very specific things yourself rather than bodging an of the shelf package. Conversely, if you have little development experience / expertise, you should probably avoid trying to outsource (see government IT projects).
Lock-in / vendor survival is outwieghs everything else on the questionaire
Without source code and a license to modify, compile and distribute, any proprietary software is an invitation to lock-in or problems when the vendor ceases to support their product. I will pay for good software if I am certain it will be maintained - by myself and other users if necessary.
While I'd have to agree, I'd also have to add a major caveat.
If you already have to software development skills in-house, then it's fairly safe to assume that there's a pre-existing reason your hired them in the first place.
Our in-house development team is up to their eyeballs in projects already. I am very reluctant to consider a proprietry solution if there are ready made ones available, because our team MAY find time to build the initial solution, but maintenance overheads can very quickly run wild with feature creep, environmental changes, and of course, the unexpected.
You only need look at the the number of corporations stuck using the massively insecure ie6 because their dev teams don't have time to update their intranet.
I found the survey difficult to answer because in my experience the issues attributed to 'custom' and 'packaged' applications tend to bleed into either catagory. We have a large number of software 'packages' that are so niche, they may as well be considered custom.
The same can be said for in-house developed solutions. One of the first things our senior software developer learned was that reinventing the wheel is a completely counter-productive waste of effort. If there is a well established and supported API out there that does what you need, use it, even if you think could possibly do better.
It's an exciting time for us, as our flagship product is approaching its' 1.0 build, and will become commercially available. This would have not been possible with such a small development team on this timescale, if we were not using the Visual Studio .net environment.
Say what you will about the overall .net system, but the IDE is widely acknowledged as the best in the industry. I'm already expecting a plethora of trolls who a) are not serious software developers, and b) have never tried to use the IDE.
The next iteration of our flagship product will be using a fully 3D interface. Originally, this was going to be done using OpenGL and a great deal of custom code, because we already had sound/spacial testing software using this pre-existing code. But even with massive investments of time and money, such a solution would pale in comparison to the benefits of using directx.
The final nail in OpenGLs coffin was hammered home last month with the release of DX11. The biggest feature being a standardised API allowing coders to write General Purpose GPU code.
It's a no brainer. DX is used by the whole PC games industry, and every GFX card manufacturer is scrambling to support it. With that kind of universal support, we really don't need to worry about comppatibility or driver issues.
Software development has become so complex, that the only way to make any progress is by standing on the shoulders of giants.
Is there really a debate?
I am a developer and I really don’t see there is a debate. If there is package out there that does what the company needs for a specific task, you buy it, if not then you HAVE to make it. It is very rarely that a package available will be more expensive than developing your own. Of course THAT can be the case and then you have to ponder on speed of implementation and "adaptability".
As I see it, is not a question of which is better in general, is more about 2 basic things: 1) Do I have the choice to begging with?
2) Do I REALLY know my needs?
But this is not a debate. Is an analysis…
- Asteroids as powerful as NUCLEAR BOMBS strike Earth TWICE YEARLY
- Got Windows 8.1 Update yet? Get ready for YET ANOTHER ONE – rumor
- Patch iOS, OS X now: PDFs, JPEGs, URLs, web pages can pwn your kit
- Sony Xperia Z2: 4K vid, great audio, waterproof ... Oh, and you can make a phone call
- Pic Tooled-up Ryobi girl takes nine-inch grinder to Asus beach babe