What do you think, what should be the firts (moreover: 0th) step of developing a complex Document Management System (DMS)? Specification? Planning? – No! Forget them, until you haven’t made a lot of discussion with the customer – about the words, definitions, concepts. What does the word document a or expression document management mean to them?
Most probably in their understanding these words are hardyl different form yours. It’s not because their or yours one is false, but because of the differences of our circumstances, job roles, experiences, etc. It’s just a little customer-psychology…

What are ‘document’ and ‘document management?

Well, the word ‘document’ can have a lot of meanings. Document can be everything on that people work, has a special lifecycle from creating through saving, storing, approving, etc. to recording, registration, retention, deleting, etc. This lifecycle is the process of document management, and the records management is a part of its. But I have to mention, that generally we’re talking about ‘document management’ while the document is living, while its content can be changed. After that, when document is frozen and registered, we can talk about records management.
Both of them (document and records management) are very complex business processes, different in every companies and every organizations. For example, the following picture shows a quite simple records management process from one of our projects:
So, first of all, let’s define what the customer wants: what kind of documents they have, what kind of processes they have, etc. SharePoint can be a very good basis of a document management system, but you have to plan it and its architecture very deeply.

Document management tasks and functions

Long-long time ago, during my first DMS developing project, when I was a simple developer, one of my colleagues found a statistics made by Gartner Group: in average we spent 8 hours (one full working day!) in every week with handling and searching our documents!
Bill English and Ben Curry mentioned very similar statistics in their book, Microsoft® Office SharePoint® Server 2007 Best Practices:
    • Over 30 billion original documents are used each year in the United States.
    • The cost of documents to corporations is estimated to be as much as 15 percent of annual revenue.
    • 85 percent of documents are never retrieved.
    • 50 percent of documents are duplicates.
    • 60 percent of documents are obsolete.
    • For every dollar that a company spends to create a final document, 10 dollars are spent to manage the document creation process.
Horrible numbers, isn’t it?
A few weeks ago a bank asked us for a feasibility study. Their goal is a complex Document Management System. When we asked them about the quantity of stored documents, their answer was: A few hundred meters per division… Oh my god!…
Well, we can be faced a lot of different needs and requirements while we need to collaborate during the first phase, but most probably you can find some common functions as well. Let’s see a few of them!

Saving and storing

Of course, first of all we have to store our documents in a well-organized, effective and user-friendly way. A centralized, unified storing method means a lot of useful things: instead of documents stored locally and sent by e-mails back and forth – the users can work on the same document without any duplications. Moreover, we get the following functions as well: storing, collaboration, sharing, version handling, content types, permission handling, etc.

Check-out, check-in, locking

If somebody opens a document to read, he/she can do this without any problem (of course, with the required permissions). Even more people at the same time, there are no conflicts occurred. Nobody wants to modify, they don’t disturb each other.
But if one opens a document to edit, it might be a problem if somebody else wants to edit this one as well. They overwrite each other’s modifications and nobody knows which version is valid.
The solution is the check-out/check-in. The editor checks out the document, so everyone else is unable to edit it (the document is locked) until the editor’s check-in. Moreover it’s very obvious who is editing the current document at a current time as well as the full, valid version history can be stored.

Version control

Version control is bound up with the facts mentioned before. I cannot describe its importance enough: to be able to reach the former document versions, check modifications etc. are one of the most relevant requirements of a modern document management system.
During creating and editing documents, the system is storing several versions for us to give a way to follow the full lifecycle of the document. We sign the versions with rising numbers, and generally the several DMSs realize this function in several ways. Basically we can talk about three level of version control:
  • No version control, the system is storing only the last version of each document. In this way we are not able to get back the former versions and the history – of course, sometimes it’s even not important.
  • Major versions only: The versions are marked by positive integers (1, 2, 3, …). After saving the document it gets a new increased version number, and the several versions can be accessed by different permission sets (current version vs. former versions. We use this option when it’s insignificant to make any difference between published and draft versions (working copies).
  • Major and minor versions: The versions are marked by numbers formatted as X.Y (1.0, 1.1, 1.2, 2.0, 2.1, …). We use this option when it’s important to make difference between published and draft versions (working copies). The published versions can be accessed to read by a wide range of users, but the drafts are hidden from most of them, only the editors can see these ones.

Approving and other workflows

Content approval is a very nice function of DMS systems as well. The document is in Pending status until the Approver or group of Approvers doesn’t approve it. After approving, it will be approved (or declined in other case), and will be accessible for others. The exact process of approval workflow depends on the version settings as well.
Moreover, in a modern DMS we can (and most probably we have to) implement a lot of other workflows as well. It’s very important how our system is able to manage these workflows, and how users have to be faced with the processes.

Permission management

Of course, one of the most important issue of nowadays’ systems the permission management: who and how can access to what content? Who can read, edit, create, delete, etc.?
Sometimes (very often) these permissions are not a frozen set, but change during the document’s lifecycle. For example, related to a project proposal:
  • During the preparing phase only the preparers can see the documents (and create/edit them, of course), everybody else are denied even to read them.
  • During the approving phase even the preparers cannot modify the documents, but the approvers get permissions to read.
  • After approving the signers get access to the documents, but nobody is able to edit their contents.
  • etc.
Well, we can see, document management is a very important and very complex process in the business life. In the followings I’ll go forward along these basic functions, and of course, we’ll see how SharePoint can help us to realize these functions.
Stay tuned!