Not many tools can be categorized as software development process Management tools, as most of the process tools are included as a part of the development and management point tools. There are few generis process tools that are focused on different development and IT processes within the same tool. These can be broadly classified into Methodology specific and Methodology Agnostic. Designed around a specific methodology, methodology specific tools have little room to incorporate deviations from the methodology it originally intended to implement. It has a shorter shelf life. On the contrary, the Methodology Agnostic Process implements a wide range of methodologies. Organizations following a proprietary or a modified methodology, can adopt the Methodology Agnostic Process, as it is the best option. It is capable of accommodating changes in the business and technology scenarios, and an investment in this process tools goes a long way. The following are the general features and functionalities in a generic Methodology Agnostic process.
● Diverse Independent processes
Multiple process support is necessary for a few specific applications. It is simpler to design, develop and manage different processes in a more ordered way, especially for tools that support numerous independent processes for a single application.
● Process Designer with visual drag and drop facilities
A visual drag and drop interface aids a process designer to visualize the process as it is being created. Consequently this enables it to be faster and easier to create a process. It is vital that to decide on visual interfaces that have enough flexibility to execute convoluted processes. the process maintenance overhead is fairly high, as there IT resources need coding even the minimum changes.
● Assign single activity to multiple owners.
It should be possible to assign tasks to numerous users based on policies. It is necessary to have ways to support queuing of tasks, load balancing, task sharing by multiple owners and independent owners of a single task among others.
● Conditional Branching
Although a fundamental requirement of a process tool, this is absent from many tools in the market.
On the basis of complex conditions defined in terms of various variables of a particular item, a conditional branching in full form allows automatic selection of the next activity. These steering needs to be automatically executed based on the field values.
● Union with quorum based forwarding policy
Synchronization of multiple parallel activities in a process needs to be combined for a process to move forward. When pre-defined percentages of the previous activities are completed, a quorum based merging allows the process to move forward.
● Process Modification
As the old process continues to be running for the existing items, process modification should be possible, as it facilitates easier managing of the process changes.
● Recommence process without repetition
It may be necessary to restart the current items running with this new process, especially in the event of a process change. With advanced tools it is possible to start at a particular step within the new process rather than at the ‘Start’, ensuring no repetition.
● In built versioning
Process versioning is needed for any organization that needs to execute CMMI Process or similar compliance processes. Just like any change management, it is necessary to track the changes in the process by tracking the versions. A good choice is tool which has built-in versioning for the process.
● Coordination among various processes
In the tools that allow the execution of multiple applications like Requirements Management tools, Issues Management, Test Management, and Release Management, the need for this feature is critical.
Before making a final selection of the tool for your Application LifeCycle Management, it is necessary to some time thinking and discussing the process needs with vendors, thereby avoiding the investment in a wrong tool.