5 good practices for small software companies

Over the last 3 years I introduced some essential processes and practices to the small organisation I worked for. Any small company involved with software development would benefit from these, and although they are all very obvious I wanted to list them here to provide a checklist for anyone rethinking the way they work.

In no particular order the areas I’m going to look at are:

In more detail:

Share files centrally

If there is more than one employee, having access to a central location allowing you to store files such as text docs and spreadsheets to be accessed by one or more people is essential. It saves you emailing back and forth, and allows you to work on files together – if you choose carefully.

There are a number of ways you could achieve a shared file system:

If you decide to go down the google route, consider using google apps – this will take care of your email, shared docs and calendar, and lets you use your company site address to log in and as your email address.

Version control for code

Ensure you are coding with version control. This provides you with a place to store your code, allows more than one person to work on the same piece of code, and lets you save the code in a central location, enabling backup (offsite if you use another provider).

Options include Subversion, CVS (now rather outdated) and Git (new kid on the block). I use tried and tested Subversion.

Hosting options include:

Regular secure backups

Everyone in the office needs to ensure their work is being backed up properly. I recommend as a minimum a daily backup of all files, this can be kept onsite, and a weekly backup which is kept off site. Addtionally its a good idea to make a monthly copy of your entire hard disk to allow a quick restore including all settings and software.

There is plenty of software available to help you achieve this, all you need is some external storage. I’ll go into more detail on available options and provide some recommendations over the coming weeks.

Ensure the following:

An online documentation system

As you or your staff code, you will make discoveries, learn new stuff and come up with best practices and methods of doing things. It is key that you write these down, and store them somewhere everyone else in the office can access. This way, if you or someone else leaves the company, everyone still has access to that knowledge.

Stuff to put in your system includes:

Options for setting up such a system:

Again, I’ll go into more detail on this over the next few weeks.

An inventory

When purchasing new equipment and software its important to record model details, serial numbers, copies of the software and all the info you will need to claim on insurance or reinstall software in case something goes wrong. These details must be very secure, and probably not kept online.

You might also keep usernames and passwords here – although I would recommend passwords be kept in the head to be totally secure. When signing up for accounts such as google analytics, amazon etc that everyone should have access to its useful to either use a clearly defined username or record the name you picked.

Conclusions

Although this article has been rather rushed, I hope you can get a good idea of how to ensure your company is stable and secure from a software perspective. I’m going to think about each of these in more detail over the coming weeks and hope to provide more advice.

1 Comment

kalivd

Why use several online applications for the various functions described above, by doing so you will have to remember each and every login and also their passwords moreover you have to keep several windows open this might be messy. Instead i would use online office suite like eDeskOnline to manage all my work and also you can create several other logins and also allow them to use yours simulataneously. Without loggin out.

Leave a comment: