ASE GroupCurrent Projects
DownloadsPast Projects |
AP JazzIntegrating synchronous distributed project planning with executable acceptance test driven development for agile software teamsResearchers involved: Shelly Park, Frank Maurer (PI) Agile methods are moving into the mainstream of software development at the same time as the software industry sees more and more globally distributed teams. Agile teams follow an iterative, incremental and test-driven development approach. Short iterations make it impractical for distributed agile teams to gather in the same room for project planning meetings. As a result, synchronous planning meetings are being conducted with team members in different locations using telecommunication and sometimes (web-based) agile planning tools (e.g. MASE [11], XPlanner [19], Rally [18], Jazz Agile Plan Editor etc.) for creating a shared workspace displaying plan information. Our research showed that, compared with collocated meetings, existing agile planning tools change the social dynamics: meetings become less collaborative due to the fact that on each site usually a single user controls the mouse/keyboard for using the tool, confusion arises from inconsistent plans due a lack of real-time updates of web based tools, and meetings are slowed down as, for example, pointing to specific stories in the shared workspace is not supported. Overall, distributed planning meetings “feel” less natural compared to collocated meetings. Our AgilePlanner tool [1, 12, 17] is addressing some of these issues. It uses a whiteboard and index card metaphor to support card-based planning. The AgilePlanner Server updates all connected clients in real time so that all team members see the same cards, their movements in the shared workspace and edits of card information. Its telepointers allow distributed team members to point to story cards when needed. AgilePlanner still lacks support for multiple users on a single site as well as reporting capabilities. In the proposed project, we want to include single-site multi-user support into AgilePlanner, integrate our tool with the Jazz work item component and empirically evaluate synchronous distributed agile planning in more detail. After distributed teams agree on an iteration plan, development starts. Executable acceptance test driven development (EATDD; see also: storytesting [9], customer tests [4], example driven development [10], scenario tests [8]) is a process where executable acceptance tests/specifications are written before the work on a feature commences [12, 13, 14, 15]. Acceptance tests should be linked to user stories to support progress tracking and reporting. In the proposed project, we want to investigate the impact of EATDD on distributed software teams. While initial evidence suggests that EATDD improves team communication, it is far from conclusive. We will investigate the impact of EATDD on communication between business stakeholders and the development team and determine if using EATDD improves software quality and/or customer satisfaction. We also will investigate different presentation formalisms for representing executable acceptance tests: Formalisms could be based on text, tables, or use case examples. They could also be using business facing diagrammatic notations (e.g. flowcharts, sequence diagrams), GUI interactions, shapes or colors. Current tools (e.g. FIT, FitNesse, GreenPepper) for supporting EATDD in a distributed setting are limited [2, 1] and as part of the proposed project we will address some of the identified issues by expanding our FitClipse tool [7, 6, 5]. FitClipse extends FIT by automatically separating failing tests into regression failures and unimplemented features. As part of the proposed project, we would like to integrate FitClipse with the jazz server as the backend to provide story-oriented progress reporting. We also would like to extend FitClipse’ refactoring support for acceptance tests. For more information on IBM Jazz, please go to the Jazz community website https://jazz.net/community/academic/?p=relatedResearchProjects To download APJazz, go to installation and user manual Relevant Publications:
Reference
|