Recent Changes -
Search:

ASE Group

Current Projects

Downloads

Past Projects

AP Jazz

Integrating synchronous distributed project planning with executable acceptance test driven development for agile software teams

Researchers 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

  1. Agile Alliance Functional Testing Tools Visioning Workshop http://www.agilealliance.org/show/1938
  2. J. Andrea: Envisioning the Next Generation Functional Testing Tools, IEEE Software, May 2007.
  3. AgilePlanner http://ase.cpsc.ucalgary.ca/ase/index.php/AgilePlanning/AgilePlanner
  4. K. Beck: Extreme Programming Explained: Embrace Change, 2/e, Addison-Wesley, Boston, MA, 2004.
  5. C. Deng, P. Wilson, F. Maurer: FitClipse: An Eclipse Plug-in For Executable Acceptance Test Driven Development, Proc. on Eclipse Technology eXchange (ETX 2006), Interactive Poster, Oct. 2006.
  6. C. Deng, P. Wilson, F. Maurer: FitClipse, A Fit-based Eclipse Plug-in For Executable Acceptance Test Driven Development, Proceedings of the 8th International Conference on Agile Processes in Software Engineering and eXtreme Programming (XP 2007), Como, Italy 2007 (Springer).
  7. Fitclipse http://ase.cpsc.ucalgary.ca/ase/index.php/EATDD/FitClipse
  8. C. Kaner: Cem Kaner on Scenario Testing: The Power of What-If and And Nine Ways to Fuel your Imagination, Better Software, 5(5): 16-22, 2003.
  9. J Kerievsky: Storytesting, http://industrialxp.org/storytesting.html (last accessed: 1/11/2007)
  10. B. Marick: Agile testing directions: business-facing team support, http://www.testing.com/cgi- -bin/blog/2003/09/05#agile-testing-project-4 (last accessed: 1/11/2007)
  11. F. Maurer: Supporting Distributed Extreme Programming, Proceedings Agile Universe/ XP Universe 2002, Springer, 2002.
  12. F. Maurer, G. Melnik: Driving Software Development with Executable Acceptance Tests, Executive Report on Agile Project Management, Vol. 7, No. 11, Cutter Consortium, November 2006.
  13. G. Melnik, F. Maurer: Multiple Perspectives on Executable Acceptance Test-Driven Development, Proceedings of the 8th International Conference on Agile Processes in Software Engineering and XP (XP 2007), Como, Italy 2007 (Springer).
  14. G. Melnik, F. Maurer: The Practice of Specifying Requirements Using Executable Acceptance Tests in Computer Science Courses. Proc. 20th International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2005), ACM Press, 2005.
  15. G. Melnik, F. Maurer, M. Chiasson: Executable Acceptance Tests for Communicating Business Requirements: Customer Perspective, Proc. Agile 2006, IEEE Press: 35-46, 2006.
  16. R. Morgan, F. Maurer: MasePlanner: A Card-Based Distributed Planning Tool for Agile Teams, Proceedings International Conference on Global Software Engineering (ICGSE 2006), IEEE Computer, 2006.
  17. R. Morgan, J. Walny, H. Kolenda, E. Ginez, F. Maurer: Using Horizontal Displays for Distributed & Collocated Agile Planning, Proceedings of the 8th International Conference on Agile Processes in Software Engineering and eXtreme Programming (XP 2007), Como, Italy 2007 (Springer).
  18. Rally http://www.rallydev.com/
  19. XPlanner http://www.xplanner.org/
Edit - History - Print - Recent Changes - Search
Page last modified on March 22, 2009, at 01:23 PM