Wednesday, April 20, 2011

Solving ITSM obstacles

IT service management involves investigation and resolution of issues and problems that may have been reported via a geographically distributed user base. Typically there are different processes that enable IT service management (ITSM) and they follow complicated business rules that are founded on the basis of Service Level Agreements (SLA) and other technical guidelines. Therefore processes tend to transform into something more complex because there is greater involvement from different quarters that includes service, engineering, finance and legal teams. Generally these diverse departments use separate information silos or point tools that are may lack data integrity and also be lacking in cross-functional collaboration elements that could seriously affect the quality of service. IT service management personnel require solutions that can offer ways to solve user-reported problems and also ensure that such information are entered into a knowledgeable base for future reference.

There are different IT service management obstacles which include:

·         Classification and employment automated business processes
·         Sharing developments in problem resolution
·         Ensuring problems if not resolved in time are escalated to ensure its full fledged resolution
·         Having an integrated IT tools ecosystem
·         Offering global access
·         Enabling knowledge base management


Different ways to beat IT service management obstacles
  • Putting in place automatic IT service management solutions that can generate tasks that will be founded on previously designed business rules. This will ensure that you can have easy access to escalation notifications that will be automatically generated. Therefore there will be lesser manual errors even as you will be ensured of complete visibility into all your processes.
  • An easy web-based interface that can be accessible from anywhere and at anytime for internal groups be it finance, service or even your legal team can be beneficial for your enterprise. This easily offers an event-based, two-way, real-time communication between separate tools ensuring data integrity and decreased inconsistencies.
  • An optimized ITSM solution should enable a knowledgebase for the enterprise that contains resolutions of known errors and should also include learning from previous resolution efforts. This reduces time spent on issues/problem resolution and also removes duplication efforts in problems that have been resolved earlier.
  • The ITSM solution should offer information to enterprises in a just one repository thereby allowing enterprises to refer to different information with ease.  
An effective ITSM solution can offer many benefits owing to its diverse functional abilities that cater to different security issues as well, making it an ideal solution for enterprises.

Learn more about: integration bus & application lifecycle management.

Tuesday, April 19, 2011

PAAS requirements and the Enterprise

If the history of programming would be written then the Holy Grail would be to empower the end users to create such computer programs sans layers of translations from business to technical to programming languages. The basic idea behind this is to ensure that the languages are simpler and more abstract. The generations of programming languages when loosely defined can be described as 1GL (1st generation language): Machine Language, 2GL (2nd generation language): Assembly Language, 3GL (3rdgeneration language: Procedural Languages): Fortran, COBOL, C, Pascal, Algol, 4GL (4thgeneration language: Declarative Language): SQL, Power builder, FoxPro, Oracle, Forms, eDeveloper, Cold Fusion, 5GL (5thgeneration language: Constraint based Language): Prolog, LISP. However the goal towards simpler languages is still far from being realized. While there exist little commercial software that allows end users or business analysts to act as proxy for the end users create ‘prototypes’ especially for user interface but they only a generate a prototype with nice interface without the actual engine since it still needs traditional programming to create a meaningful engine.

There are various visual languages led by Microsoft and Borland that provide various visual (read drag and drop) widgets to generate the programs in traditional languages namely Pascal, C++, Java.

Platform as a Service (PaaS for applications generation) is a logical next step of Software as a Service. Forrester defines PaaS quite simply as “an externally hosted service providing a complete platform to create, run, and operate applications including development tools, administration and management tools, runtime engine(s), data management engine(s), security facilities, and user-management services. PaaS is based on Internet protocols and patterns.” The idea is to have such a PaaS service provider that includes all components of the platform as defined above. The PaaS software should not need any specific coding and should provide for a set of common building blocks that may be needed for developing RIA (Rich Internet Application) with database.  Additionally it should account for distributed collaborative applications and should provide all necessary tools for users of various disciplines to be able to collaborate effectively online.
   
The IT service management provider should also offer PaaS solutions that follows a traditional database development methodology by defining multiple Entities and creating relationship among them – as one can visualize in an Entity Relationship Diagram. Also such IT service management solutions when they offer best process management platform they can be immensely beneficial since it allows users to create industry strength workflow automation on top of any of the applications they are developing using a unique process engine. Most of the PaaS are weak due to their lack of any built-in integration built-in SOA based integration technology, that can easily integrate with any applications running anywhere in the world on any technology platform.

Friday, April 15, 2011

How to enhance ROI with Integrated ALM?

 Integration of tools becomes indispensable when the best-of- breed development tools from various tools are not talking to each other. When every group is working in isolation, it becomes almost impossible to have a consolidated picture of the whole development project. Hence, adopting an omnibus technology that is based on ESB architecture makes development significantly simpler. Integrating ALM tools enhances the ROI as there are several distinct advantages. Some of the advantages are
  • Protects Investments
ALM middleware can integrate tools from different vendors including internally     developed tools, without any special requirement on the tools. The tool investments, therefore, are protected and enhanced with integrations and the training of the users of the tools is protected from an investment perspective.
  • The best tools for the best functions
An integrated application lifecycle management allows the integration of multiple third party tools from different vendors for the same function. It also supports the simultaneous usage of multiple tools from multiple vendors in a single tool ecosystem. This allows organizations to select the best-of-breed tools in the market without getting locked into a single owner solution.
  • Flexibility of Integration Business Rules
An integration bus allows creation and management of integration business rules independent of the individual tool adapters. Unlike point-to-point and single-vendor integrations where the logic is hard coded in the integration codes, middleware adapters do not have any hard coded embedded business rules and are configurable with mouse clicks.
  • Traceability with Change Impact Analysis
Omnibus technology allows creating and managing Traceability relationships between artifacts from various tools, unlike a point to point integration, where only two tools are integrated at a time without a central framework. A flexible omnibus technology promotes multi-tool proactive and reactive Change impact analysis which is almost impossible in single vendor integrated solutions and point to point integrated solutions.
  • Process Automation without boundary
Am integrated ALM creates cross tools process and automates it for a transparent no-overhead implementation with success potential that is much larger. The integrated technology automates the entire process for the users, irrespective of the difference in locations or tools.
  • Analytics and dashboard  

Various kinds of dashboard metrics and reports can be created by a technology that has all the artifacts and Meta information in the repository. The integrated bus technology facilitates these reports to provide insights regarding the entire process, though this is generally difficult to obtain.

It is therefore safe to conclude that an integrated ALM helps in enhancing the ROI as the integrated bus technology serves as the single data repository for all essential ALM and software development life cycle services like collaboration traceability, process automation and security.

Learn more about:  Requirements management tool here.

Wednesday, April 13, 2011

Building a Case for ALM Middlewar

Integrated ALM is popularly known as End-To-End ALM as per some vendor websites but there are very few vendors who actually are able to deliver the promise of point-to-point integration architecture. Here is where ALM Middleware can help achieve an Integrated ALM for a mixed vendor tools environment. Typically in a software development process, various tools are used both for managing the development process as also for the actual creation, testing, building and deployment of software codes.

The concept of Integration Middleware addresses all the requirements of Integrated ALM completely and adds on some amazing benefits to any enterprise.  It consists of software components that connect disparate software applications. It consists of a set of services that allows multiple processes running on one or more machines to interact. Application Lifecycle Management Integration Middleware is the glue software between varieties of different tools used throughout application development lifecycle. It mediates between ALM tools in a number of ways to achieve transformation and routing of data, propagation of change impact by relating data from one tool to another, orchestration of software development lifecycle process flows and integrated reporting.

ALM Integration Middleware technology based on Enterprise Service Bus (ESB) architecture can help in viewing artifacts managed by one Tool from another Tool. It can create relationships between artifacts for traceability with change impact analysis or even automate a process cutting across the tool boundaries and implement a complete ALM lifecycle without a break.  It can also help manage Projects and Resources across the tools, assist in creating Cross tools Analytics and Dashboards. Essentially an Integrated ALM system should be able to produce a Test compliance report for the end customer that can show the list of Customer Requirements, Change Requests and Issues, traced to Test cases and individual Test runs. And finally, the Test run results should show that they have all passed. To produce such a report requires retrieving information from various tools including Requirements Management, Issues/ Change Management, Test Management and Test Automation.

ALM Middleware is based on a standard set of web service based APIs. It can without any special requirement on the tools, integrate tools from different vendors, including internally developed tool, thereby protecting all the tool investments by the enterprise. It allows for the integration of multiple tools from different vendors for the same function. For instance requirements Management may be covered by any combination of tools from IBM/ Rational (Requisite Pro, DOORS, and Requirements Composer), Microfocus/ Borland (Caliber-RM). What is perhaps even more beneficial is that it can support simultaneous usage of multiple tools from multiple vendors in a single tools ecosystem. This allows enterprises to select the best tools available in the market without locking themselves in a single vendor solution.

Integration business rules change over time for reasons such as the ever evolving business conditions, group dynamics, and development methodologies. ALM solutions such as Middleware allow creation and management of these rules independent of the individual tool adapters. Unlike point-to-point integrations where the logic is hard coded in the integration codes, middleware adapters do not have any embedded business rules. This eliminates the necessity of development resources for changing the integration codes and reduces the change implementation time drastically from weeks to hours.

Friday, April 8, 2011

Benefits of an Effective PAAS for IT Service providers

Paas or (Platform as services) is the next logical step of SaaS – Software as a service.  Forrester defines it as “An externally hosted service providing a platform that is complete to create, run, and operate applications including development tools, administration and management tools, runtime engines, data management engines security facilities, and user-management services. PaaS is based on Internet protocols and patterns.”

ITSM solutions providers allow companies to configure applications for their customers. Both On-Premise and SaaS deployment can be done including an internal Cloud for the end user development.

Benefits of an effective Paas
PaaS offers some distinct advantages over the traditional development methodologies, as a new delivery platform for business applications. Some of the benefits are:
  • Significant Savings in Development time and cost
A feature rich business application using PaaS can take between few man-hours to a 4-6 man weeks. On the other hand to develop a business application with all the features will take minimum of 10s of man-months if developed using traditional methodology. The savings have the following components.

Infrastructural Savings: By providing a complete hardware and software infrastructure for development, deployment and operations, the time and cost of setup of development and deployment infrastructure can be saved.

Savings in Development Efforts: The application lifecycle  development time and effort is reduced considerably due to codeless drag and drop configuration.

Savings in Testing and QA Efforts: Codeless drag-and-drop configurations are made error proof, making it difficult to make lapses in coding.

Operational Savings: by having a web architected application deployed, there is a substantial savings in total ownership cost either On-premise or Software as a Service (SaaS).

Characteristics of an effective PAAS
  • No coding
A successful Paas does need any coding.  It does not have an underlying language in which a program is ‘generated’.
  • Distributed Collaborative Applications

An effective PAAS application is intrinsically collaborative and distributed. It provides all the necessary tools for users of various disciplines to collaborate online as it is completely web based and web architected from the grounds up.
  • Typical Web based Application
An effective Paas follows a traditional database development methodology by defining multiple Entities and creating relationship among them.
  • Process Management Platform
PaaS tools allow users to create industry strength workflow automation on top of any of the applications.
  • Built-in Integration Bus Technology
One of the primary requirements of any industry strength business application is its ability to integrate with a wide range of other business applications. An effective Paas has a built-in SOA based integration bus technology, the Omnibus uses Bus Technology to integrate with any applications running anywhere in the world on any technology.
  • Reporting and Dashboard
A built-in reporting and dash-boarding tool allows wide range of textual, tabular, form based and graphical reports. No additional tool is necessary as in some of the other PaaS offerings.

Competitive Advantage:
An effective Paas has a competitive advantage to market revenue recognition much faster. IT service partners deliver high featured business applications at a competitive cost in a short time and that is one of the main advantage of effort and cost savings. Paas is suitable for a wide range of business applications that can be created and configured for the specific needs of each organization.

Learn more about application lifecycle management

Friday, April 1, 2011

How to integrate and Process enable your ecosystem?

Managing a software development project across a number of functionally, geographically and technologically distributed groups can be done only with proper integration. Lack of integration can cause several problems in the various development tools in a development shop. Adopting an integrated technology and an effective ecosystem is the best way to implement and automate processes across several unconnected tools.

Consequences of unconnected tools:
  • Redundant and conflicting information in multiple tools.
  • Lack of process across the tools.
  • No Traceability and other relations between information locked in individual tools.
  • Manual consolidated reporting.
  • Lack of visibility.

An Integration bus technology not only allows a multi-tool integration in enterprise service bus architecture, but also offers a significant savings in integration effort and cost over ad-hoc point –to-point integrations.
  • Permits total synchronization between two tools for an entity- An Integration Bus allows for a two way total synchronization between two tools for a particular entity to keep all the information current in both tools. This is why dual way synchronization is necessary.
  • Enables integration between multiple tools- An integration bus technology facilitates integration between multiple tools managing the same type of items. To elucidate, a transparent synchronization among multiple Requirements Management tools will keep the other users of each tool aware of what is happening in other tools.
  • Coordinates relations between items - Integration Bus synchronizes not just the data but also relations between items. The starting point of any meaningful integration is the synchronization of data. There is a larger value gained by the relations among this data.
  • Helps decide what needs to be replicated – An Integration Bus allows the business rule to decide when and what to replicate across different tools. For example not all Requirements need to be replicated from the Requirements management tool to the test management tool but only those which are approved.
  • Enables federation of data from other repositories- An Integration Bus allows confederacy of data from other repositories on-demand. An on-demand access of data allows minimization of the data replication and network traffic.
Integration and automation is absolutely vital for any process. Multiple groups at different locations, using different tools, without a process will lead to difficulty in controlling and managing information creation and flow. The best solution is to define, implement, automate and enforce processes using the best available process automation tools. Having process capability across integrated tools is a requirement very few development tool vendors addresses even across their own tools sets. But today, an service integration bus technology with built-in task based process engines can help to not only  to process-enable myriads of tools that do not have any built-in process engine, but also makes  them participate in a larger macro process tools.

Learn more about: application lifecycle management here.

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