Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I was wondering if there's some software to manage a XP project. I'm starting a school project and I want to follow this methodology, but, we don't have a place to work. Each one works at home (in pairs), therefore I can't follow XP ambient patterns.

So, anyone knows of any software to manage this?

share|improve this question

closed as not constructive by Joris Timmermans, Jalayn, gnat, MichaelT, GlenH7 May 23 '13 at 0:00

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers 3

up vote 2 down vote accepted

XP is agile and extreme. If management is bad, XP makes the worst enemy out of it, so that the management is undefined :)

Cards

CRC cards can be used regardless of the process for as long as you follow OOP, same for prototyping which I'd expect mentioned here.

Prototyping

In XP, the idea is typically first coded as a small prototype and then either thrown away for a better idea, or refactored into the final solution. (details)

Pair Programming

This is one important aspect of XP which you won't achieve by remote collaboration. A couple of programmers (not a love couple) sits at the same table with just one keyboard. While one person writes the code the other is meant to correct him or suggest useful improvements. (details)

Reporting

XP is iterative and incremental. There can be a release plan with features on the CRC cards and the schedule in which they are meant to be implemented. For every planned release, pile up some cards. Be careful not to exceed the available slot. You need to be measuring whether all those cards fit in, as explained in the next point.

Release & Iteration Planning

First take one CRC card which you consider a small task, implement it, measure it, and then try to size the card to other cards. How many times bigger are the tasks on other cards compared to the card you've taken for your sizing? Use this technique to roughly estimate the size, so that you can stuff the right amount of work into each iteration.

Risks

The biggest risk of XP, in my opinion, is unnecessary rework caused by unclear / unstable requirements or too much refactoring caused by the two programmers striving for perfection. Secondly, there is a risk the two programmers won't get along well. This may happen surprisingly often, providing they haven't been working together previously in this setup. XP is still a big experiment. I wouldn't consider it as reliable and dependable as conventional techniques such as the Unified Process.

Applicability

This is up to you to decide. Where may XP apply well and why?

Software Tools

Although I am unaware of any specific XP project management software, other software may fit the purpose, such as CASE tools supporting CRC modelling and any Agile release / iteration planning software.

For example: QuickCRC, Visual Paradigm, others. (CRC)

Atlassian Greenhopper, VersionOne, Extreme Planner (Release / Iteration planning)

Since you are collaborating remotely, consider also using some team collaboration software, such as Atlassian JIRA.

share|improve this answer
    
I was just looking for a software to create CRC cards, basically. I know, it's highly recommended to avoid software's to manage a XP project, but, in this particular case I don't have another option. I appreciate a lot your help, thanks! –  Bernardo Vale Dec 22 '12 at 12:16
    
"unnecessary rework caused by unclear / unstable requirements" is a risk on any project regardless of methodology and XP actually seeks to minimize this –  jk. May 22 '13 at 14:52

Whilst I don't know if this strictly speaking is designed for XP Programming, I would say you should have a look at https://www.trello.com/

This will easily let you share 'cards' with your fellow collaborators, add tasks to them etc...

From their help guide:

To give you an example, our board consists of five lists ordered left to right: Ideas, Design, Development, Implemented, and Deployed. For us, a card is usually a bug or a feature. A feature card that has finished being designed will be moved from the Design list to the Development list, and so on down the line. When we push bad code, we move cards from Deployed to Development. We sort cards vertically in a list to designate priority, the top being the highest priority. The cards with bad code are usually at the top. One look at the board will tell you where a feature or bug is in the development cycle.

https://trello.com/about

share|improve this answer
    
It's a beginning. Thank you! –  Bernardo Vale Dec 17 '12 at 12:14

I would recommend https://www.flying-donut.com. It is inspired by scrum and could easily host an XP project. In Flying Donut you are working on iterations and items. Items are then broken down into tasks. A task can be assigned to several people in case of pair programming.

Disclaimer: I have been using it for many months, since I helped building it, and I think it is a great tool.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.