Improving Software Time to Market
- Robert Biddle, Carleton University
- Kevin Schneider, University of Saskatchewan
Supporting an agile process for Surface Applications will foster better applications, developed faster, and inform the design of tools and architecture. We can also apply our research to our own development, thus increasing the advantage.
This research theme includes the following sub themes:
- 2.1 Agile Development and Human-Centered Design
- 2.2 Application Specific Development Processes
- 2.3 Requirements Analysis and Testing
- 2.4 Development Tools
- 2.5 Collaborative Management of Software Development
Theme 2 therefore covers the broad range of issues that arise in the process of creating software for surface applications: the collaboration between design and development (2.1), the acknowledgement of distinct domains (2.2), being driven by needs (2.3), appropriate tools (2.4), and the importance of self-monitoring and self-management (2.5). Theme 2 connects with theme 1 because of the critical emphasis on understanding human interaction in the design of surface applications, and with theme 3 because of the role of software infrastructure in empowering development practice.
Work is underway on a wide range of projects covering all the subthemes. In subtheme 2.1, Biddle and Brown are working on Understanding Artefacts for UX-SE Collaboration to understand best practice and (also in theme 2) to ground work on new artifacts.
Subtheme 2.2 involves work on a range of innovative tools that support particular domains. Biddle is leading work on a Multi-touch Collaborative Log Browser and a Multi-touch Agile Card Wall. Maurer is leading work on ActiveStory Enhanced, a Low-fi prototyping & distributed usability testing environment, on Taggy: a tool for Agile Knowledge Management, and on TableNOC: a system for Monitoring and controlling telephony networks using multitouch tables/displays. Sillito is working on Pulse, a Project visualization for release planning system, and Scott is working on Development of new methodologies for assessing the effectiveness of collaborative environments.
One specific focus area, subtheme 2.2.2, involves game prototyping, where Graham is working on Using a Surface to Facilitate Game Sketching, Greenberg is studying How People Interact with Surface-Based Console Games, Schneider is working on Cognitive Gameplay Requirements, and Mandryk is exploring Critic Proofing: How Using Critic Reviews and Game Genres can Refine Heuristic Evaluations.
The emphasis in subtheme 2.3 is on needs, and the growing usage of using examples to aid in elicitation and testing as a way to drive design and facilitate acceptance. Schneider is leading work on Automated Acceptance Testing of Surface Applications, and Maurer and his students are developing TouchToolkit: a Device independent toolkit for multi-touch gesture recognition & testing.
Subtheme 2.4 concerns tools, and a number of the projects in subthemes 2.2 and 2.3 are also involved here because they involve research that leads to new tools. In addition, Gutwin is leading work on Visualization of Complex Version-Based Collaborative Processes, and Kienzle is working on Bringing Java to the Table and on A Tool for Agile Software Design Exploration.
Similarly, subtheme 2.5 has a focus on self-management, and many of the subtheme 2.2 projects also contribute here: Maurer’s Taggy: Agile Knowledge Management tool is a prime example. Schneider is also working on User Interface Traces: Supporting the Maintenance of Interactive Software, and shows how projects involves work ranging from best practice (2.1) through to ongoing management (2.5).
Additional information related to Theme 2 related projects and results from past and ongoing projects can be obtained under the Projects page, the Applications page and the Papers, Presentations, and Videos pages of the website.