Friday, April 29, 2011

Different Approaches to an Integrated ALM

Integrated Application Lifecycle Management is one of the most sought-after aspects of software development process. Technologies are bringing in multiple advantages of Integrated ALM to real development as they are maturing in highly critical production systems. An organization today is missing out on some compelling benefits, it is not thinking about an integrated ALM.
In a development organization there are quite a few challenges to introduce and implement Integrated ALM successfully. Some of them are:
  • Multi vendor tools use multiple technologies.
  • The software being produced uses wide range of technologies.
  • The tools use various data repositories.
  • The tools are geographically distributed.
The different approaches to an Integrated ALM

Approach One: Point-to-point Integrated Multi Vendor Tools

Traditionally the individual vendors have tried to achieve modicum of Integrated ALM by first integrating their own ALM point tools and then integrating some selection of the popular point tools from other vendors. It is necessary to create integration between a particular pair of tools. Although to achieve the functionality and benefits, a point-to-point integration between most, if not every pair of tools is required. As the integration is often done between tools from two different vendors, it often becomes the users’ responsibility to create a workable integration using their own development resources.

Limitations of Point-to-point Integrated Multi Vendor Tools

·         Complexity of combinations

A point-to-point integration between every pair of n tools requires n x (n-1) / 2 number of integrations. Because of the ad-hoc nature of these integrations, it becomes particularly complex to create and maintain each individual integration code between the pairs of tools.

·         Handcrafted Integration Business Rules

Integration codes are custom made for particular pairs of tools, and it has maximum flexibility although maintenance becomes very cumbersome. Changes in the code mean a full cycle of development, test, and deployment cycle, and it therefore becomes impossible to implement even the smallest change quickly.

Some development groups are abandoning their custom point-to-point integration projects and large service companies with enough in-house software expertise and bandwidth are looking for a replacement of their handcrafted internal integration rats-nest architecture with a more sustainable and scalable solution.

Approach 2: Single Vendor Integrated ALM Tools

Large vendors are coming up with their own solutions to the Integrated ALM, Because of the problems faced by point-to-point integration architecture. Though their solutions vary in actual implementation, they can be grouped in the category of ‘single vendor solutions’. While these solutions also aim at including third party vendor tools, the current implementations on the market do not meet these needs.
The limitations of a single vendor integrated ALM tools approach are recapped below:

·         Rip and Replace

Apart from the difficulty of economic justification of replacing existing tools by a single vendor tools, such a move results in retraining of the development team members in new tools, which may delay development projects unnecessarily.

·         One Size Fits All

It is highly unlikely that built-in tools from a single vendor can serve the needs of a wide range of development groups. However, due to the very nature of the solutions, the users are forced to use these tools even when better and often less expensive (sometime free open source) tools are available and appropriate for their needs. Single vendor tool creates a technology with little or no chance of working together.

Approach 3: Multi Vendor Best of Breed Integrated ALM Tools by ALM Middleware

The concept of ALM middleware addresses all the Integrated ALM requirements squarely by taking a cue from the integration solutions in other industries. It also avoids all issues and pitfalls that occur in the other two approaches of point to point and single vendor integrations. The middleware technology is based on Enterprise Service Bus (ESB) architecture, which has some distinct advantages over any point-to-point integration architecture. These advantages are discussed below:
·         Significantly simpler development
·         Protect Investments
·         Best Tools for Best Functions
·         Flexibility of Integration Business Rules
·         Analytics and Dashboards
·         Flexibility of Integration Business Rules

In the above mentioned three approaches to integrated application lifecycle management, the method of ALM Middleware is the most suitable method for implementing Integrated ALM in organizations having or needing multiple vendor tools.

Learn more about: - integration bus.

Thursday, April 28, 2011

Integrated project management now made possible

Project management is essentially the application of knowledge, skills, tools, and techniques applied to project activities in order to meet or exceed stakeholder needs and expectations from a project. Yet there are a number of reasons why projects don’t match up to expectations and end up being failed projects. From lack of efficient methodologies to failed attempts at managing tasks, projects can be affected adversely if all issues connected with project management are not integrated efficiently. Most enterprises often face their primary challenge in simply defining the project appropriately. The juncture where most enterprises fail is when the planning of the project has serious flaws. Also most enterprises cannot manage tasks and their eventual follow-ups effectively.

An integrated approach is best suited for better project management results. Enterprises would do well to opt for a solution that can help them with managing tasks in a better manner. An optimized solution that offers task management solutions and ensures that tasks and their follow ups are easily managed even with limited resources will be a definite advantage for any enterprise. From requirements management tool to test management from issue management to risk management, enterprises need a solution that can allow both manual and automated tasks’ allocation easily for all the different stakeholders. It should facilitate systematic and organized workflow management in a distributed environment. An integrated solution will assist in generation of multiple tasks for different resources/ rules for a particular item of a project. It can also define parallel Tasks for same or different sets of resources. Such integrated issue management tools can design custom tasks as well.

Enterprises would also benefit if the solution can offer simple ways of navigation to expose a link to any item on the task form. Generally resources require more information on the record for which he/she is supposed to accomplish a Task, with a one-click access of record from the Task can help the resource to work independently and thereby reduces spare dialogues among the workgroups. When a solution also offers an in in-built Timesheet that can track time entries against the Task allocated to resources it can assist project managers in keeping them independent from any other third party timesheet management tool. Therefore approvals and rejections can be done easily. The integrated project management solution can also help all resources to get involved in a project to record the actual time and effort that has been spent in doing the assigned tasks. Such a solution can allow project manager to view information about the actual spend on the Project in a number of ways, from individual resources for any specified period of time, or viewing the summary of hours spent in the Project.

Learn more about: integration bus & application lifecycle management.

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.