Now the one “elephant in the room” that I want to call out immediately is the number of developers I’ve run into without much experience using Application Lifecycle Management (ALM) tools. Along with testing, it seems all too often that the “stuff” that goes around the actual programming gets minimized. I get it…most organizations may do some development but are not professional development shops. Therefore, “the person who writes the checks” only sees expenses and not the benefits because he/she isn’t well informed. That leads to what I’ve seen several times: I ask a developer about ALM tools and they shrug and say something like, “…well, we can’t afford them…” Well brothers and sisters, we must spread the word! We have to help each other out by making ALM tools non-negotiable and educating non-developers on the benefits. Especially with Agile teams, there is an extreme need for these tools to realize the efficiency and benefits of Agile methods (e.g., automated testing for continuous integration).
Ok, now I can get off my soapbox. What I am really writing about today is an opinion poll: Integrated ALM tools vs. the “do-it-yourself” approach. What do you think offers more value? So in the integrated “corner” are suites from Microsoft – Team Foundation Server (TFS), IBM – Rational and Atlassian – Jira/Confluence/etc… In the other corner are innumerable stand-alone products. Some that come to mind are: SVN – Source Code Control, Hudson – Automated Builds and Testing Integration, Selenium – Automated Testing, and Fogbugz – Bug Tracking and Feature Planning.
What I’m wondering about is the tangible or intangible benefit that teams get from an integrated solution. Or said a different way: Is it “costing” (aka: time and effort) alot for developers to set up hooks and workflow between disparate products? The other side of the coin is: can the integrated products be worth the extra money OR are they complex enough to set up and maintain that it really doesn’t matter?
From a management perspective (mine), I’d like to buy one suite (like TFS…although, I could just as easily go with Rational or Atlassian) rather than trying to research, purchase, set-up, configure and create workflows around the various tools that all have different things to learn about them. However, in the interest of being open minded and learning new things, I’ll gladly take your input and experiences. Feel free to leave a comment!