In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.
I got a chance to take in a fair bit of the ALM EXPO this year and some good talks that were still accessible. In the opening keynote, however, I was surprised at how the panelists responded to one of the questions pertinent to this month's journal. The question was: Does size matter for application lifecycle management (ALM)? The answers tended to center around level of implementation and complexity of the application: Are the teams operating globally? Are they small enough for verbal communication?
The implication seemed to be that ALM was not as important for very small organizations as for larger ones, or at least that a less full implementation was acceptable. At first glance, this seems to make sense - more people to manage, more files to manage, etc. And there is no question that ALM is necessary for large teams.
Let's put the question in perspective, though. Say that you're a small firm and you have to produce and deliver a product that can compete with those from larger firms. Your product has to be not only as good of a product offered by your competitors, but a better product. Also, you don't have the same amount of staff to draw from to get it done.
Which parts of the ALM function can you afford to skip? Which parts can you afford to do manually? Which parts can the larger competitors afford to do manually? None. None. Some. As a small business, you still have to compete on level terms. Whereas your large competitors can throw manpower at enforcing process, and can put manual processes in place if they don't have their tools quite right, you don't have such spare resources. A small business relies much more on strong tools, good processes and automation simply because it can't afford not to.
So yes, size does matter for ALM, but it's the smaller companies that need the more complete solutions. They still need to track requirements, customer requests, backlogs, builds, source code, test suites, documentation, problems, etc. They still need disaster recovery, backups, integration, etc. And then they need zero administration, strong pre-defined processes, higher levels of automation, and, of course, very high reliability. Who can afford the staff to deal with administration, process customization, lower levels of automation, or down time? Perhaps the larger firms, but definitely not the small ones.
So ALM is critical for small teams. On top of that, add another 20 team members to a small team and you've got a fair bit of change that you must adapt to - so your ALM solution better allow you to adapt. For a large team, 20 new members is hardly a blip, and if the ALM solution doesn't adapt, just throw some manual labor at it. Growth is another reason small teams need ALM.