To round out the series, this proposal went in last year, but was rejected. I wish I could blame it on wrong place/wrong time, but NSERC (Canada's major funding agency for science and engineering) has rejected everything related to DrProject that I've sent them as well. Maybe someone's trying to tell me something?
The goal of my research is to improve the uptake of modern software development tools and practices by making them more appealing and effective. I am primarily focused on integrating Web 2.0 collaboration tools into the development lifecycle in order to make good practices more appealing to junior developers (including students), but believe that answers and solutions will be applicable in other areas and to other groups. If this research is successful, developers will be better prepared to participate in both open and closed source development projects---particularly distributed ones---earlier in their careers.
The primary vehicle for my research is DrProject, a software project management portal similar to Google Code that has been tailored for classroom use. The research described below will use it as a platform to study how Web 2.0 collaboration tools can be integrated into the software engineering process. The amount requested to support this work is US$77,725.00 (CDN$82,000).
Integrating Chat into the Development Process
Instant messaging (IM) is the de facto communication channel for many development teams (particularly ones with many younger developers), but is not integrated into current portals. As a result, an ever-increasing volume of project-related discussion is invisible to later search. I would therefore like to integrate instant messaging into DrProject using pre-existing clients such as Google Talk, complete with searchable archives of conversations, wiki-style hyperlinking, etc. I am particularly interested in ways of linking in and out of chat, and in accommodating the social conventions around it (particularly its "unofficial" nature).
Using Web-Based Spreadsheets for Requirements Management
Jorge Aranda, Steve Easterbrook, and I have been surveying small and medium-sized enterprises (SMEs) to find out what their requirements management practices actually are, and have discovered that many rely on spreadsheets. These provide "just enough" structure for costing and traceability, particularly when enhanced by templates and/or some sort of reporting engine. What would be the effect of integrating web-based spreadsheets such as Google Spreadsheets into project wikis? Would developers, managers, and customers make use of seamless integration between issue tracking, version control statistics, and a calculation engine (for example, to provide continuously updated cost and completion estimates)? What other practices would emerge, and how transferable would these be?
Reverse-Engineering Workflow and Attention from a Configurable Ticketing System
Work is currently under way to make DrProject's ticketing system fully customizable: in a fresh installation, it will be little more than a shared to-do list, but users will be able to add new fields and linkages to meet their needs through a WYSIWYG AJAX forms interface. Studying what users add, and what they then actually use, will provide valuable information about what drives and facilitates real-world collaboration that is difficult or impossible to get from studying fixed-format workflow tools.
Continuous integration is now accepted as a best practice, particularly in the agile community. Can this be extended to "continuous documentation", i.e., regenerating the documentation for a project upon every check-in and integrating it into the project wiki? What would be the impact of making this a two-way process, i.e., reflecting edits to those wiki pages back into the code base?
Explanation of Award
Funding provided by this award will be used to employ an intermediate-level programmer for six months to implement several of the features described in the proposal, and a junior technical writer for three months to prepare documentation and tutorial materials needed to encourage and facilitate adoption. Both will work directly under the principal investigator's supervision, in close cooperation with a team of three graduate students who will lead the design of those features, and conduct empirical field studies of their use as they are deployed. Preliminary results will be available within 12 months of receipt of funding.