Desenvolvimento ágil para groupware na Web 2.0
Abstract
This project investigated an Agile Development Process for groupware on theWeb 2.0. The
process has its based in different technologies, especially those of the Scrum agile method,
integrated with functional testing at the acceptance level. To assist this integration, we
established a greater intercommunication between the process disciplines, using the User
Stories as artifacts in all disciplines. The process aims to take advantage of the agility of the
Scrum without losing quality in the development of applications. It was developed based
on the Scrum process, with the addition of technologies that support the creation and use
of artifacts in the search for integration with functional testing. The process uses three disciplines,
each one refining the User Stories, which occur in different degrees of abstraction
throughout the development. These stories should be a most faithful portrait possible of user
needs and are used both in the form of cards (Story Cards), for requirements specification,
and in an executable format to guide the implementation and work as functional testing.
Mockups are used to complement the requirements specified in the cards, assisting in the
task of representing the requirements. This set is the basis for the creation of User Stories
in executable format. Other modeling artifacts, like Class Diagram, can also be specified in
order to elicit requirements of the application. The procedure is supported by tools developed
to enable the integration of the functional tests. These tools define a tests specification
language to write User Stories, created as a DLL for Visual Studio, and a converter of these
User Stories for functional testing in C# code. Thus, the proposed process provides a greater
integration of tests during the development and execution of each discipline in order
to produce higher quality applications. To test the process, applications were developed in
the domain of groupware in Web 2.0. The adoption of this area was motivated by the idea
of exploring the development of collaborative software that supports group work of people
involved in common tasks.