Tuesday, March 29, 2011

Guidelines for a Process Tool Selection

As most of the process tools are not included as a part of the development and management point tools, there aren’t many tools that can be categorized as pure play software development process management tools. Within the same tool there are certain generic tools that are focused on different development and IT processes. Requirements management, Issues Management, Test Management, Release Management, are some of the multi- application tools that facilitate implementation of multiple processes, and these are becoming more and more popular.

The generic process tools can broadly be categorized into Methodology Specific and Methodology Agnostic. Methodology Specific tools are designed around a specific methodology. The processes embedded in the user interface are implicit and specific to methodology. As every organization modifies its processes to reflect changes, business technology environment have a shorter shelf life. The Methodology Agnostic Process, on the other hand, can implement a wide range of methodologies. Unless it comes with built-in templates, it may take a longer time to implement as it is not designed for any particular methodology. This is the best option for organizations following a proprietary or a modified methodology. An investment in this process tools goes a long way as it is capable of accommodating changes in the business and technology scenarios in the coming years.

Below are a few tips and guidelines that specify the general features and functionalities in a generic Methodology Agnostic Process tool that can be used in Software development and IT Service Management support.

Task Based versus State Based Processes
A good number of development tools use a state based process capability. A state based process is good for a simple process as it allows the process to be at one state alone at a given time. It is difficult to implement this for a complex process that requires parallel activities. A task based process, on the other hand, allows multiple parallel activities in the process. Overall process time can be increased by trying to implement a process with parallel activities using state based process tools.

Manifold Autonomous processes for Each Application
A support of multiple processes is important for certain applications. For a tool that supports multiple independent processes for a single application, it is easier to design, develop and manage different processes in a more structured way.

A Drag and Drop process designer that is visual
It is important to choose visual interfaces that have enough flexibility to implement complex processes. A visual drag and drop interface helps process designer to visualize the process as it is being created, thereby enabling it to be faster and easier to create a process

Task assignments to numerous users based on policies
In a single step, it should be possible to assign single activity to multiple owners. There should be ways to support queuing of tasks, load balancing, task sharing by multiple owners and independent owners of a single task among others and a state based process cannot support any of these needs.

Conditional Branching
This is one of the most basic requirements of a Process tool. A conditional branching in full form allows automatic selection of the next activity based on the complex conditions defined in terms of various variables of a particular item. This routing should be automatically implemented based on the field values.


Integration of quorum based forwarding policy
To move processes forward, multiple parallel activities in a process need to be merged, often. A quorum based merging allows the process to move when pre-defined percentages of the previous activities are completed.

Process Modification without affecting running processes
Processes change in any organization, and there is no single ideal process which can address all needs. Process modification should be possible as the old process continues to be running for the existing items. This allows the managing of the process changes and permits a smooth new process implementation.

Restart process for multiple items
One may need to restart the current items running with this new process, when a process is changed. With advanced tools it is even possible to start at a particular step within the new process rather than at the ‘Start’. Steps which are already done for the existing items need not be repeated.

Process Versioning
For any organization that wants to implement CMMI or similar compliance processes, this is specially needed. It is important to track the changes in the process by tracking the versions just like any change management. A tool which has built-in versioning for the process is a good choice.

Synchronization among multiple processes
The need for this feature is vital in the tools that allow implementation of multiple applications like Requirements Management Tools, Issues Management, Test Management Tools, and Release Management.

It is important to spend some time thinking and discussing the process needs with vendors before making a final selection of the tool for your Application LifeCycle Management. Ignoring this fact may lead to an investment in a wrong tool that may not help the organization.

Read more about : ALM Solutions

Thursday, March 24, 2011

How to achieve optimized Eclipse Development Environment?

Eclipse is the popular choice for the industry’s leading open source development platform for Java based software. Generally used by developers, who often work together and share information with other stakeholders such as business analysts, architects, project managers and testers. The increasing no of manifold stakeholders and their increased participation in almost all phases of software development lifecycle, it has indeed become quite a test to ensure a collaborative development environment for all the stakeholders irrespective of their geographic locations and roles. Additionally it’s never easy to rule out the provisions of adopting disparate ALM tools since more often than not they remain outside the scope of Eclipse environment! The niggling worry that troubles most enterprises is on ways and means to empower Eclipse developers to share information back and forth with other stakeholders from within their familiar Eclipse environment.

Enterprises should opt for such a solution that can ensure effective collaboration among the stakeholders throughout the development lifecycle, and also assist in synchronization among disparate Application Lifecycle Management tools. Furthermore enterprises should seek for such solutions that can be extended to other artifacts like requirements, design artifacts, test cases, tasks and defects originating from different ALM tools without leaving their preferred IDE. The idea is simple to use a single tool environment both for primary development jobs and collaboration with other teams. Such a solution can be of enormous help to any enterprise who are seeking for an enhanced platform for their developers to bring about a seamless integration between its established processes, tools and practices.

For an optimized open and seamless integration framework, a solution that offers all essential ALM services like collaboration, traceability, process automation, security, reporting and analytics are required that too in a single repository. Also such a solution can enable enterprises to make their lifecycle tools active participants in their overall ALM process as part of a Service-Oriented-Architecture (SOA). An SOA Integration based solution that has a plug-in architecture and can also talk to individual tools and can be integrated easily is the perfect solution for all those eclipse related issues. Such a tool can help any enterprise to create their own plug-ins for their home-grown tools using the same open service API.

An optimized plug-in solution for Eclipse Integration extends the Eclipse IDE with menus to connect to an organization’s TIDE (Tools Integrated Development Environment). Therefore such a solution will ensure that Eclipse users can easily connect to TIDE by using authentic user credentials in the Login dialog. They will also be able to have visibility into projects and artifacts (like – Requirements, Design items, Test Cases, Tasks and Defects). Such a solution will also allow developers to easy navigation that can provide them the options to view, update, add and delete items.

Learn More about  IT Service Management here .

Tuesday, March 22, 2011

Does your requirements management tool have all that it needs?

Enterprises are often on the look-out for that perfect requirements management tool that can meet all their demands effectively and also tackle all issues efficiently. Here is a quick checklist of queries that can help enterprises in their quest for that optimized requirements management tool.
  • Does your requirements tool allows you to create multiple user-defined or custom fields for specific requirements?
  • Can it define and implement processes for requirements and also include your specific definition of a “completed process”?
  • Can the requirements tool prioritize attributes in a structured and dynamic way?
  • Is it flexible enough to be able to accommodate different requirements management philosophies?
  • Does the tool allow requirements traceability links to be setup between changes and other related requirements?
  • Can it easily accommodate for non-conformance of different categories?
  • Can it define a workflow for requirement revision process within the products?
  • Does the tool also offer ways and means to keep track of the costs for each requirement?
  • Does it efficiently show interdependence between several requirements?
  • Can the tool also show a visual hierarchy of requirements?
  • Can it show different views of requirements?
  • Can your tool keep a ready track of who edited a change to the requirements and when?
  • Does it support traceability among different entities?
  • Does your tool also allow viewing of the original creator of a requirement?
  • Is it possible to conduct an impact analysis?
  • Can you trace given requirements to design and source file in version control history with your requirements management tool?
  • What sort of reporting features does the IT Service Management tools have?
  • Can it help create HTML, crystal reports?
  • Can it report on a predicted schedule that is driven from estimated effort as compared to actual effort?
  • Can it assist in producing marketing requirements documents, impact reports, version reports, roadmap reports and also progress reports?
  • Can it define different types of tasks that may be based on different types of activities, priorities and any no of custom fields?
  • Does it allow for assignment of estimated efforts to different tasks?
  • Does the requirements management tool allow for execution of requirement management process to be monitored?
  • Can it schedule tasks by way of using wait nodes, join nodes, delay nodes or by way of using policies?
  • Does it allow for a communication process to exist between the developer and the QA within the context of a given task?
Hopefully the above-mentioned queries will make it easy for enterprises to opt for an optimized requirements management tool.


Learn More about Application Lifecycle Management ALM Solutions here.

Friday, March 18, 2011

Top process tool selection guidelines

Although there may not be too many tools that can be categorized as pure play software development process management tools since most of the process tools are included as part of the development and management point tools. Take for instance a bug tracking tool may have process automation engine to define a bug fixing process, quite similarly a helpdesk tool may have a process to manage helpdesk. There are a few non-specific tools that focus on different development and IT processes within the same tool. Here are a few process tool selection guidelines that may offer some insight into what process tools are required for enterprises.

Today multi-application tools that facilitate implementation of multiple processes such as requirements management tool, issues management, test management and release management processes have gained tremendous popularity. The generic process tools maybe implicitly designed and embedded in the user interface specific to their methodologies. So while they may have the advantage of being quick and more faithful implementation they certainly lack the adaptability factor especially when the enterprise would want to deviate from the stringent definition of a particular methodology. In addition to such drawbacks, a methodology specific process has very little scope to incorporate any divergence from its original intended requirements. Investing in a methodology agnostic process tool goes a long way as it can ably accommodate changes in business and technology in the future.

Opting for a task based process has several advantages since it allows multiple parallel activities in the process in terms of multiple tasks assigned to multiple process owners wherein each may be involved in diverse activities. The tool must also support multiple independent processes for a single application since it is then easier to design, develop and manage different processes in a structured way. A process that can serve IT service management is the need of the hour. Different process tools have different user interfaces to define the process. The visual drag and drop interface is generally used since it is fast and makes it easy to create a visual process. However here it is important to remember that every visual interface should essentially be flexible to implement complex processes. A tool with full coding support can be flexible but tends to take much time in implementation and also requires rigorous maintenance. Therefore a tool that’s easy to maintain and is flexible is what an enterprise should look out for.

Also it would be a good idea to choose a process or issue management tools that allows for ways and means to support queuing of tasks, load balancing, task sharing by multiple owners and independent owners of a single task among others.

Also read more about: Enterprise Service Bus architecture here.

Wednesday, March 16, 2011

Integrated ALM: How it can benefit your organization

Most organizations spend huge sums of money on various siloed point function tools that usually don’t work very well. The reason for that is these tools are in isolation and typically use traditional manual procedures to synchronize data that do not play well together. Integration is not usually present when it comes to choosing tools from different vendors to different lifecycle segments. For an optimum application development environment, an organization must connect these multiple lifecycle tools. Here the benefits of how an integrated ALM can benefit your organization.
  • Gain Greater Insight
The lack of transparency in the regular business activities slows down the progress of development projects. All disparate tools across various functions need to be connected for the project stakeholders to share the required information. Only when the right people are on the right projects at the right time, can efficiency be achieved.
  • Ratify Best practice Processes
For an organization to disseminate, implement and automate the best practices, integration is necessary. It helps to execute the processes and achieve consistency, repeatability and predictability.  
To accomplish sustainable compliance, organizations need an automated and built in process through out the application development stage.
  • Overcome the challenges of a globally distributed environment
Projects usually involve teams from different countries or companies with different cultures participate in application development. In such a scenario it is essential for an enterprise to accommodate
different culture and tools, while remaining connected to ensure that there is no duplication of work and compromise of productivity.
  • Enable Collaboration
Collaboration between stakeholders is possible only when their tools are connected. Adequate ALM support and integration is what ensures perfect synergy in application development, as there provides visibility to the team activities. There is no wastage of time and team activities are aligned with meeting of project goals.
  • Increase Productivity
Integration of the application lifecycle stages brings huge opportunities for increasing the productivity of individuals and teams as it analyzes trends and implements metrics based management best practices. It allows teams can collaborate more efficiently and effectively, eliminating human interface errors and time delays.
  • Enhance Customer Satisfaction
Integration with Customer Relationship Management (CRM) and helpdesk tools offers absolute lucidity on the progress of customer cases to all lifecycle stakeholders like customer support managers, sales etc. This enables the organizations to be aware of all customer issues, and also allows customers to know the status of issues and when the fixes will be deployed.
  • Improve Quality
Integrating the application development life cycle tools improves the quality by reducing the number of defects due to miscommunication, catching inconsistencies between requirements etc. Better change management practices help to diminish quality issues arising out of changes in requirements, designs and code files. It is the key to understand change dependencies and impacts to optimize quality.
  • Collect Actionable Metrics and Intelligence
Absence of factual insights lead to missed deadlines, budget creep and fundamental erosion of trust and goodwill in relationship. An automated metrics collection system integrated across application development lifecycle tools will provide a decision intelligence solution that delivers relevant, objective, dynamic and granular metrics needed to make smart decisions influencing cost, quality and time
  • Manage Change
In application development change is inevitable. Managing and embracing change is no easy feat and organizations find it difficult to keep all stakeholders in sync with the latest changes in application development. Integration facilitates application development teams to better assess the impact of changes, track the full history, automate change propagation and reduce change reaction time.
  • Plug and Play Tools
Organizations invest for different lifecycle stages they have not been able to harness the aptitude of these tools. Integrating all or most of these tools you achieve an End-to-End ALM solution resulting in increased ROI and process improvement.

Adopting one unified and automatically synchronized software will be advantageous. With application lifecycle management there will be a far larger synchronization between IT and the rest of the business to deliver the best competitive edge. An integration framework can accommodate the existing tools and processes and don’t require to retool the current processes or to commit to a particular tool vendor.

Read more about IT Service Management here.

Monday, March 14, 2011

Effective ways to enable your ALM ecosystem

It is only after CIOs of enterprises forge mergers and acquisitions that enterprises can restructure a development group that has tools from different vendors and this includes internal tools as well. So how does an enterprise actually manage a software development project across a diverse set of functionally, geographically and technologically distributed groups which have its own set of tools yet functions as an information island as far as other tools are concerned? The problems that arise when different tools become separate silos of information is that often there will be a case of redundant and often conflicting information in multiple tools this will increase errors. Furthermore the lack of process across the tools can be a problem since it is highly unlikely that these processes are integrated and synchronized with each other. Coupled with issues of zero traceability between information locked in individual tools and usage of manual methods of tracking, visibility will also reduce dramatically since information maybe locked in an individual tool which may remain invisible to the rest of the organization.

The panacea to these problems is to have an Integration bus technology that will allow a multi-tool integration in bus architecture which may save enterprises money spent over Ad-hoc point-to-point integrations. Also it presents the opportunity to synchronize between two tools for a particular entity which helps keep all the information current in both tools. It also enables integration between multiple tools managing the same type of Items, for instance a transparent synchronization among multiple Requirements Management tools will keep the particular users of each tool aware of what is happening in the other tools. It also gives you the freedom to decide when and what to replicate across different tools, for instance not all Requirements need to be replicated from the Requirements management tool to the Test management tool but only those which are approved. Additionally it enables federation of data in terms of getting the data from other repositories on-demand.

Also engaging a Task based Process engine will allow sequential as well as parallel workflow paths with path merge capability and will also ensure complex branching logic which can accommodate automatic control of flow. It will also ensure that events from various tools are also received and it will trigger actions for them. Additionally it enables both micro as well as macro process by synchronizing among various micro processes. So what an enterprise needs are ALM solutions that can ably map between Objects in the Integration Bus and External tools so that it can define multiple Objects of various kinds and be able to map them to the objects in the External tools including attributes, methods, and policies.

Also read more about: Change management here.

Wednesday, March 9, 2011

WHY OMNIBUS INTEGRATIONS MIDDLEWARE?

Omnibus Integrations Middleware is the only multi-vendor ALM/SDLC tools integration technology that is based on the Enterprise Service Bus (ESB) Architecture. Serving as the single data repository of all essential ALM/SDLC services such as collaboration, traceability, process automation, security, reporting and analytics, Omnibus integrates multiple tools for multiple functions using tool-specific Adapters.

HOW DOES THE OMNIBUS INTEGRATIONS WORK?
Omnibus Integration Framework is SOA-based. It has denied a common interface model to expose the objects tracked or managed within an ALM/IT tool along with the object metadata, events, actions and relations between the objects. This interface provides mechanism to collect events raised within a tool and also to perform actions on the objects. This common interface is implemented as a Web Service and named as Omnibus Adapter. Each tool requires an Omnibus Adapter built specifically for that tool to hook to Omnibus Integration Framework.

Omnibus Framework has a Conigurator tool and an Execution Engine. Conigurator tool offers an easy drag-drop presentation to setup integration lows between participating tools. This tool facilitates establishing and customizing integration rules as per organization needs. Omnibus Execution Engine is the central component responsible for retrieving the event messages collected by Adapters, processing those event messages according to Integration lows and then sending action messages to target tools through Adapters.

DISTINCT ADVANTAGES :
• Ability to integrate multiple tools on the bus for the entire development & IT Lifecycle
• Service Oriented Architecture (SOA) based Enterprise Service Bus Architecture
• Supports 2-way Synchronization and Federation
• Thin Adapters - no hard-coded business rules
• High level 'Tool Class'- specific API
• Synchronization of data and relations between Objects
• Conflict Detection and Mediation
• Omnibus augments integrated tools’ capabilities for Process & Traceability
• Comprehensive and user-friendly Web interface


Being ESB-based, cost-effective, flexible and user-friendly, Omnibus does away with complex and costly tools integrations, overcoming limitations of the existing point-to-point and single-vendor tools integrations. Its distinct advantages have been explained as under:

Significantly Simpler Development:
A point-to-point integration between every pair of n tools, we need n x (n-1) / 2 number of integrations. Accordingly, for a simple case of 5 tools, this amounts to 10 integrations and just by doubling the number of tools to 10 will result in a 4.5 fold increase in number of integrations to 45. On the contrary, Omnibus is based on the Enterprise Service Bus architecture which needs 5 and 10 adapters, just one per tool! Moreover, replacement of one of 5 and 10 tools needs replacement of just one adapter, a far cry from the redevelopment of 4 and 9 integration codes respectively.

Best-of-breed Tools for Best Functions:
Omnibus Integration allows integration of multiple third party tools from different vendors (for eg.  VSTS Designer, Rational, Eclipse, Subversion, TFS, ANT, J Unit, Quick Test Pro, Clarity etc.)  for the same function. What is even better, it can support simultaneous usage of multiple tools from multiple vendors in a single tool ecosystem. This allows organizations to select best-of-breed tools available in the market without locking themselves into a single-vendor solution Flexibility of Integration

Also Read more about IT service management

Monday, March 7, 2011

Application Lifecycle Management Solution

Application Lifecycle Management Solution provides a rich and configurable, global platform for implementing Software Development Lifecycle process, collaborating on the entire development cycle and tracing implementations back to original requirements.  ALM Solutions ensures that all stake-holders and team-members are working from the same playbook, no matter where they are located, and that there are no costly last minute surprises.

The main features of Application Lifecycle Management Solution are:

• 100% Web based for global access without any client side software.
• Multiple ALM Solutions in a single offering: (Requirements, System Architecture, Design Elements, Tests management, Defects and Change management Requests) in a single data repository.
• Achieve Change management with multi-level traceability
• Built in Workflow Process and Policy Engines for reviews and escalations.
• Document attachment capabilities for a global review and approval of documents.
• Microsoft Word Import Add-on helped in importing requirements from Microsoft Word document.
• Microsoft Word Report Add-on helped in creating comprehensive real-time word reports such as SRS, SAD etc.
• Excellent Reporting capabilities with Dashboards, Word, Excel and Crystal reports.
• SOA based Enterprise Service Bus “Omnibus” integrations with any best-of-breed third party tools for Integrated ALM Solutions.

Application Lifecycle Management Solution was fully custom configured (codeless mouse click configurations) to meet customers requirements, which included domain and safety specific challenges.

Application Lifecycle Management Solutions Overview:

ALM Studio provides a feature-rich and configurable global platform for implementing a Software Development Lifecycle (SDLC) process, involving collaboration on the entire development cycle and tracing of implementations back to original specifications. It ensures that all developers are working from the same playbook, no matter where they are located, and that there are no costly last minute surprises -- whether the project was developed in the office next door, or by a facility 10,000 miles and 10 time zones away. The result is a top-quality application that matches what the user asked for and complies with all internal and external requirements.

Also Read more about application lifecycle management here.