Internet-based Collaborative Software Development Using Microsoft Tools
Charles HERRING Michael REES
Department of Computer Science School of Information Technology
& Electrical Engineering Bond University
The University of Queensland Gold Coast, QLD 4229 Australia
Brisbane, QLD 4072 Australia {herring, rees}@[Link]
Abstract 1. INTRODUCTION
This paper describes solutions for distributed software
project management, focusing on tools and techniques for This paper is an experience report on using Microsoft’s
effective project communication. Microsoft’s Internet Internet collaboration tools for software development. It is
collaboration tools are used for software development and based on using these tools for the last three years on a daily
to monitor and control project progress. Student basis on software development projects for the Defence
programmers and supervisors at different physical Science and Technology Office and the Queensland
locations collaborated to produce add-on tools for the Government [1, 2]. To illustrate the use of these tools one
Microsoft Office Server Extensions. The modes and particular experience in supervising summer student
mechanisms of a conceptual framework for Internet-based projects is described. The Cooperative Research Centre for
collaboration are presented. This framework is instantiated Distributed Systems Technology (DSTC Pty Ltd) at the
using Microsoft Office 2000, NetMeeting, MSN University of Queensland sponsors undergraduate students
Messenger and the Workgroup Web Site. Experience with over their summer break to work with researchers. We
the collaboration framework is evaluated, and regularly supervise these summer students to develop
enhancements targeted to support software development software for ongoing DSTC research and consulting
are proposed. projects. We live on the Gold Coast seventy kilometres
south of the University of Queensland where DSTC and the
Keywords: Internet-based software project students are located. In order to work with the students, and
management, Microsoft collaboration tools. each other, Internet collaboration tools are essential. The
Microsoft tools have proven to be quite effective.
Face to Face (“Meeting”)
NetMeeting
Intensity of Collaboration
Voice (“Phone”)
MSN Messenger
Work Grou
E-Mail p Web Site
(IIS/OSE)
Videotape
Audiotape
Paper/Web Pages
Mode of Communication
Figure 1. Communication and Internet Collaboration Tools
2. MICROSOFT COLLABORATION the US, and send messages to mobile phones and SMS. A
TOOLS NetMeeting may be directly initiated with contacts as well.
Software engineering is a communications-intensive Knowing if and when members of your contact list are
activity. Recent methodologies such as Extreme online and their state provides a form of “presence and
Programming [3] take this human aspect into account awareness” of others that is otherwise lost when working
explicitly. Cockburn reviews the success (and failure) of remotely and often alone. This presence and awareness of
over three dozen major software projects and, in reflecting others bridges the gap between “face to face” synchronous
on his own software consulting practise, concludes: meetings and asynchronous modes such as email and
“characteristics of people are the dominant, first-order documents. It fills in some of the peripheral sensory
project driver. [4]” Of these characteristics he maintains information that being collocated provides, gives a sense of
that communications is the most important. Figure 1 shows togetherness, and promotes short, precise information
Cockburn’s model of communication with the major transfers between collaborators.
Microsoft collaborations tools overlayed on it. The figure
shows the relation between intensity (and possibly IIS and Office Server Extensions: Asynchronous
effectiveness) of communications as a function of the mode Collaboration
One of the major new features of Microsoft Office 2000
of communication. Face-to-face communication being the
[7] is the online collaboration mechanism. This comprises
most intense mode whereas reading a document (paper or
the ability for several users to insert threaded discussions
web-based) is the least intensive. (Note the mode of
within an Office document or web page, and for those same
communications can also be characterized as ranging from
users to subscribe to a notification service that informs of
synchronous to asynchronous.) The next sections give an
changes to shared documents. Two changes were needed to
overview of the main collaboration tools used in this
implement online collaboration:
experience report and relate them to the communication
1. Office applications and Internet Explorer
model and Internet software engineering.
incorporate a user interface to act as a client for the
collaboration facilities
NetMeeting: Face-to-Face
NetMeeting [5] is Microsoft’s real-time collaboration and 2. Office Server Extensions (OSE [8]) work with IIS
conferencing client and is a standard application distributed 5.0 (web server) to manage discussions and
with Windows 2000. The basic feature list includes: audio subscriptions
and video conferencing, whiteboard, chat, file transfer,
program sharing and remote desktop sharing. NetMeeting Together these changes succeed in bringing online
is loosely integrated into other Microsoft products. For collaboration potential to teams working with shared web
example, meetings using NetMeeting may be scheduled in pages and Office documents of all kinds. The online
Outlook. NetMeeting can also call MSN Messenger collaboration features combine directly with web folders to
contacts directly. A related product, Internet Locator offer shared document repositories. Web folders extend the
Service, based on LDAP can also be used to locate people local file system to encompass Internet shared document
and initiate conferences. NetMeeting supports H.320 (the repositories. Within OSE the content of the in-document
ISU standard for ISDN teleconferencing) and T.120 (ISU discussions and the subscriptions settings for each user are
standard for multipoint data conferencing) enabling it to stored in Microsoft SQLServer databases. At the same
function as a client for third party collaboration servers. time, special user groups are established that control role of
There is a software development kit available for those different users in the collaborative team:
wishing to make custom applications based on the • Administrators: users able to create, modify and
underlying COM components. Performance is acceptable delete web folders
over 56Kb modem, including video and application • Authors: users able to create, modify and delete
sharing. Office documents and web pages
• Collaborators: users able to submit discussion items
Messenger: The Presence and Awareness Bridge and set subscriptions
MSN Messenger [6] is Microsoft’s entry into the “instant • Browsers: users with read-only access to shared
messaging” field. Its primary use is to maintain a list of documents and discussions
contacts and permit sending short text messages to them. In
order to do this Messenger must know the status of It is a simple matter for system administrators to assign
contacts. That is, whether they are online or not, and if members of a collaborative team to the appropriate user
online their current state (e.g. away, busy, be right back, on group in order to give each user the appropriate access
the phone). Also, you can be notified by a sound and small privileges. Internet Explorer and all Office applications
popup window when a contact comes on line. There are share the online collaboration tool bar as shown at the
additional features such as ability to initiate direct audio bottom of Figure 2. The discussion icons (insert markers)
conversation, transfer files, call any telephone number in allow the user to set within-page discussions (web pages
only) or discussions about a document as a whole. The discussion server and default home pages. After generation,
icons with the “+” and “-“ control expansion and the workgroup web is fully operational, and requires only
contraction of discussion item contents, while the arrowed minimal customisation such as the inclusion of logos and
icons move the user from one discussion item to the next. some file paths. We have found workgroup webs to be
excellent support tools for a number of projects for other
Subscription settings allow users to be notified by email customers. Firstly, the implementation team uses a
when changes occur to any individual document, or all workgroup web to coordinate its own work. Secondly, a
documents contained within a folder. To prevent too many workgroup web accessible by the clients allows them to be
notification emails, the user may opt to be notified every kept informed of progress, and to add their own inputs.
day or week, rather than every time a change is made.
Subscriptions have proved to be one of the most effective
tools for our own use of OSE. Figure 2 shows an example 3. EXPERIENCE USING THE TOOLS
of a discussion item. Note that OSE adds the author, date
and time automatically. The marker at the bottom of the The software development project reported on here
item gives access to a reply mechanism for threaded involved two, second-year computer science undergraduate
discussions. The author may also modify or delete the item. students working for eight weeks during their summer
break (that is during December-January). The goals for the
OSE searching is particularly effective. As well as project were to develop two extensions to Microsoft Office
searching by folder, a date-based search is very useful for 2000. The extensions were to provide us with some hands-
collaborative teams. For example, a user may ask for all on experience in how difficult or easy it is to extend the
documents modified in the last seven days in order to tools, and to demonstrate the capabilities that can be
assess the level of activity of the team in the previous achieved relative to existing custom tools in use by our
week. A search by document property can also locate sponsors. The next section describes two Office extensions
documents quickly. Remember that Office 2000 can store a that were developed, and some detail on how the online
set of properties with each document: title, subject, author, collaboration tools were used to develop them.
manager, company, category, keywords, comments and so
on. The Software Development Projects
The first Office extension is called the Discussion
The Workgroup Web: Putting It All Together Extractor, and is implemented as a “COM Add-In”. This is
To demonstrate the power and utility of the online the standard way to extend Office applications. A COM
collaboration features of Office, Microsoft provide a Add-In is a wrapper or interface specification that plugs
FrontPage 2000 template to create workgroup webs. The into Office applications and contains application-specific
60 Minute Intranet Kit [9] improves team productivity by code. The COM Add-In appears as a menu item under the
making it easy to share documents. Generating a Tools menu.
workgroup web takes a matter of minutes with the 60
Minute Intranet wizards. The resulting workgroup web site The Discussion Extractor operates as follows. When the
provides an integrated set of collaborative features: user selects this option a dialog window appears. From this
• A hierarchy of web folders structured to serve the window the user specifies a query over the SQLServer
needs of all team members. Each member receives discussion database as described above. The user can make
a personal folder, and group projects each are a query based on documents, discussion topics, users and
assigned a web folder. date ranges. This query will return a set of discussion
• Each document exists as a single file that can be items. If the user is in Word, the items will be formatted
shared by all members of the team. into the Word document. If the user is in PowerPoint, a
• Team-specific data can be accessed and analysed series of slides will be produced. The Word document and
using applications in the Office 2000 suite. the PowerPoint slides reflect the structure of the discussion
• Shared data such as a directory of team members, threads. That is, at the top level is a discussion item and
outstanding issues, team newsgroup, project lists, each reply to that item is indented underneath it. The
calendar of events and timesheets are generated author and dates are also shown. This extension permits
automatically. users to extract, in a formatted presentation, the discussions
about any document while running Word or PowerPoint.
An Access 2000 database is created and populated by This extension supports recovery or explanation of such
the 60 Minute Intranet wizard to support the shared data things as the feature list design history of a software
features. Full use is made of the OSE web components and project, or the rationale for business process and action
scripts to provide convenience features in some pages. development.
Examples are links to automatically set web folders,
Figure 2. Work group web site home page
The key to implementing arbitrary graphics is Vector
The second extension is the Annotation Service. It Mark-up Language (VML). VML is Microsoft's graphical
provides the ability to make graphical annotations to any mark-up language and implemented using XML. The other
document viewed in Internet Explorer. That is, the ability key is Dynamic HTML (DHTML). The students wrote a
to mark-up a document with lines, shapes (rectangles, Visual Basic application that takes user’s input (such as
circles, etc.), text labels and highlighting. It is similar to dragging the mouse to draw a line) and inserts a small
having the graphical drawing capability of PowerPoint sequence of JavaScript into the DHTML DOM. This script
available in Internet Explorer. The user can make arbitrary then displays the graphical annotation in front of the
annotations on any document viewed in IE. Those DHTML content of the page. All of the user's annotations
annotations are stored relative to that document (URL) on are stored inside the DOM at a known place, so that when
the OSE database machine. They are stored in SQLServer the user choses to save the annotations they are extracted
(just like discussions) and can be retrieved and displayed and sent to the SQLServer database on the discussions
by any user with access permission to the discussions server. The annotations can then be retrieved and
server. The annotations can be selectively displayed as in redisplayed when a user revisits the web page.
the Discussion Extractor. Thus different overlays can be
queried. Setting Up the Tools for Internet Software Engineering
After deciding on the software tasks and assigning
responsibilities, the next step in the process of developing
the applications was to set up the collaboration tools. The simultaneous conversations were ongoing, including those
machines included one Windows 2000 workstation and one with others not related to the project. Other patterns of
Windows 2000 server to host IIS for development. Also communication included “sporadic audit” initiated on our
required were Office 2000 and MSN Messenger. part, that is, just checking up to see how the students were
(Windows 2000 comes with NetMeeting). A headphone doing. This is most likely motivated by the feeling of not
and microphone is needed to support voice having communicated for longer than the usual time. Of
communications. Video cameras are useful, but they are course there is also the “taking a break” pattern when
not absolutely necessary. someone just felt like talking or sharing an interesting
URL. Thus Messenger provides a type of ambient, team-
The next step was to build a workgroup web site for the wide presence and awareness, coupled with direct
team using the 60 Minute Intranet Kit. The purpose of this communications that range from short, specific, goal-
site was to provide a single online repository to organize driven sessions to informal social interactions, all of which
all information related to the software development effort. are necessary for team cohesiveness.
The features of this website are described above in 2.4. A
wizard in FrontPage 2000 guides you though the process, At the next level of synchronous communication is the
such as entering the names of each project and team NetMeeting package. NetMeeting was used occasionally
member. Based on these questions, web folders are for direct conversation as it provides audio
generated containing web pages to support document communications and is easily initiated from Messenger.
management. For example, each user gets a “home page” NetMeeting also provided file transfer when the work was
web folder. The resulting home page for the generated web conducted. (Messenger now supports both these features
is shown in Figure 2. Note the navigation bar at the top of itself.) However, the advanced capabilities of NetMeeting,
the page. The menu items show there are areas for such as application sharing were rarely used. Messenger
Documents, News, Calendar, Search, On Line Apps and filled the majority of communications needs. But, there are
Help. On the right side of the page notice buttons that add times when only a feature like application sharing will
this site to the users web folders and make this server the suffice, and so NetMeeting it is a necessary tool.
users default discussion server. The discussion bar is
shown at the bottom of the page with some discussion The workgroup web site, as the team’s central
items. Finally, the users’ MSN Messenger status is repository, rounded out the remaining Internet-based
displayed inside the web page in a “message center” frame. software project development needs. It was the students’
responsibility to update and maintain the site. They were
A Day In The Life asked to upload a working copy of their software project at
This section describes our experience in using these tools the end of each day. Thus, the most recently published
on a daily basis. First, everyone generally started work by version of the software could be always be downloaded and
mid morning. That is, we logged on sometime between run locally. Also, all other project-related materials such as
0700 and 1000. When a team member logs in each of us is design documents and presentations were stored there in an
immediately notified via Messenger. Thus all learned and organized, Internet-accessible place. Documents are easily
anticipated each other’s daily routines just like being in an downloaded from the site using Internet Explorer. Web
office. Also, all are notified when another person’s state folders permit direct (drag and drop) uploading and
changes, for example to “out to lunch”. downloading of files from Windows Explorer.
Several patterns of communications related to The other two major features of an IIS/OSE enabled
Messenger emerged. One pattern observed was when a web site are discussions and notifications as described in
student first logged in: one of us would expect to be Section 2.3. These features complete the asynchronous
contacted immediately. This was usually to discuss the communications required for Internet software
previous days work or a problem they were facing that day. development. All team members subscribed to be notified
Another frequent pattern was help in debugging. Often a when folders changed and when discussions were entered.
student would encounter a problem in coding and call for Discussions were found to be useful for a number of
help. Messenger permitted us to rapidly solve these purposes. First, posting comments about various aspects of
problems, and keep the software process moving forward. the documents on the web site when you are viewing them.
This was helped by the fact that a copy of the most recent This helps capture information that might otherwise be lost.
code was kept on the workgroup web site. Usually only one Second, it was often the case that we would review the
file was under change at the time, and usually only a small work posted to the web site late in the evening after the
section of code. The section of code in question could be students had gone home. So what might have been a
cut and pasted directly into Messenger. Messenger conversation had the person been present could
be recorded as a reminder for later.
Messenger also supports group chat. Groups chats were
frequently held and there were many times when multiple
projects, the workgroup web site and other sources
4. CONCLUSIONS AND FUTURE WORK
of project related information could be integrated
into a single management interface.
In closing we offer some reflections on the experience, and
give ideas for extending the Microsoft collaboration tools
to specifically support software engineering. Software Acknowledgements
development is a team activity and is best done when the
team is in the same physical location. On the other hand, Agata Bombek and Jerome Jamnicky for the tremendous
software engineering over the Internet seems unavoidable. effort they put into the summer project. The work reported
As reported on here, it can be efficient and even fun. In in this paper has been funded in part by the Co-operative
some ways it may even be superior. For example, using Research Centre Program through the Department of
Messenger, it is possible to help someone get over a simple Industry, Science & Tourism, Australia.
coding problem in a matter of a few minutes leaving your
desk and losing your work context. We did travel to the 5. REFERENCES
university once a week to spend the day in the office
working closely with the students. So, even with good 1. Barrios, A., et al. Generating Command and Control
collaboration tools, face-to-face meetings will remain a Systems in an Hour: the Microsoft Way. in 5th
requirement for software development. International Command and Control Research and
Technology Symposium. 2000. Canberra, Australia.
In terms of the Microsoft tools, they are straightforward 2. Eilert, F., et al. Consultative Specification Development
using Microsoft Office 2000 and Office Server Extensions.
and reliable as described above. Recall the students’
in Australasian Document Computing Symposium (ADCS
projects involved extending these very tools. It was 2000). 2000. Twin Waters Resort, Sunshine Coast,
remarkable given their limited programming experience Australia.
that they were able to learn and use the more complex 3. Beck, K., Extreme Programming Explained. 2000:
development tools (e.g. Visual Basic, VBScript, JScript, Addison-Wesley.
SQL Server, IIS/OSE, VML, etc.) so rapidly. As well, they 4. Cockburn, A. Characterizing People as Non-Linear, First-
administered their own Windows 2000 server in order to Order Components in Software Development. in 4th World
accomplish the tasks in an eight-week period. Based partly Multiconference on Systemics, Cybernetics and Informatics
on their work, some insight into enhancing and extending (SCI'2000). 2000. Orlando, Florida.
5. Microsoft NetMeeting,
the tools to support software engineering over the Internet
[Link]
are proposed: 6. MSN Messenger, [Link]
• FrontPage Wizard for a Software Team Work Site: 7. Microsoft Office 2000, [Link]
A wizard could be developed based on analysis of 8. Microsoft Office Server Extensions,
software engineering team requirements. The [Link]
wizard would ask a set of generic questions in 9. Microsoft 60 Minute Intranet Kit,
terms of how the project is to be managed, whom [Link]
the developers are and what common support tools 10. Microsoft Digital Dashboard Kit,
should be made available. Based on these questions [Link]
htm
a web site is generated that can be further tailored
to the teams needs.
• OSE Extensions to support Software Engineering
documents: tools and extensions, such as the
Discussion Extractor or Annotation Service, could
be developed to support software-specific
document design, implementation and testing
requirements.
• OSE Extensions into Visual Studio: just as Office
2000 integrates the collaboration tools directly, it is
possible to extend the IDE’s of Visual Studio and
other software development tools to provide
collaboration access.
• Digital Dash Board: Managers spend most of their
time reading email and checking their calendar. The
Digital Dash Board [10] is an extension to Outlook
2000 intended to give managers a single, real-time
view into the most important aspects of their
business. For managers of software development