140 likes | 255 Views
XPSwiki is a web-based tool designed to support the Extreme Programming (XP) process, facilitating the Planning Game and requirements gathering through user stories. Developed in Smalltalk using open-source technology, XPSwiki emphasizes agility, user-friendliness, and interoperability with other development tools. With features such as automated reporting, project tracking, and version control, it helps teams manage their XP projects effectively. XPSwiki aims to bridge the gap between traditional project management and Agile practices, enhancing collaboration and transparency in software development.
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