Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP...
-
Upload
claire-stafford -
Category
Documents
-
view
212 -
download
0
Transcript of Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP...
Agile Group – DIEE, Università degli studi di Cagliari
XPSwiki: an Agile Tool Supporting XP Process
Sandro Pinna, Paolo Lorrai, Giovanni Corriga
DIEE – University of CagliariAgile Group
2Agile Group – DIEE, Università degli studi di Cagliari
Summary
• Tools for XP and the Planning Game
• XPSwiki requirement and technical choices
• The PG and how XPSwiki supports it, XPSwiki main features
• Usage of XPSwiki
• Conclusions and call for collaboration
3Agile Group – DIEE, Università degli studi di Cagliari
Tools for Extreme Programming
• XP does not advocate the use of any specific tool
• However, typically XP does make use of automatic tools
• For instance:– X-Unit for unit testing
– The Refactoring Browser for refactoring
– Cruise Control for continuous integration
4Agile Group – DIEE, Università degli studi di Cagliari
Requirement tracking and project management
• XP strives to be agile and lightweight• XP doesn’t encourage the production of documentation• The main tools used for these activities are index cards,
whiteboards and flipcharts acting as “information radiators”
• XP does not explicitly forbid the use of automated tools • However, there is a strong message that “real XPers”
use index cards, direct communication and the code itself to drive and document a project
5Agile Group – DIEE, Università degli studi di Cagliari
However, …
• Many organizations are accustomed to use automated tools, and they would welcome the availability of automated tools aiding requirements and project management
• The management is often scared of a methodology that does not prescribe keeping written documents to track project advancement and who is in charge of what
• An automated support tool could also be a powerful learning tool for beginners, who are facilitated by the structure it enforces
• Last but not least, distributed developers wishing to use XP practices need a tool to coordinate the team
6Agile Group – DIEE, Università degli studi di Cagliari
Automated tools supporting the PG
• A number of tools supporting XP process, or a part of it, have been proposed
• All these tools are Web-based• We may quote: AutoTracker, Milos-ASE,
Xplanner, XPCGI, XPWeb, Twiki XP Tracker, Iterate, XPPlanIt and VersionOne
• Here we present the development and usage of XPSwiki, yet another tool supporting requirement gathering with user stories, and the Planning Game
7Agile Group – DIEE, Università degli studi di Cagliari
XPSwiki requirements
• agility – the tool must be easy to use and easy to adapt and reconfigure
• Web-based – the tool must be accessed through standard Web browsers
• interoperability – the tool should be easily interfaced with other development tools
• modularity and extensibility• open-source – the tool should be developed using
an open-source environment
8Agile Group – DIEE, Università degli studi di Cagliari
XPSwiki features
• It makes use of Wiki technology• It is implemented in Smalltalk language, with a full
object-oriented data structure• It uses Squeak open source environment, and its
Wiki engine called “Swiki”• It keeps track of project changes through a
versioning system
9Agile Group – DIEE, Università degli studi di Cagliari
The Planning Game
• The key entities of the XP Planning Game exhibit a well-built tree structure:– a project is made up of releases– a release is made up of iterations– an iteration implements user stories and acceptance tests that are
related to each other– user stories and acceptance tests are made up of tasks– a team is made up of developers– a developer accepts responsibility of one or more tasks and usually
pair-programs them with one or more developers– each task has one and only one responsible developer, while zero
or more team members may pair-program the task together with the developer in charge
10Agile Group – DIEE, Università degli studi di Cagliari
BDUF? – UML class diagram of PG entities
11Agile Group – DIEE, Università degli studi di Cagliari
XPSwiki supports now:
• Team and team members’ definition• Creation of a new project• Project release and iteration definition• User stories definition, estimation, and assignment to
iterations• Acceptance tests definition, estimation, assignment to
iterations, and relationships with user stories• Decomposition of stories in tasks• Assignment of tasks to developers and task estimation,
including PP• Tracking of advancement and integrity computation at
project, release, iteration, user story, acceptance test, and task level
12Agile Group – DIEE, Università degli studi di Cagliari
XPSwiki will soon support:
• Pretty printing in RTF format of advancement reports at iteration, story and task level, and of acceptance test completion
• Process metrics and statistics collection• Graphics showing project advancement and other
metrics• Interface with CVS configuration management system
to associate with each task the code actually written every day
• Interface with environments such as Eclipse, and others• Extensions to support SCRUM and FDD
13Agile Group – DIEE, Università degli studi di Cagliari
XPSwiki At Work
14Agile Group – DIEE, Università degli studi di Cagliari
Conclusions and call for collaboration
• XPSwiki is being developed under a MIUR FIRB 1.6 Million Euros grant to study agile methodologies
• Its most original features are:– The automated reporting capability– The gathering of metrics, including dynamic metrics
• Both features ease compliance with software quality certification (ISO 9001-2000 and ISO 15504)
• We are looking for firms wishing to try the tool:– To manager their XP projects– To gather and share process metrics
• Contact: [email protected]• Project Site: www.agilexp.org/xpswiki