branch to identify custom builds. Give me stream-based development, not branching chaos. And give me good build tracking so that I can identify every build of significance for all time. Minimize my need to merge and give me decent tools to do merging when I have to.
6. Integrated Suite - I don't want to spend months putting together a set of applications that work together only to find that when one of the tools is upgraded I have to re-do all of the glue. I don't want an internal tools group - that's why I'm buying a tool. If I wanted an internal group, I'd just as soon create the tool myself. But I do want easy navigation among the components: CM data, Change data, Problem Data, Project Management data, requirements, build and release data. And I want the extra apps thrown in almost for free as opposed to what I would pay if I had to buy them all separately - even before the cost of the glue!
7. Easy configuration and process capability - I want to be able to do the basics - define triggers, and rules, define basic work flow, add data fields as necessary, change the GUI menus, including context (pop-up) menus and what they do. I don't mind having to train a bit to do this, but don't give me a C++ compiler and tell me its configurable. I want to be CMMI 5. What will the tool do to help me get there? If it starts me out at 2 or 3, that's good. If it helps to get me most of the way to 4 that's great. If I can add process, data and functionality to continually improve my process and export my results for use by the rest of the company, great! If I can easily extend my tool suite without having to acquire other tools, even better!!
8. Easy to Use - OK, it's got to cover my basic use cases. I don't want to be fighting with the tool. I don't mind having to do a bit more work for out-of-the-normal operations, but better still if I don't have to, especially because I'll forget how to do them if it's not dead easy. If I can tailor the tool to be familiar (change dialogs, use corporate grown terminology, etc.) that will make my life easier. If I can get a developer fully trained in under a day, more points.
The Cost? Or the Savings?
9. Low Cost of Ownership - Most of this has really already been covered. Sure there are free tools and more expensive ones. As long as I can get my licenses for under 2% of the salary, it'll cost only a couple to a few hundred per year (amortized over 5 years). I shouldn't have to pay more than that - for the entire suite of development management tools. The more costly items are things like: training (lost salary cost is 0.4% of salary per day of training), administration costs - unless it's set-and-forget technology, tool glue - unless it's an integrated suite, down time - unless it's reliable, lost user productivity - unless its easy to use, reliable and accessible, and evaluation and deployment (and upgrade) time - unless you can get started fast.
But I'm not really interested in the cost. I really want to know how it's going to make me money. Where is it going to save me money?
- Will it eliminate tedius, time-consuming operations?
- Will it help improve the quality of the products?
- Will it reduce my process assessment