(Cont) On Version Control System for Code Projects and Business Management
June 21, 2013 11:42 pm Leave your thoughtsTo continue our previous discussions about version control we now must shift our mind from technical perspective to the business perspective.
Document Version Control System for Business
Like I always said, there are two aspects to the IT business management: the technical side and the business management side. We will now shift our minds and think about version control for business management usages.
Let’s imagine ourselves as a project manager. We get a lot of emails and requirements documents from different clients everyday and we’ll have to match our project plan and the functional requirements to the latest documents and correspondence from the client. In addition we also have to make sure that all interested parties such as marketing department, development team, testing team, financial team and many more; up to date with the latest documents.
This is going to be very hard without any document version control system. Most people would keep a list of people in update e-mail threads. That works for a short-while, until somebody decided not to press “reply all”, familiar? E-mail thread is also a problem when we want to add new people in the loop.
We are also taught that keeping a list of changes and the version numbers on the body of the document will prevent your project members from using an older document. However how would anyone know that the document is old just looking from the listing within the document itself? We agree that e-mail thread is no good and therefore so does notification e-mails that notify people about new documents (usually with the documents attached). Not all people are organized, a lot of people actually lost those e-mails within a few days when it drops further down the list or getting archived.
So, our best option to improve the business process thus avoiding confusions and frustrations over latest documents is using document version control system. Using a document version control system, when a person decided to edit a document, the system would lock any other attempt to edit the same document which should eliminate conflicts. When the editing is finished the person then can check in the document in the repository where the system automatically increase the document’s version number and notify all the users watching the document.
The above is of course the basic usage of a document version control system, different implementations will have slightly different processes. Also one of the major differences with code version control is that most document version control systems cannot merge conflicting versions of documents, hence only one person can edit at a time. This is because documents come in different proprietary file formats that the system cannot read and compare. Unless of course you are using Microsoft office documents managed with Sharepoint server, but even then I do not know how good is their document conflict resolution process.
So, the advantages of using a document version control system are:
- Keeping everyone in the loop with any changes to the documents without much effort. You won’t have to worry if you forget any of the major stakeholders.
- Preventing conflicts during project progression. Within a project, a lot of the times the conflict comes from difference in understanding and this can happen if people use different versions of the documents.
- Providing clear path to the goals. With easy access to documents across the organization, it is so much easier for every stakeholder of the project to double-check their progress against the final goals. This will reduce uncertainty, therefore increasing the quality of work
The above are of course just a few of the advantages, there are still many more that you will find once you start on using a document version control system.
With this I would like to suggest a couple of document version control systems that you might want to look at. Please note that I have only personally use a few of them, I will probably do a more in depth review on a few of them in the future if there are any interests.
- OpenKM. If you are taking a plunge into document version control system, using free open source option would be one of the best ways to go about it. There are minimal cost aside from the setup time. I have trialled OpenKM for a bit personally and have found that the UI are very intuitive and easy to use. Give this one a try, it’s very easy to install on any Linux or Windows machine.
- Open Atrium. This again is an open source option, this application is written in PHP and is based on Drupal content management system, one of the most robust open source CMS around. While you can use OpenAtrium just for document version control system, the whole thing is basically a kind of groupware where the whole organization can collaborate using this application; such as having discussion, managing events, notifications, etc. I actually use this one for home document management system and have found it to be pretty good and intuitive. I like the UI design too on this one.
- Alfresco. I have heard about many developments on this application. While I have yet to try this personally, there are a number of large organizations using this application. Alfresco comes either in software as service package or free open source version, which is called “Alfresco Community Edition”.
- Microsoft Sharepoint. Not many people requires introduction to this one, for many large scale organizations, especially those using Microsoft Office products this application should be seriously considered. The latest development includes more and more support on social networking and cloud computing. In my opinion, the only major thing to weight in before using this is the cost of implementation. You’ll need to proper server licenses and the application licenses itself (correct me if I’m wrong), which means depending on the size of your organization this may not be the best way to go about. As usual small to medium organizations should take open source alternatives for considerations.
- Liferay. This is another open source document version control system. Liferay seems to be much more than a document control system though, it’s actually an entire portal, company collaboration too and can even serve as public facing website.
Conclusion
In conclusion, as you can see from our discussions, version control system is not something that can be neglected in any organizations. Everyone in the organization from technical to business groups should consider using version control system. While from technical perspective this can be done using code version control such as Git or Mercurial; non-code documents such as requirement specifications should be managed using a document version control system. Using these systems will streamline the software development and business process of the entire organization, which will result in faster project turnaround and lower costs. Not only that, it might also increase the quality of work within the organization.
So go and have a look at some of the recommendations on this article and the previous whenever you can if you are currently not using any version control or wanting to improve your current version control. Many of them are open source and free, which mean there should be no harm in testing them.
Tags: alfresco, open atrium, open km, sharepoint, version controlCategorised in: Business Process, General article