Most people, when they think of "software", think about the applications that either came with their computer, can be bought in a store, or can be downloaded from the Internet. For many, this is all they need.
However, some people need software that can do more than "general-purpose" offerings. There is a wide spectrum of special-purpose "packaged" software available. Packaged software can range from utilities that perform a single task well (such as printing labels) to applications designed to handle all the needs of a company in a single industry (e.g. insurance, real estate etc.). Most people not satisfied with general-purpose software should be able to find a specialized package to meet their needs.
However, there are some people who can't find what they need amongst available general-purpose or packaged software. If you find yourself in this group, you may be a candidate for custom software development.
Software development is complex, and also correspondingly expensive. Widely-used applications like Microsoft Office and Intuit Quickbooks take thousands of man-hours and millions of dollars to develop. However, since they are general-purpose programs designed for a wide audience, millions of copies are sold, allowing amortization of development costs even with a low per-copy price, typically in the hundreds of dollars.
Specialized "packaged" software is often limited to a niche market, so its potential audience is much smaller - perhaps from thousands of copies down to as few as dozens. The per-copy price is much higher, often in the thousands, up to hundreds of thousands of dollars.
Custom software has only a single customer - you. In many cases you will have to bear the full cost of any development you specify. This tends to make custom software development the most expensive of the three options. If you're contemplating this, we recommend that you very thoroughly research available general-purpose and packaged applications before proceeding. We can help you define your needs and research the available options if you're not comfortable doing so yourself.
Custom software development can range from relatively minor modifications of an existing package, all the way through to full custom development. Examples of the former may be adding a custom report module to a packaged application, or modifying an accounting application like Great Plains or ACCPAC. This lets the new development build on an established base, reducing cost and saving time. Another approach is to integrate two or more packaged products, such as Microsoft Word and Excel.
The great advantage of full custom development is that the software can be built to work exactly the way you want. Even if you are in an industry that is well-served by packaged software, you may feel that custom software can give you a competitive advantage that will offset its cost.
There are several downsides, however. Besides relatively high cost, it takes time to build software. It may take many months to complete a large project, whereas a typical packaged application can be up and running shortly after purchase. Usually, a packaged product has been in use for some time and has had most of the bugs ironed out, as well as having good support options and (often) a user community. A packaged product may be in its second or third generation and may already include useful features you may not have considered using in your business or incorporating in your custom software development specifications. Also, in some cases it can be advantageous to use "industry standard" software, if you have to report to a common authority or exchange data with other companies in your industry.
If you're interested in custom software development, please contact us. Various financial arrangements are possible, such as "co-development". With co-development, the client pays a reduced development fee. In return, M3 retains copyright to the finished product and may resell it to other companies in your industry.
Another area sometimes overlooked is maintenance of your full- or semi-custom software. With experience in several commonly-used programming technologies we're well placed to enhance or debug your applications. In short, we can help you get more value from your existing data and programs.