by September 3, 2013 0 comments

Software developers are being increasingly made to work from remote locations. However, in the organization, they are usually a part of a group instead of acting as an independent one-man team each. That calls upon a number of tasks that go beyond writing lines of code. You need change management that keeps a track of different kinds of files, taking into account their semantics. You need conflict resolution mechanisms that automate many frequent tasks that may need to be taken when files are out of sync. You need an efficient way of storing different revisions/versions of the document/file such that you are able to go back in time not just with respect to the contents of a file, but also those of a folder/directory.

That is the job of change management software, also called as version control systems, a discipline of software development that falls under software configuration management(SCM). Combine that with the features of a social network and you have a ready mix of just what developers need: all of the functionality that can help them better manage their projects, while also enabling them to be in touch with fellow developers and interact with their respective projects. Along with commercial solutions such as Microsoft’s Visual Sourcesafe, Team Foundation Server, etc., open source change management systems such as CVS (Concurrent versioning subsystem), Subversion (better known as SVN), GIT, etc. have been in very popular use. Plenty of free software, both clients and servers, are available for making use of these systems. On Windows, one of the popular tools is Tortoise, whereas on Linux, Cervisia is popular.

However, it is not every user, or even every developer’s cup of tea to set up such systems for their project. They usually require a significant learning curve that would take a considerable share of the developer’s productive time in the short term, while speeding up things in the long term. Hence, code-sharing websites that host the projects’ files came up, such as SourceForge, Codeplex, GitHub, etc.

[Read a CTO’s take on such code-sharing websites, during GitHub’s early days(opens in a new tab/window): https://www.pcquest.com/pcquest/news/176942/writing-deploying-software-2011 ]

The trend these days is that such websites are being used to crowdsource suggestions/improvements/feedback about different kinds of documents that have little to do with lines of software code, such as legal documents, action plans for a strategy, etc. These documents are usually large blocks of text that make it easy for change management software to track them and for the owner to quickly incorporate(merge) corrections/ideas submitted by reviewers. Such code-sharing websites offer an easy way to get started without having to face a steep learning curve.

 

[Read about a free and open source HTML5 games engine that took shape via social coding(opens in a new tab/window): https://www.pcquest.com/pcquest/analysis/188751/game-developers-heres-free-html5-games-engine-you ]

However, many people are skeptical about the use of such tools as a one-size-fits-all solution for just about any document management work that needs to be done. Many argue that there are custom-built solutions that target specific purposes, such as archiving e-mail for example. Merely because change management software is able to handle different versions of text documents well doesn’t make it an optimal solution for each case. For example, what if changes need to be made to a design that is to be used in 3-D printing? Hence, it will be interesting to watch where does this marriage of social networks and developer tools go.

Do you think code sharing websites are the next killer app in software development? What has been your experience, if any, of using change management software with respect to the benefits obtained and the learning curve required? Share your opinion in the comments box below!

No Comments so far

Jump into a conversation

No Comments Yet!

You can be the one to start a conversation.

<