It's always a difficult time for a business when a valued software developer leaves - taking their knowledge of your critical applications right along with them. Not only can this cause a disruption in the ongoing development of any projects this person was working on, but it also makes support of your existing business apps infinitely more complicated than it should be.
But at the same time, employees will come and go - such is life. You can't necessarily assume that every ASP.NET software development professional will stay with your organization indefinitely. You can, however, help mitigate risk from that inevitability by enlisting the help of a team as opposed to an individual. That team can be created cost-effectively by choosing a dedicated development company to work with.
Of course, that's just one part of your software development continuity strategy. If you truly want to gain the highest level of IT development continuity for your most important applications, there are a few key things to keep in mind.
Keeping your source code on one programmer's computer with no backups is a mistake for an unfortunately large number of reasons.
As outlined above, that person could always leave - taking that information right along with them. Likewise, if that device crashes or gets damaged in some way, the source code is gone - and there's very little you'll be able to do to get it back.
For the best results, the best place to keep ASP.NET source code is off-site and securely in a software repository. GitHub is one option, but there are many more to choose from depending on your needs.
You also need to make absolutely certain that you have total control over your intellectual property at all times. Many organizations have hired external consultants to write an application, only to eventually have a disagreement and fire them. The danger here is that if you do not have the ASP.NET source code or perhaps even the rights to it, you'll essentially be starting from scratch. Many a business owner has let a developer go only to find out 6 months later that the new developer says there is no source code on the server. What’s on the server is the “compiled version” so the web application is actually running. But to modify it in any way, the original source code is needed.
Businesses always need to have standard intellectual property ownership agreements in place with every contractor they work with. These agreements must confirm that the code is owned by your company, not the contractor. The agreement should also specify that no other company's intellectual property can be used in the current software development process UNLESS it is A) purchased, and B) clearly licensed for this project in the client's name.
Never agree to a hosting arrangement for your ASP.NET application that puts your intellectual property and other sensitive data on a consultant's server. First, you really have no idea how reliable the consultant's server is and you have little control over the physical environment to begin with. But this is also a common tactic of small-scale developers to get more money out of your company by charging monthly hosting fees and worse, they can essentially hold your data hostage if the working relationship turns south.
Avoid falling into this trap altogether by insisting on using a reputable, national hosting firm. Managed, RackSpace and LiquidWeb are just a few of the many viable options out there. When setting up hosting, make sure you do so in your name and not that of the consultant. This is crucial, because if there is ever a dispute with the consultant you can simply change the password to both the server and management console to easily lock them out.
Larger hosting companies tend to buy thousands of servers at once at discount prices, so the monthly fees to rent them are actually quite competitive. It's certainly more cost-effective than trying to set this type of environment up on your own. The total cost of ownership of owning your own server equipment is much higher than meets the eye when you factor in initial equipment costs, network equipment, firewalls, routers, internet connection, security software and maintenance, even electricity and a cooled room for the server. It all adds up.
In terms of continuity, having the server off-site also protects you and your team from power outages and other types of extreme events. More often than not, these hosting companies also offer multi-site backup and failover functions, too.
Hosting companies also have a full technical staff who are ready to handle setup, maintenance, security and related issues. Plus, their customer service is usually extraordinary when it comes to troubleshooting and technical support, too.
In no uncertain terms: backups are pivotal for any ASP.NET development project, period.
You always need to be proactive about backing up your server, as well as any local copies of the code that you're working on. The good news is that all large-scale hosting companies like those mentioned above offer some form of backup service for you to take advantage of.
These backups are also important should you suffer from one of the many possible failure events out there, like getting hit with a ransomware attack. But be sure to test your backup process to make sure that a restore point fully restores the operating system, the web application, code AND all associated files that will be needed to compile your ASP.NET programs. In a best-case scenario after a catastrophic failure, you want to be back up and working again within 24 hours.
If your current hosting partner can't get you there, you need to start looking for one who can.
Given the sheer volume of viruses, malware and other rogue programs on the Internet today, antivirus and firewalls are also a crucial component for continuity of the software development process.
These security assets need to be installed both on your web server and on any local ASP.NET development computers, all to protect any possible points of entry. If server security isn't necessarily something you're comfortable handling on your own, don't worry - an external hosting company will be able to handle these and other related issues for you.
Finally, whenever you're developing ASP.NET applications, you should always try to have more than one person working with the code at any given time. This is a great way to find immediate coverage when people are out sick or take a vacation.
Likewise, if a person leaves the company altogether, you still have someone on staff who already knows their way around the code - thus avoiding disruption as much as possible.
In the end, outsourcing both your hosting and your software development to a team gives you a level of continuity and security that is far greater than what you would likely be able to achieve on your own. Success in terms of your ASP.NET software development continuity strategy is less about any one major move and has more to do with a series of smaller and more strategic ones. When taken together, they mitigate risk and make sure there is no single point of failure - all so that you can take advantage of ASP.NET development with as few of the potential downsides as possible.
To find out more information about our ASP.NET software development outsourcing capabilities, or if you’d like to discuss your ASP.NET needs with Keene Systems CEO, Lance Keene click here to book a call with him. You can also download our great new eBook - Why ASP.NET Development Services Fuels Business Growth - to learn more about this essential topic.