|
Clirr rocks!
[
vmassol
]
Clirr is one of these tools that would deserve to be known better. I have mentioned it several times in other posts but it's really the first time I get to use it in real. It rocks! I'm about to release Cargo 0.5 and I wanted to get an exact list of the API modifications we have done compared to version 0.4. Here's the kind of output Clirr gives (the full output is available here):
Even though we're using JIRA with an Iteration-Driven Development strategy (IDD) it was still a very interesting exercise to verify that we had not missed any issue by running Clirr on the source code. In addition, it provides a more detailed view of what exactly has changed in term of API which our JIRA report does not provide. The next step would be to use it to fail our build whenever someone introduces a public API break. It would be quite easy for us because we've cleanly separated non-public API from public APIs by using internal packages (see the Cactus API design rule to see what it means). Of course sometimes, you want to voluntariy add a breaking change. That's legitimate but it has to be controlled. The strategy would be to have the build fail and then if the change is voluntary to exclude it from Clirr. Well done Lars! TrackBackVincent, thanks for your kind words. I'd also like to thank Simon Kitching - without his work Clirr would be nowhere. --Lars Kühne, April 30, 2005 03:55 PM
Vincent, you talk about IDD using JIRA wich consists of entering every development task which have an impact on user before implementing it. I've found a post from you on this subject (http://www.xwiki.org/pipermail/developers/2005-April/000241.html) but can't manage to find any more detailed material. I'm used to follow this practice which can quickly begin developement centric and can be subtle (How do you affect task to pair programmers ? is IDD like XP planning game ? What do you answer to master Ron Jeffries when he advice you to use simple card ;-) ?). Finally, my question is : do you know any good article on the subject or do you plan to write one ? --Freddy Mallet, May 2, 2005 01:11 PM
> Vincent, you talk about IDD using JIRA wich consists of entering every There's also some information here (but not more details I fear): http://blogs.codehaus.org/people/vmassol/archives/000905_6_jira_issuesmells.html > I'm used to follow this First I've never done pair-programming so I won't know from experience but I don't see what it would change. The pair is to be considered as one person, right? The only thing that it would change is the velocity and thus the ability to have more cards/stories/issues per iteration I think. > is IDD like XP planning game Yes. Planning game is the strategy. IDD is one embodiment of it using an iteration-friendly issue tracker. It's just a fancy name I've made up... :-) > ? What do you answer to master Ron Jeffries when he advice you to use Sure, that's a good advice. The cards are physical and as such probably carry more weight (in both sense of the term) for assignees. However, I work in environments where I have distributed teams (onsite and offshore) and physical cards are not very handy even though Fedex/UPS are very fast ;-) > Finally, my question is : do you know any good article I don't think I have enough meat for a full article just yet but maybe. IDD is being followed by more and more open source projects. It doesn't need a proper planning game but it's the same philosophy and for business projects it's absolutely crucial to have this planning game to define priorities, needs, etc. For OSS projects it's less a necessity as tasks are implemented on a itch-to-scratch basis.... :-) --VincentMassol, May 2, 2005 01:47 PM
> IDD it's just a fancy name I've made up... :-) Perhaps, but a name was missing to identify this practice and you 've brought it ;-). You've given two acronym definitions: Issue Driven Development and Iteration Driven Development. IMHO Issue Driven Development suits well as iterative is a more general agile notion. > The pair is to be considered as one person, right? In front of the computer for sure, but in the tracker system it's not so obvious. As pairs are encouraged to split as often as possible (in a week) I can have pair 'Marcel-Robert' for issue-1, pair 'Marcel-Paul' for issue-2 and 'Vincent-Robert' for issue-3. So in our case we affect issue to two programmers and each one can follow/manage his issues in his own tracker tray. In IDD approach: - we also encourage developpers to give and enter an estimation for each issue before beginning to code. Not to stress them or blame them if estimation is not correct but to continuously improve team estimation capability. - each user story (planning game) is an issue and each technical task required to complete the user story is a sub-task. So we can easely check if user story estimation is in sync with technical tasks estimation sum and easely estimate user story completion based on technical tasks completion. - having to enter a issue in the tracker system and so its description constrain both developers and project leader to correctly understand what they are talking about Moreover as you say: - everything that is meant to be developed is visible to everyone on the - when a release is performed, the user change log is automatically - users participate to the development by submitting ideas to the issue - a single system, making it easy to get the status of the next version. so IDD is being followed by more and more open source projects but not in so many business projects (at least in France and in Switzerland). A lot of compagny use tracker system to follow bugs but not to manage projets. Perhaps the acronym IDD was just missing... ;-) --Freddy Mallet, May 2, 2005 11:02 PM
Post a comment
|