tiero - Fotolia
Application lifecycle management (ALM) tools manage what to build (requirements management), including how long it will take (project management or project tracking and estimation), what is actually in production (deployment management), and tracing the code back to the requirements.
ALM suites tie these functions together, but aren't necessarily needed. Simple project management tools like Basecamp, which is basically a to-do list, can help a small team with some aspects of ALM. It is also possible to perform a great deal of ALM tasks in a wiki, like Confluence, or even in a version control system, using branching or tags for what is in production versus what is under development. Enterprise software development teams generally opt for the ease of an integrated ALM suite.
As you probably guessed, an ALM suite in the cloud has a value proposition that's very different from one on-premises. Here's a comparison of ALM tools.
ALM on the Web: Easier to get started
Assuming that your privacy and security officer won't kill the very idea, the easiest way to start using an ALM tool is to go to a website like Basecamp, Leankit, Rally or Pivotal Tracker and sign up for free 30- to 90-day trial. That's it. Fill in the email addresses of your team and boom, you have a software as a service (SaaS) ALM platform -- or at least part of one, the project management piece. That means your data is in the cloud, but all connections will be secure using https, the same kind of security you use to give Amazon.com your credit card information.
Eventually, after 30 to 90 days, you will be asked to pay a monthly fee. That's when problems may occur. If you don't get funding or decide you want to stop paying, you'll need to pull your data out of the SaaS system to use somewhere else, or lose it. Assuming your job is to build software, knowing the exact status of the software project is important; you might want to keep that data.
You also have extra security concerns. Because the tool is only a webpage, employees who leave the company will still be able to log-in -- even those who are fired. You'll likely need to remove permissions right before the final notice or build a login bridge from your own workplace. Some of these tools support logging from your own network using LDAP, the lightweight directory access protocol, but that takes a fair amount of technical integration work.
Integrating components with cloud ALM tools can be complex. A few vendors, like Microsoft, can host everything from your requirements to your code, configurations, documents and traceability, but to work with them you'll need to use that single vendor's tools for all those pieces.
On the positive side, SaaS ALM vendors release new features all the time, which is a plus -- unless you like to keep things the same.
ALM on-premises: Easier to integrate components
On-premises ALM tools are the flip side of SaaS ALM tools. They are harder to set up, typically requiring system administration help and a server. Because on-premises tools are in your data center, behind your firewall, they are more secure. If you host your own code, wikis and documentation in different, internal places, you'll want to tie that together internally. Teams that are reluctant to change will probably find that on premises, where you control when an upgrade happens, is preferable to being in the cloud.
In the final analysis of ALM tools, you need to consider which pieces of ALM you want to start with, the size of your organization, how bulletproof the workflow needs to be and how much help you can get from operations. A large organization (more than a hundred people) with a lot of ALM components that need to tie together and a lot of operations help and budget is likely to choose an on-premises ALM tool. For a single team that only needs project management tools, SaaS ALM tools are probably the way to go. It could be as simple as starting a Basecamp project or Trello board. Everything in the middle depends on circumstance and preference, but I hope I've at least given you a few things to think about.
Learn about the evolution of ALM tools from the cork board to the cloud
Check out some popular SaaS-based ALM tools
Learn more about enterprise ALM in the cloud, with mobile and more
Learn about Agile ALM tools
Dig Deeper on Topics Archive
Related Q&A from Matt Heusser
Through unit testing, software developers know source code works at the atomic level. Read why unit testing is important and valuable, as well as how... Continue Reading
Your boss has jumped on the bandwagon to automate software testing. Don't despair. Software testing expert Matt Heusser walks through what to say -- ... Continue Reading
Common software security mistakes include testing at the last minute and not testing open source code and VMs. Expert Matt Heusser suggests ways to ... Continue Reading