Monday, May 23, 2011

Say one big NO to all Office applications

Office like software is probably the most destructive, demotivating, demoralizing and unproductive tool ever used for documenting software projects. I get sick each time somebody asks me to edit some specification, design document, requirements, etc. It makes me go crazy when I need to find that documents somewhere on the file system or (as people here call it) a "global" share.

The days when companies were able to manage documentation written that way are long time gone. But why do we still do that? Come on, how crazy and irresponsible is that?

In the past (as I was told by couple of my older fellow colleagues) developers used to write their code and store it on an ftp server so that the other coders could take a look at the changes and continue with their updates. This meant conflicts, errors, inconsistency and other kind of bullshit making the released product a complete bullshit. People managed to solve this problem with version control systems and the nightmare was over.

The problem with documents is that they are not code and not being code has a lot of disadvantages these days.

First of all, there is no IDE which can help you find your stuff in seconds. There is no syntax highlighting, no auto-complete, no integrated API. The docs are also (in most cases) extremely long, specifically structured, contain lots of formatting errors, open slowly, contain useless information and the last but most important.. they are stored as files (one or more) and you never know where to put them when you're finished with the content.

C:\Documents\Hmm...
or maybe
C:\Documents and ...\..\My Documents\Hmm..
aaah... there is this share
\\someserver\Docs\... uppss... no, it does not quite fit here

Some companies use LiveLink (for document versioning) but you don't want to see the screenshot of the directory structure that our fellow managers have build. Maybe I am too dumb for that but I simply can't find anything there!

If you have a large project which requires documentation (e.g. medical apps do) you will be scrued very quickly if you don't find a good solution for this problems. Thousands of documents which are hard/impossible to find, nobody ever reads them or cares about, edits them only when it's a must. You end up with thousands of tools which are supposed to help you manage all that crap but what the tools do is make it even more complicated and confusing. Be careful, this may also lead to high peeks on your employee burndown chart (and the most precious employees will burn down first!).

So what to do to finally drop that "standard" document writing/managing crap? People often need to share a *.doc or *.pdf with others, don't they?

Yes they do, but first of all... think... think more... and more? Go on the net... read, think more... get interested in this subject and do not accept with status quo! Got it?

I'll give you the solution which has proven to be extremely successful for me. Get yourself a professional Wiki. I don't mean a TFS wiki (which is CRAP), or a 10kb wiki engine that you can start on your localhost. I mean A PROFESSIONAL WIKI!

Now what can a professional wiki do for you?

  1. It can manage you users so that each user:


    • has his personal account where he can put his private stuff

    • can edit, comment on, review documents (his changes will be visible in th history)

    • can blog (yes! blog) about the stuff that he e.g. just discovered, etc.

    • has a photo and personality on the wiki

    • can communicate directly via Wiki's web interface


  2. It can manage your documents so that:


    • the documents/wikis are searchable

    • the documents are easily editable and accessible

    • the documents have common structure (templating)

    • the documents can be exported to DOC or PDF

    • the documents reference the issues in ISSUE management app

    • the documents reference the requirements in the requirement management system

    • the documents can be easily versioned

    • the documents can handle images, movies and media well

    • the documents can contain tables, colors, quotes, code samples, charts, sketches, etc.


  3. It can manage your projects!

  4. Improves all the time!



Sounds non-realistic? Well, go on Google, type "Confluence" and see for yourself.



I personally LOVE this product. Atlassian did an extremely good job with their wiki and the book they have published. At the moment it is the tool of my choice for the project that I work on and I am more then happy to use it. It's actually fun to use it which is even cooler! So, say NO to Office apps!