I'm evaluating various suites for application lifecycle management. The components I need are:
- Requirements Management
- Issue tracking (or work tracking; "fix this bug" and "add this feature" should be tracked)
- Version control
- Continuous integration (automated build, test and deploy)
The criteria I have are:
- We must be able to host it ourselves; per customer policy, no cloud-based hosting.
- The tools must integrate with each other. For instance,
- Requirements should link to items in the issue tracker.
- Developers must be able to link their code commits with issues.
- Ease of administration is a plus.
- It must support multiple languages and platforms.
- We're doing some waterfall development, so it can't tie us into Agile or other modern methodologies exclusively. But we still want to be able to use modern methodologies, too.
- Some document management capabilities would be a nice to have, especially if it can show the relationships between documents.
- Any client software should run on Windows.
- Any server software should also be Windows-based.
Since our customer is paying for it, and may be hosting it (that's not decided yet), we're limited to their approved list. That's three items:
- The IBM/Rational tools
- The Atlassian tools
- Microsoft Team Foundation Server
(They don't care for open source solutions; they like to have someone they're paying money so they can blame them. Presumably, doing something like using git with Atlassian is acceptable.)
My initial analysis is like this: The IBM tools are expensive, difficult to administer and use, and widely disliked. TFS has a strike against since it tends to favor Microsoft-only development.
So, my ranking is to favor Atlassian over Microsoft, but it's close. Both of those are favored strongly over IBM/Rational.
What are some other thoughts?