Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP...

14
Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE – University of Cagliari Agile Group

Transcript of Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP...

Page 1: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 2: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 3: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 4: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 5: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 6: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 7: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 8: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 9: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 10: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

10Agile Group – DIEE, Università degli studi di Cagliari

BDUF? – UML class diagram of PG entities

Page 11: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 12: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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

Page 13: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

13Agile Group – DIEE, Università degli studi di Cagliari

XPSwiki At Work

Page 14: Agile Group – DIEE, Università degli studi di Cagliari XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE –

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