140 likes | 247 Views
XPSwiki: an Agile Tool Supporting XP Process. Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE – University of Cagliari Agile Group. Summary. Tools for XP and the Planning Game XPSwiki requirement and technical choices The PG and how XPSwiki supports it, XPSwiki main features
E N D
XPSwiki: an Agile Tool Supporting XP Process Sandro Pinna, Paolo Lorrai, Giovanni Corriga DIEE – University of Cagliari Agile Group
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
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
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
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
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
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
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
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
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
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
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: pinnasandro@diee.unica.it • Project Site: www.agilexp.org/xpswiki