Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sounds like someone's never been locked out of a document they need to edit.

It's honestly tough to remember just how bad check in check out document control was a few years ago. Remember the days when one person did their section in a totally different style from the rest of the document and you only discovered it at 3 am the morning it was due because they waited until the last minute to email it to you and then at 5 am when you had finished reformatting it you realize that all his references to another person's section are incorrect because he wasn't at the meeting where that person said they reorganized their part, so you fix that until 7 am and then you go to add in the bibliography but the guy who had that last sent an old version in his email so you have to call him and get him to send you the real version, and the next thing you know it's 9 am and you need to give a presentation on this 400 page document after getting no sleep and not even having time to grab a cup of coffee.

I honestly don't understand why anyone wouldn't take advantage of concurrent editing.



at work, our typical document collaboration workflow is to have the master version in our VCS (with exclusive checkout), then we check-out, edit, check-in to push changes. small edits get made directly in the master document while larger changes get staged locally and copy-pasted. maybe I just have process stockholm syndrome, but it really doesn't seem that painful. the main bottleneck is getting all the stakeholders to review each round of edits, not lock contention for the editing itself.


Yeah, that was the standard document control method 20 years ago everywhere. It works, but it's incredibly inefficient.

Such systems make any sort of global changes extremely taxing (so many people need to sign off on it, and there's going to be loads of bike shedding), and naturally favors heavy compartmentalization. The work winds up divvied up among many people working in parallel, but they're not collaborating - you're waiting on mike to finish his portion, not working with mike to make a better document.

It's also very difficult to efficiently divide labor - for example let's say you have an equation heavy document, you could have one person do the first half and another do the second, but it would make more sense for one person to do the text and another person to do the equations as that way neither of you have broken flow. This is possible but a real pain in the butt to do simultaneously with check-in check-out, alternatively you can have the one person do the text and then hand it off, but that might be very suboptimal if you are time constrained. This sort of work is a breeze in a modern collaborative environment though.

Finally, from a true document control perspective, the old check-out method seems sensible as you know what changes were made between when it was checked out and checked in, and you know who checked it out, however you don't really have any better knowledge than that. With a modern system you can see who typed what and you can see every edit they've made, including when they've typed out a long section then decided to delete it and try something else. This can be incredibly useful for keeping track of how an idea evolved. It's also easy to see who actually contributed what: while traditional document control will tell you that so and so made a change to some section, if the change was just pasted in it's difficult if not impossible to tell what the difference from the previous version was. Finally while traditional document control focuses on limiting the chances of a mistake, modern methods allow you to fix mistakes easily.

Now I'm not saying that there's no way to get what you need with check-in check-out document control, but we've reached the point where you don't need to make your work compatible with the process.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: