Tag Archives: Source Code

5 ways a small business can protect itself from losing the software developer

For a small business with high dependence on customized or proprietary software and online tools, a good software developer can be a lifeline to better efficiency, growing revenue and increased profit.

But what happens when that software developer leaves the company?

For some companies this can be a disaster.

What were simple requests before, now become profoundly difficult obstacles. Making basic website updates, adjusting the troublesome customer’s account, or running the custom reports for the CEO now become almost impossible.

It doesn’t have to be like that.

With some basic planning, standards and consistent communication  you, the business owner or executive, can mitigate much of this pain. Here are 5 ways to start.

1. Use source code repositories

Make sure any developer that does work for you is keeping the software files for all projects in a source code repository that you own and control. It’s like a library for the files that make up your delivered software.

The software that is created for your business should be treated like an asset so as to maximize it’s long term value return to the company. A good code repository helps protect that asset.

There are many programs that act as software source code repositories. Systems such as Atlasssian’s BitBucket or Github are popular, loaded with features, inexpensive and conveniently online. You can also download and use local versions of systems such as SVN or Git for the more technically capable.

These systems facilitate modern, flexible source code control with many integration options for other parts of the software development and delivery eco-system.

If your software developer insists on keeping code on their local hard drive, its time to find another software developer. You can’t afford to have your software walking out the door when the resource decides to leave.

2. Use ticketing or issue tracking

A ticketing system or issue tracking system is a tool to document and clearly divide units of requested work when used correctly. To a small business this may seem like a lot of overhead. However, a ticket tracking system is a way to more clearly communicate what needs to be done, who is doing it and track progress over time, and potentially across multiple developers.

Online systems such as Jira, Fogbugz or Trac can be used at a reasonable cost. Also Mashable has a longer list of issue trackers you can use.

A ticketing system is also a way to maintain accountability and communication regarding specific tasks and requests. Many of the systems allow you to pull reports and see how things are going, how a project is progressing and measure quality metrics for your code.

3. Keep systems and software diagrams

Every small business should have a basic diagram (could be paper or electronic) that shows where things are. Items such as key servers, locations, databases, internal tools should be shown along with what relationships there are.

As changes are made and systems are added or migrated, update the diagrams as part of your standard procedures. Review it from time to time to validate its accuracy. Adjust it as needed.

A simple diagram that shows where and how your systems link together can save hours of time in misunderstandings or unclear documentation. It can also make on-boarding of a new software developer or system administrator much easier and faster.

4. Track passwords and access

A developer will need access to systems to update code, release software and make fixes and changes.

The small business should own all the passwords and control of them. Allowing the software developer to be the only one who knows the admin passwords is a recipe for disaster.

In order to track a large number of passwords I recommend using tools such as Lastpass or 1password. These tools allow tracking of passwords and provide online and mobile access for convenience. Alternatively you could store passwords in an encrypted file or disk volume (as long as it is backed up elsewhere) with the operating system you use.

The bottom line is that, as the owner, you need to be able to access these systems when the developer is no longer available for what ever reason. Tracking the passwords yourself helps guarantee that access.

5. Maintain regular communication

This is perhaps the simplest but most neglected area.

Business owners and executives get busy. It’s easy to forego the regular, sustained communication that facilitate shared understanding of a software project. Neglecting this communication will cost you when it comes time to transition to a new developer.

Setup and keep a regular meeting schedule to discuss issues, progress, and review updates. This should be done at least a couple of times per week, or daily if possible. Once you get in the groove, these meetings are usually short.

Many teams who use the Agile methodology have stand-up meetings every day to discuss progress, issues and immediate plans. This quick, consistent communication helps educate you, as the owner of the software, and educate the developer to your expectations and needs and the systems evolve.

Force yourself to meet and talk. Ask questions and get answers without technical jargon and acronym soup. Any developer worth their salt can explain what they are doing, and show examples in terms any businesses person can understand. If they can’t, its time to upgrade.

Summary

The departure of your software developer can bring about loads of pain without proper preparation and planning.  But with preparation you can facilitate smoother transitions between developers and lessen your companies downside risk.