Communication in Software Development Environments
1 Introduction
Collaboration is an integral part of the software development projects. People often share documents for collaboration but it can become a cumbersome process to track who did what at what time and which one is the latest version of the documents. While e-mail is used extensively for communication and sharing documents for collaboration, Revision Control Systems (RCS) like Subversion (SVN) is very useful to track changes to documents over time. Although most often used among software development teams, an RVS can also be used in management of changes to documents, programs, and other information stored as computer files.
1.1 History
Until 90s collaboration was to use a set of tools accessed in a local network file system, otherwise synchronized to a remote site for remote collaboration. After 1999, web based tools such as Sourceforge emerged and adopted quickly.
1.2 The need for revision control
Revision Control Systems (RCS) resolve the problem of communication in collaboration. The problems are most often driven by human limitations and inherent to human interaction. When working in groups problems arise from natural language ambiguity, or human memory cannot recall details for all project. This is true not only for people actively working on the set of documents but also managers tracking the activities in large groups.
2 Subversion as a medium of communication
How does it make communication easier and effective (or if there are any drawbacks in the process)?
Different kinds of collaborative or self uses of SVN such as issue tracking, project management, audit trails, document management and collaboration, as well as software development.
Comparison to embedded revision control in software such as word processing, spreadsheets, Content Management Systems and Wikis.
How do people actually communicate throughout a project: What are the protocols, messages, signs people use, and how does this scheme makes communication more effective?
2.1 Best Practices
3 Future of collaboration in software development
Google Docs, Gliffy, Desktop IDEs, web based IDEs.
4 Conclusion
References
[1] Jim Whitehead. 2007. Collaboration in Software Engineering: A Roadmap. In 2007 Future of Software Engineering (FOSE '07). IEEE Computer Society, Washington, DC, USA, 214-225. DOI=10.1109/FOSE.2007.4 http://dx.doi.org/10.1109/FOSE.2007.4
[2] M. E. Sosa, S.D. Eppinger, M. Pich, D.G. McKendrick, S.K. Stout, “Factors that influence Technical Communication in Distributed Product Development: An Empirical Study in the Telecommunications Industry,” IEEE Transactions on Engineering Management, 49(1):45-58, February2002.
[3] Pinzger M, Gall HC (2009) Dynamic analysis of communication and collaboration in OSS projects. In: Mistrík I, Grundy J, van der Hoek A, Whitehead J (eds.) Collaborative Software Engineering. Springer.
[4]Arazy, 0., W. Morgan, and R. Patterson. "Wisdom of the Crowds: Decentralized Knowledge Construction in Wikipedia," 16th Annual Workshop on Formation Technologies & Systems (WITS) Paper, 2006.
[5]Auer, S., Dietzold, S., and Riechert, T. "OntoWiki-A tool for social, semantic collaboration." The Semantic Web-ISWC, 2006, pp. 736-749.
[It might be useful to look at some literature on wikis, too. They're different than SVN, of course, but could provide a good theoretical background for SVN, since they were probably the most widely studied online collaboration medium to this point. I have a fairly good bibliography I can share with you, but please remind me to do so.]
Communication in Software Development Environments
1 Introduction
Collaboration is an integral part of the software development projects. People often share documents for collaboration but it can become a cumbersome process to track who did what at what time and which one is the latest version of the documents. While e-mail is used extensively for communication and sharing documents for collaboration, Revision Control Systems (RCS) like Subversion (SVN) is very useful to track changes to documents over time. Although most often used among software development teams, an RVS can also be used in management of changes to documents, programs, and other information stored as computer files.
1.1 History
Until 90s collaboration was to use a set of tools accessed in a local network file system, otherwise synchronized to a remote site for remote collaboration. After 1999, web based tools such as Sourceforge emerged and adopted quickly.
1.2 The need for revision control
Revision Control Systems (RCS) resolve the problem of communication in collaboration. The problems are most often driven by human limitations and inherent to human interaction. When working in groups problems arise from natural language ambiguity, or human memory cannot recall details for all project. This is true not only for people actively working on the set of documents but also managers tracking the activities in large groups.
2 Subversion as a medium of communication
How does it make communication easier and effective (or if there are any drawbacks in the process)?
Different kinds of collaborative or self uses of SVN such as issue tracking, project management, audit trails, document management and collaboration, as well as software development.
Comparison to embedded revision control in software such as word processing, spreadsheets, Content Management Systems and Wikis.
How do people actually communicate throughout a project: What are the protocols, messages, signs people use, and how does this scheme makes communication more effective?
2.1 Best Practices
3 Future of collaboration in software development
Google Docs, Gliffy, Desktop IDEs, web based IDEs.
4 Conclusion
References
[1] Jim Whitehead. 2007. Collaboration in Software Engineering: A Roadmap. In 2007 Future of Software Engineering (FOSE '07). IEEE Computer Society, Washington, DC, USA, 214-225. DOI=10.1109/FOSE.2007.4 http://dx.doi.org/10.1109/FOSE.2007.4
[2] M. E. Sosa, S.D. Eppinger, M. Pich, D.G. McKendrick, S.K. Stout, “Factors that influence Technical Communication in Distributed Product Development: An Empirical Study in the Telecommunications Industry,” IEEE Transactions on Engineering Management, 49(1):45-58, February2002.
[3] Pinzger M, Gall HC (2009) Dynamic analysis of communication and collaboration in OSS projects. In: Mistrík I, Grundy J, van der Hoek A, Whitehead J (eds.) Collaborative Software Engineering. Springer.
[4] Arazy, 0., W. Morgan, and R. Patterson. "Wisdom of the Crowds: Decentralized Knowledge Construction in Wikipedia," 16th Annual Workshop on Formation Technologies & Systems (WITS) Paper, 2006.
[5] Auer, S., Dietzold, S., and Riechert, T. "OntoWiki-A tool for social, semantic collaboration." The Semantic Web-ISWC, 2006, pp. 736-749.
[It might be useful to look at some literature on wikis, too. They're different than SVN, of course, but could provide a good theoretical background for SVN, since they were probably the most widely studied online collaboration medium to this point. I have a fairly good bibliography I can share with you, but please remind me to do so.]