Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
This is slightly off-topic, but can only be answered by programmers and is useful to many programmers:
Do you think it is useful to use a bug tracking system to keep track of personal todo items and to Get Things Done? I have not tried that; in fact, I don't have much experience with bug tracking systems. For my todo lists, I have played around with Google Tasks and Remember The Milk, but both of them have shortcomings:
Google Tasks: I like that you can create todo lists easily, can reorder items in the list and easily create hierarchies. But it is way too simplistic and does not allow to tag tasks or move tasks from one list to another.
Remember The Milk: It is nice and sleek, but you cannot create hierarchies of tasks, cannot arbitrarily reorder tasks and cannot set dependencies of tasks.
That's where a bug tracking system should come in:
Since I think (maybe too much?) like a programmer, my tasks have a natural hierarchy and a tree of dependencies, like in a Makefile. Here are two examples:
The task of writing my thesis is done when several milestones are done. Some of these milestones can run in parallel (writing background chapter, running experiments A, running experiments B), others depend on each other (writing main chapter depends on first getting results from experiments A).
The same is true for more personal goals: I want to host a dinner party, which requires finding a good date, finishing the guest list, making invitations, finding nice recipes, cooking, ...
For me, all these tasks involve hierarchical dependencies and milestones that bug tracking systems should be able to handle?
Here is an article that explains how to do advanced GTD with Remember The Milk, but he has to use several workarounds: (1) add a general tag 'wait' to tasks that are waiting for others to be completed but you cannot enter the IDs of the tasks that they are waiting for, (2) starting some special tasks with "." so that they are at the top of the alphabetically sorted list and signal that others are 'below' it as subgoals. Bug tracking systems should be able to handle these things much more naturally?
Does anyone have experience and can recommend a lightweight bug tracking system that might be good for this? Other requirements: Should run as web app, should allow me to tag a task with several tags (like 'work', 'fun', 'short-task', 'errands', ...).
I have used quite a few bug/issue tracking systems and also task management and project management systems so far for professional purposes. Personally I am big fan of Getting Things Done, time and task management. For Getting Things Done, I also had my time with Google Tasks and Remember The Milk. Although they simply do the work, they have several shortcomings, as you mentioned before.
I have tried several things and within the scope of this question I will try to breakdown my experience with this tools based on your requirement.
Bugzilla
Bugzilla is a mature product which has several features, it is a great bug tracking software. You can easily create a demo instance if you want to give it a try. But based on your requirements, I don't think it is the best fit.
Redmine
I have played with Redmine, it is OK as an issue tracking system but I was not very satisfied with its usage. You can have a look at the demo page.
MantisBT
I also happen to play with MantisBT and in my opinion MantisBT is a barely OK bug tracking system and I don't think it will be the best fit.
Team Foundation Server
I use TFS on a daily basis, but mostly for version control and it is many things besides version control. Work items can be used as bug tracking and it a great tool for team management but it is not lightweight and I also don't think it is the best fit.
Wunderlist
Wunderlist is a great tool for GTD. It is very simple and list based. You can create several lists, you can create reminders etc. For personal use, this is my favorite choice for GTD, up to now. Although pro version has a few more features, it won't solve your problems based on your requirements.
Basecamp
I have used Basecamp, mainly for project management, task and issue management. You can create projects, and create tasks for each project. It is very easy to use and if you want to collaborate it is very easy. But it has its shortcomings.
In my humble opinion conventional issue tracking systems are no good for Getting Things Done. From what I understand, you need a simple yet powerful project management tool. Which brings us to our winner.
Trello
Trello is a web-based project management application developed by Fog Creek Software
Some of the features are:
You can create projects. Projects are shown as lists.
Create tasks. Tasks are shown as cards. You can also assign tasks to
other individuals.
You can move cards easily from one project to another, i.e. from
Doing to Done.
You can use tags, attach files and create checklists and etc.
It is very well explained in this short video : http://www.youtube.com/watch?v=xWiunIolf4s
Also #JoelSpolsky explains it in detail here : http://www.youtube.com/watch?v=aaDf1RqeLfo
In my opinion Trello would cover exactly what you need, most probably even more.
FogBugz is a nice for GTD
I keep my (mostly work-related) GTD tasks in my FogBugz database and am quite happy with it. You can try the hosted version for free:
http://www.fogcreek.com/FogBUGZ/IntrotoOnDemand.html
I'm very happy using https://www.pivotaltracker.com for this purpose. Pivotal tracker is an agile project management tool. It lets you estimate and track the effort (on a scale of 1-5, not real time estimates.) It then lets you track your velocity on each specific project.
Within a project stories can be in different panes such as 'active', 'backlog', 'icebox', etc. It's easy to see at a glance what is in progress and what is coming up. Simply drag and drop to rearrange your queue of stories.
I have a number of projects such as my boat, homestead, etc. Stories can have tags and also subitems.
Pivotal Tracker doesn't have any scheduling or reminders. The idea is that you'll be looking at it daily and reorganizing stories as you go.
It also has an open API and quite a few supporting apps have been built for it. I personally use PivotalBooster on my mac, especially during my internet blackout from 7-9PM daily.
One thing I wish I could do easily is print out the stories for a project. It shouldn't be hard to do with their API, I just haven't taken the initiative.
Before this I tried Trello and found it to be bit more work than Pivotal Tracker. I also spent a fair amount of time with org-mode in emacs, and while it is pretty amazing I found it cumbersome.
I've had alot of success using the Agile Software Project Management Software JIRA. It has user stories, estimation, customizable formats, export to excel, and many other great features. There is a free version, and the commercial version for up to 10 developers is $10 a month. It has many plug ins available including ones that connect to github and svn repositories. You can easily attach images and files to each issue/bug. You can easily use it for new projects as well as bug tracking.
Redmine, pretty awesome, free, opensauce etc.
http://www.redmine.org/
Edit:
There is a fork of Redmine that looks promising, ChiliProject, https://www.chiliproject.org/
Demo is here.
Not sure why they forked Redmine, but i believe they wanted faster release cycles and more open to community changes.
I suggest http://www.abstractspoon.com/tdl_resources.html I have used it for many years and find it quite sufficient for my needs. I believe it also fits what you are looking for.
Look at the comparison of existing issue trackers.
http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
I think you can easy make your choice.
Regards.
I've used dozens of application lifecycle management tools, from basecamp to jira to wunderlist, assemblr and many more, but the one I keep coming back to is the simple issue / milestone managment tool set built into github.
I like github mostly because it's got all the source code version control stuff a project needs, (Git is really nice to use) plus zillions of hooks for notifying other systems upon commits. It's got simple collaboration setup and management, allows you to publish pages to promote and describe your project, allows multiple projects, accounts range from free to cheap to corporate depending on your needs (I've found the cheap option works very well for me as a freelance developer), and the task / issue / milestone management system is simple but excellent. It also throws in a very good wiki system for collaborative documentation, and allows hooks for a range of continuous integration / build and test on commit tools, meaning you can control all aspects of a project lifecycle easily from one dashboard. It's also much more lightweight than many others such as trello which rely on a lot of client-side fancy stuff and often feel sluggish when all you want to do is quickly pop in and tick off a task. There are also good apps for iPhone and Android that interface well with GitHub, meaning you can use it as a mobile task manager with ease.
So, based on the requirements you specified in your question I'd suggest GitHub would satisfy you completely.
Note I am not affiliated with GitHub in any way, this is a recommendation based on my years of actual experience with many such systems.
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
What is a best way to organize many software development projects, interaction with clients, project documentation, sources, emails, knowledge, time tracking, issue and features tracking, support for releases and versions etc. for a small company?
For me (and I believe for many others) it is obvious that it must be some sort of web-based solutions. It would be great if it could provide an interface for iPhone (if not, it is also OK).
Important thing: it must be hosted on our servers, so PHP + MySQL is the best platform so far.
I have found the following system to consider:
http://www.activecollab.com/ (but I didn't found issue tracking as well as support for releases and versions, so it is not the best match for software development company)
http://www.mantisbt.org/ (Great tool, but no project planing...)
http://www.twproject.com/ (didn't try yet, but it has very strange interface)
But none of them is a 100% solution for me.
It also should (but not must) support SCRUM
We have about 25 people in our team and about 50 from client side. At once we run about 3-7 projects (some in dev. phase, some in support).
So, my questions: does anybody knows any good web-based system that gives everything software development company needs? I believe this information will be useful for many of us.
I would recommend FogBugz
They have a very interesting (admittedly not everyone's cup of tea) scheduling system and is apparently supporting scrum.
Their support for release management is something i'm particularly fond of, but i should also say that i have very little experience of other similar systems.
Another feature that I like is the ability to link different e-mail accounts as well as pure HTML forms to different projects.
Oh, and it is not a MySQL/PHP solution.
Some of the features are:
Issue tracking
Project planning
Scheduling
Customer support
Wiki
References:
Scrum and Fogbugz / Fogbugz questions / FogBugz Knowledge Exchange
I think it really depends on your company size. I used activecollab for a while but it never really convinced me and then they made it commercial anyway. There is an open source fork of it called ProjectPier.
Even if it is not MySQL + PHP but Ruby On Rails Redmine convinced me the most from all tools I tried (and installing the ruby module into apache is a question of 5 minutes). It is simpel and yet has anything I need (including Eclipse Mylyn, SCM integration, E-Mail Notification and time tracking). With a little RoR knowledge it is easily customizable, too.
The most popular Open Source sollution is probably Trac. It is written in Python, so it is not a PHP either.
But maybe it makes sense to consider a non PHP sollution. I didn't find any PHP open source tool that had the functionality and simplicity of Redmine or Trac. If you don't mind a hosted sollution Basecamp is probably the first address to turn to (never tried it though).
Trac with Agilo plugin might be a good option.
Here is link for Trac pluigns, some category are:
Code Documentation
User feedback and discussions
For another pespective - having used many of the above solutions, and liking them very much for bug tracking, wiki documentation and tracking information - I tend to move towards keeping much of my project "meta-data" (summary information pulling together wiki, bugs, schedules, communication) in spreadsheets now.
For those now climbing onto the top rope of the ring preparing for a takedown, here's why... I come from a programming background, and one of the best books I read early in my career was The Pragmatic Programmer. One of the tenets they preach is finding a fundamental editor that you like, and get good with it (for various Very Good Reasons). After trying (frustratingly) to port and adapt my PM/Dev Management approach multiple times to multiple systems, I've extrapolated that Pragmatic tooling philosophy to the product/project management world I now inhabit. To stretch the metaphor, my editor is now Excel.
I can't guarantee that for any company I work with, they have "Software Project Management xyz" or "Bug Tracking System abc" with the proper plugins - but I can be darn well sure they have Excel or some variant available. I know if I get ninja-like with that tool, I can continue to use it - and focus on the project, not the tools.
This spreadsheet approach comes with some caveats:
Excel done poorly can suck. We've all seen that. Watch for bloat and stupidity.
Keep the bugs in the bug tracking system, the wiki stuff in the wiki. The spreadsheet is meant to pull this stuff together, not replace it.
Keep it readable. Don't stuff everything in just because you can. Summary sheets are good.
Try to standardize your templates and macros meaningfully for tasks and information, to maximize reuse over time and projects. Just like good programming.
Back it up - use a document management system if you can. This approach isn't in the cloud or hosted centrally by default, so be aware of that.
Have you tried Assembla? They've recently released a new product called Portfolio which is great if you have to manage multiple projects + you get free clients! :)
You might like to consider http://targetprocess.com/ We use that in my current job and it works pretty well, from a developer point of view. I'm unsure as to whether it supports your installation requirements, however.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I am going to be starting a new job in a few weeks where I will be responsible for both the maintenance and development of a couple of existing web applications and the development of new web applications.
As I will be the only developer on the project and the previous developer was more of a hobbyist, no formal project management or planning techniques have been followed. Additionally no bug tracking has been used or if anything has been recorded its just been notes on paper.
I would therefore like to introduce a better system to help resolve some of the issues and help ensure things run more smoothly. I intend to develop using an agile process (likely scrum) and would therefore like to know what all-in-one solutions people could recommend for me to look into further. I am looking for something which will provide at minimum:
Project Planning
Defining new features
Time estimating
Ability to organise tasks by priority
Project Management
Tracking active tasks
Reporting
Bug Tracking
I would also like to let other staff easily submit new bugs in the applications which they find or customers report. Additionally support for them to add new stories / high level tasks would be of use so they can note down other new requirments/features and I can then work with them to outline more detailed tasks and estimates.
So far I have looked at a number of systems including:
FogBugz - Seems great for bug reporting but would need something else for project planning / management
Agile Buddy - This is probably the best solution I have found so far
Trac
Smart Sheets
Pivotal Tracker
However, as I have not actually used any of these systems myself I do not know what ones would be best or whether there is a better solution out there??? So any recommendations you can provide would be much appreciated.
Actually, FogBugz does project management as well. It will even try to learn how accurate time estimates for features are from each user, and give you estimated milestone completion times accordingly, with probabilities of finishing at various dates. I've used it for the bug tracking, and really liked it, but I've also read enough about its project management features to know that it has them, and they're pretty good.
FogBugz feature list
When I was working as a solitary developer, I picked up a copy of Planning Extreme Programming and bought a pack of 3x5 cards and a plastic box for them. I used those in the Planning Game and stuck the ones I was working on on my wall. My boss could walk by and see what I was working on. This worked well and cost little.
We're currently using Zen at work - it's a web-based Kanban board for planning. This is nice when your stakeholders aren't co-located or if priorities/requirements change frequently.
You can enter bugs as user stories with either system, or you could use a separate defect-tracking system.
I'd question if Scrum is suitable for a one-developer shop. It's targeted towards project management. I'd rather not have a stand-up meeting with myself. ;) XP (minus pair programming) works fine for a solitary developer.
For a one-man show, you don't need any tools to speak of.
Tools -- generally -- are for coordination.
If it's just you, what -- precisely -- are you coordinating?
If you want to make things visible, a pair of simple internally-focused web pages built from static content will do.
Bugs.
Burndown for Features.
That's about it. Use the simplest tools you can possibly use. I recommend using docutils to generate the HTML from plain, simple text.
Don't go tool-happy until you have a large enough team that simple text doesn't work any more.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
At the place I am working we are moving to a more agile approach to project management.
For tool support for project management I used MS Project and Target Process in the past. But I think they both have serious weaknesses:
MS Project is not very intuitive and therefore hard to use especially for novice users. It doesn't really fit the agile approach
Target Process seems only half done. E.g. users can set their own privileges to admin. Size of user stories is measured in hours instead of a unitless size which I think is really a bad idea. The UI feels bloated and overly complicated not really supporting usage by keyboard only.
We are also using Jira for Issue Tracking and I guess one could modify it and add some custom fields/reports to make it an agile project management tool.
So my question is: What software tools do you use for agile project management and what do you like or dislike about it?
Addition: I am aware that physical tools like a whiteboard or post-its are in a sense the perfect tool but if you want to get an overview about what is going on in the complete company it is kind of cumbersome to run from office to office to look at the whiteboards or to force people to copy it in a different kind of document. A similiar argument applies if you are working in a setting where the customer is not on site.
I'll try to list some features I'd consider interesting:
easy accessible by management, customer, team potentially from different sites. This almost requires a web app.
option to configure the app to fit the flavor of agile preferred by the team or company
it should allow multiple people to access it in parallel. E.g. a developer marking a task/story as done, shouldn't block the customer from adding a new task. This pretty much rules out Excel.
Nice usability for keyboard only usage, at least for things like updating a lot of stories or adding a lot of stories
Ability to integrate with Jira (entries there should become tasks or something in the system, changes should get synchronized or at least be impossible if they don't get synchronized) and SVN (commit comments with a story id should appear in the tool)
Ability to integrate with other systems using a Java API.
Mostly we use whiteboards and post-its. If we have to use software we usually use Trac or a simple wiki.
It's our experience that using a project management tool actually makes your project less agile. The tool tends to become the focus point of the whole development process and its data more important than the actual software.
I can really recommend using a physical tool instead of a software one. It keep everybody focused in the same location and is much more public and accessible then even the simplest software equivalent.
There is value in using a tool to provide visibility into your agile project when it is not pragmatic to come to the team room. I would not recommend using a tool other than the big visible charts in the team room in place of the big visible charts. When a person has to go to a tool to pull the information as opposed to see the information continuously visible in the team room, it looses its effectiveness.
Of the tools we have used my comments are as follows
Mingle - Programmable and the most customizable, largest learning curve but you won't be boxed into a corner and the learning curve is quickly picked up by a developer
Rally - Does what you need it to out of the box. Enforces agile practices and has a small learning curve. Reports are good.
Version One - Swiss army knife of agile tools. Easy, full of features, great query tool to extract project data, need to ensure hosted service provides the performance you need
XPlanner - free, basic but non-evolving, easy for the team to use, less capable in the reporting department
Excel - works great, most people start with it and the file can be posted to a WIKI that can be downloaded and viewed by anyone
Consider the licensing. A number of the tools can post results in HTLM which can be read from a WIKI as a dashboard report. If you need to control access to the data then providing a license to the tools or providing a login to the WIKI should meet your needs.
Redmine, it is easy to use and contains enough features.
What specific problems are you facing with your current project management software that you want to address.. What specific flavor of agile are you moving to ?
The first bullet is kind of shaky... in that novice users should not really be doing project management. Other arguments read like 'MS Project should not behave like MS Project'
If you want a simplified tool for a product backlog which seems to be what you're looking for.. use a spreadsheet and see if it works out. If not, move to complex ones.
There's a similar thread in SO ... dupe or does this thread deviate significantly ?
https://stackoverflow.com/questions/426458/recommendations-for-project-management-software-for-scrum
I actually use Atlassian's JIRA for all my Agile project management. And with their recent acquisition of GreenHopper, they fully integrated SCRUM into the project management as well. This is only available in the Beta version right now though.
My team is using Rally. I also used VersionOne a few years ago, but I think Rally is better. I am not an expert in all features, but I think it does most of the things you need.
Don't even try MS project ...
Axosoft's OnTime
CounterSoft Gemini (at least take their 5 user license for free)
There's a new tool - Bright Green Projects. It allows you to capture and prioritize requirements, build estimates, manage iterations, track issues.. etc. Nice interface and really easy to use: http://www.brightgreenprojects.com
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We have MS Sharepoint -- which isn't all bad for managing a task list. The data's publicly available, people are notified of changes and assignments.
I think that Bugzilla might be a little easier for management and reporting purposes. While there are some nice Open Source Scrum management tools, I've used up a lot of my political capital and can't ask for too much more than what we've got now. Money isn't the object -- obviously -- it's the idea that my team has too many specialized tools.
Will Bugzilla work out as a more general project management tool -- outside the bug fix use cases?
Will I be bitterly disappointed and wish I'd downloaded something else and made my case for a better project management tool?
Bugzilla Is a great bug tracking system. We have tried to use it for other project management tasks and the results are less then stellar. I would recommend finding something designed with your goals in mind.
Try it for yourself.
Get a $15/month account at wush.net and use it yourself for a while (no business relationship besides satisfied customer).
Bugzilla is powerful and has a lot of configuration options, which can be confusing.
I personally used it three years ago on a project I was working on. I had no project manager and I was the developer, so I needed a very-light-overhead systtem. Bugzilla gave me that. I put my main goal as an enhancement "productionalized system" and then I made dependencies to reach that point. I ended up having 160 nodes all dependent on each other. This essentially was a work breakdown structure. I didn't bother with time estimates, and I didn't bother with creating any other kind of project documentation.
A cool advantage was that as I coded, if I noticed something needed to be done, I would just pop it into bugzilla (20 second process once it's set up), tie it as a dependency, and go back to what I was doing.
Whenever I completed a task, I would look at the dependency diagram and find the outermost leaves (bugs that blocked other but weren't themselves blocked), and work at it.
The advantage of this method for me is that if a task had looked simple and had one node associated with it, but when doing the thing itself I realized it was more complex, I would just split it into different subtasks. This took only a minute and absolutely didn't involve a meeting with a project manager.
Other people on the team could track my progress by looking at open bugs, closed bugs sorted by dates, etc. They saw action, they left me alone. When I had external dependecies, I would make a bug, detail the work, and send that person a link via email. They could then see why this was needed by looking at the dependency diagram.
Note that unless previously agreed upon, I did not assign them the bug.
It worked really well and the system was ready one month early.
How will it work with SCRUM? Having only had a cursory glance at scrum I can't tell you. But that was my experience.
Using a dedicated host will allow you three things:
support
easy upgrades (unless you got gurus in-house, bugzilla management ain't easy--for me at least)
users across organizational boundaries.
Note that bugzilla has all sorts of security features, so it's easy to lock-down the users to what they need to see.
My stand-alone solution is DokuWiki + MantisBT + Subversion + Review Board, which can be integrated with relative ease. Hosted alternative is Bitbucket.org. The rationale is you write user stories on Wiki and can reference them specific tasks. Larger bugs can be collaboratively designed and the "wiki" link is provided on the bug report by Mantis. Review board lets you do peer code reviews against svn diff before change is committed.
We've used Trac and Subversion very successfully for several projects.
The main advantage here is being able to tailor reports, some very Scrum specific, to provide information to management.
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.
Closed 10 years ago.
I are working in a small development team of 4 people.
We are trying develop "Agile style" - story points, small tasks, etc...
Unfortunately, we are currently managing our tasks in a (shared) excel table.
We looked at some available tools (Mingle, TFS, Scrum for Team System), but all of these looked like they would be too much overhead and take the fun out of working.
What are you Agile lovers using for tracking your tasks over long period of time?
Update
The current top answer is not really an answer to what I intended to ask - I need some tool to help me find out, over the long run, which features & tasks I estimated correctly, and where did I go horribly wrong. I see how a whiteboard/all of post-its help with managing the current or previous iterations, but I don't see myself searching for a post-it from 2 months ago.
Update Response: It doesn't seem imprortant to track WHAT was underestimated as much as WHY it was underestimated. This is something addressed at the iteration retrospective. If there are impediments, they should be addressed early and resolved. If you're looking to address something more specific than just seeing a task in the past that was undersetimated, you should ask about that.
A whiteboard, index cards and sharpies.
Just use Trac. It has everything you need for a small project. You could use the ticketing system to distribute the tasks (in Agile you should think in terms of stories and not individual tasks anyway) but if it's not enough you could get extra plugins for time management etc.
We're using Xplanner right now, with pretty good results.
Write them out on labels and stick them up on a board - it works :) Also Scrum really does not give you overhead - it works pretty well and is very satisfying for all team members imho :)
Here we use Trac for one project and #Task for another.
At another company, we used Excel sheets with each person's tasks, printed and pinned to the wall.
In general, most forms of actually planning, documenting, and tracking tasks is going to take the fun out of working... But it is completely necessary to stay sane.
I really like JIRA and the GreenHopper plugin looks to add some nice features.
"We looked at some available tools (Mingle, TFS, Scrum for Team System), but all of these looked like they would be too much overhead and take the fun out of working."
I can only suggest you give Mingle a real trial, it's amazing. My developers love it and so do I.
There is a small learning curve but it's so flexible, I'd suggest looking at the Hybrid sample project and the built-in reports to get over any reservations you may have.
Our project would be dead in the water if it wasn't for Mingle, I have a disability but can still modify 300+ cards in a day if required. Plus it's free for a year for 5 users or less!
Post-its cannot possibly facilitate the communication and teamwork that this software provides out of the box, and if you don't like the way it works you can keep tweaking it till it suits your team.
Hardware - I'd suggest a quad core & 8GB for decent performance.
Disclosure: I have no association with Thoughtworks, other than loving their s/ware.
Index cards work great, but if you need it online, I'd try Unfuddle. You can use it for small groups for free, and it's lightweight enough that you can adjust it to your group's needs pretty easily.
I use it at work, and we keep all stories in its "notebooks" (read: wikis) and tasks in its tasking system. It has built in milestones and releases, and its Subversion and Git integration are pretty great: we can log comments on and resolve tasks with version control messages.
We're using ScrumWorks for about 30 people. They have a free edition.
http://danube.com/scrumworks
I like Pivotal Tracker. It's a story-based project planning tool that allows teams to collaborate in real-time
Rally is a really nice tool that is focused around Agile development.
I like dotProject for actual task tracking. You can easily attack the database to get your on statistical data out of it if needen.
For the planning proces I use Microsoft Project mainly because I'm used to it. I also used the open source tool OpenProj.
Changing tasks in dotProject is painful, so I usually enter them only about 4 to 6 weeks in advance.
FogBuz seems to be a great tool, I just never had the time to try it out and am realla a late adopter of such tools.
This question is mostly a duplicate of https://stackoverflow.com/questions/12328/what-bug-tracking-software-do-you-use which has a lot of answers - tasks are not necessarily bugs, but good tools let you specify other task types than 'bug'.
We're using Eventum at the moment to handle our tasks. It may not be the best but it's worth taking a look at. Each "issue" in our case is often broken down features or use cases that is assigned to someone to implement.
We also use Trac, but it does not scale very well. Handling Use Cases and Test Cases may also get cumbersome. It really depends on the scope of the project and the size of the development team. I think for teams with less than 10 people Trac does an excellent job, but after that you are hitting the glass ceiling.
We are starting to take a closer look at Confluence/Jira (perhaps with Greenhopper) as we are starting to outgrow Trac.
Oh, and post its, index cards and whiteboards work really well if everybody is on-site ;-)
RallyDev.com. Free 5-user community edition and it's actually pretty good!
For a co-located team nothing beats a big wall and a whole bunch of index cards as far as I'm concerned. Maybe with whiteboard or two for burnup/down charts.
We are a team spread across multiple locations. The tool I've found useful has been a wiki built over Twiki.
Benefits:
Wiki-like environment so collaboration is easy.
Plugins available to add 'applications' such as minutes of meetings, Bulletin Boards,
Discussion Forums.
Secure.
Check out Intervals. We built it as a web design agency with very similar issues as yours. We hadd 4 or 5 guys all tracking time and tasks in xcel documents and it was difficult to get anything done.
I the agile teams I work with, we dont manage task over a long period of time. Instead, we manage a "backlog" of features to be added to the product. We sometime also call those "user stories". This backlog is a kind of slicing of the product in a list of incremental features to be delivered. We manage this backlog in Excel, with very few columns such as description, complexity evaluation and done/not done, iteration, and that's it.
During the iteration, the tasks are managed in a postit wall as presented in one of the answers. In case a task last more than one iteration, we manage to fragment it, ensuring features/user stories are delivered at each iteration.
An example of user story in the excel backlog, it would have complexity associated with it:
"The user can log on the system using a form with id and password"
Some examples of associated tasks, to be done during an iteration. Those will be managed with postit, with not complexity.
"Code the logging form, using GWT"
"Implement security algorithm to check password validity"
"Create a user/password table in the database"
"Test the logging form on the integration system"
We've been using Accunote (accunote.com). A vendor set it up so I have no idea what it costs, or even if we are sing it properly.
Why it works:
Fairly easy to edit/update.
Easy to modifiy tasks in sprint, copy to/from backlog tab, etc.
Everyone looks at the burndown charts, especially the "by user" one, and that keeps the team working together and gives a sense of accomplishment.
There's probably other tools that do the same, or better (and the Accunote Javascript can be a bit awkward).
Key thing is that it should be really easy to use and have some sort of "team space" where you can all keep an eye on each other and see how each of you are going.