a full 3G CM/ALM tool and moved forward from there to a 4G tool recently released.
Looking back, Neuma was able to do this by following some specific guiding principles:
- Build what we need internally
- Use common technology across the subsystems and products
- Extensive testing, with heavy automation
- Ability to react quickly to problems
- Low administration.
- Ability to do extensive, re-usable, customization, easily.
Sound familiar, at least for the most part? A recent general forum question asks what's better: Best-of-breed tools integrated together, or an integrated ALM solution? I'll go one step further and break down integrated ALM solution into: common vendor integrated solution vs. common core integrated solution.
It's a good time to learn a lesson from Elon Musk and SpaceX. We're heading into a new year shortly. If we want to continue to deliver next generation tools to the market, as vendors, we need to focus on a few things going "forward".
- Letting customers define "best"-of-breed
- Bringing costs down for ALM tools
- Focus on common core technology
- Rapid response to change requests.
- App-accessible ALM functionality
A bit of explanation follows.
Letting customers define "best"-of-breed
The number one requirement of an ALM tool is to support an organization's process the way they want. Neuma discovered this when they did their market research in 1990. It's the same today. A best-of-breed tool is not defined by the tools capabilities, it is defined by the customer's requirements.
Each customer is going to have different requirements. The ALM tool must be able to support these. By all means provide guidelines - don't let them do file-based CM when change-based CM is so obviously superior in all cases. (I'm talking software CM here - this does not necessarily apply as clearly elsewhere.) But make sure you can support the customer's process.
No problem - we'll just give them a compiler, or Perl, and they can do anything. OK, we'll throw in a GUI drawing tool. And maybe an RDBMS system. That should do it - except for the word processor for documentation changes.
That certainly let's the customer do what they want. The problem is that it's too costly for the customer to do what they want. Not a problem - we'll make expertise available at a reasonable rate. And this works if the company does not go broke first, and has plenty of time to get the solution in place. Unfortunately, I've seen first hand where a company went broke first after spending too much to get the solution in place, running out of time before they did.
If you want to let a customer define the "best"-of-breed tool, they must have very high level tools that allow them to do so, not in years or months, but in days or hours. Is that possible? In 1970, IBM would have said no if we asked whether or not users could build their own computer to meet their needs in days or hours. Now, they can log into a Dell (or other vendor) site, select a starting configuration, change options, base software, processors, etc. and in a few days, they have their machine delivered to their door.
Yeah, but computer components/features are much more clearly defined than for CM and ALM. Precisely. That's the issue. CM and ALM components/features need to be much more clearly defined so that infrastructures can be built , just as Dell did, to create the product quickly and easily. One of the reasons Neuma was successful in creating 4G CM/ALM is because they focused on the infrastructure, and making it easy to let their customers define "best" in