The first step when thinking about migration of your software to understand and define the reasons for the migration. The various options that need will need to be evaluated in the context of these reasons. In our experience, the common reasons for a migration are:
Vendor lock-in: Traditional commercial software is usually closed source. This leads to situations where your business ends up depending on the release cycles and response times of the vendor providing the Software. A big limitation of closed source is that you cannot customize or add features without buying expensive consulting services from the vendor. Another problem arises when vendors have their own proprietary standards and do not use an industry standard or protocol in their product. In these cases, you might want to migrate from this vendor to those who provide source code with their Software or to those vendors who follow industry standards and make it easy to switch vendors in the future.
Performance/Scalability: Your application might not have been designed for today’s load. The hardware on which it runs might not be able to meet the performance demands. The Software might need to be re-architected to support the changes in business and customer usage.
Reliability/Availability: The system downtime that used to be acceptable might be hurting your business now. The costs due to handling support issues and manual intervention due to the unreliability of the system might drive you to migrate to a more reliable solution.
Extensibility/Adding New Functionality: Your current system might have evolved over a period of time with new features being added that might be imposing a huge burden on its maintenance and adding a new feature might be getting prohibitively expensive. You might want to migrate it to a solution which is extensible so it becomes cheaper to add new functionality in the future.
Usability: Your current solution might be causing revenue drains because it is difficult to use. You might be spending a considerable amount of money on training your employees on the system. You might desire to migrate to newer user interfaces (e.g. web-based using AJAX) to speed up your business processes and increase your profitability.
Integration and Interoperability: An application rarely works independently of other Software. There are various integration points with other Software for reasons such as process efficiency (e.g. single sign-on), business reasons (mergers and acquisitions) etc. In such cases, usually a complete migration is not the optimal. Software bridges, re-architecting the application to service oriented architectures (SOA) is more suitable.
Obsolete technology: Software technologies move at a rapid pace and technology gets outdated fast. When the vendors stop supporting the technology, migration is forced on to you (e.g. some Visual Basic to .NET migrations fall under this category).
Cost: Reducing costs is a fairly common reason for migration due to various business causes such as cut throat competition, rising software licensing costs and total cost of ownership of the Software. Migrations from proprietary Software to free open-source Software fall under this category.
Changing market dynamics: Customers expect your solution to be current with the latest market dynamics. For example, instead of a shrink-wrap product, the market is moving towards Software-as-a-Service (SaaS).
Wednesday, July 2, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment