XP Swiki


Published on

(ESUG 2003, Bled)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

XP Swiki

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