Jump to content

User:Nickmalik/temp

From Wikipedia, the free encyclopedia

Introduction[edit]

According to Forrester Research, the typical IT organization expends 78% of its human and capital resources maintaining an ever growing inventory of applications and supporting infrastructure[1].

It is not uncommon to find organizations that have multiple systems that perform the same function. This may be because of independent decisions, corporate mergers, and even abortive attempts to adopt new tools. Regardless of the reason, each application is seperately mantained and periodically upgraded.

With a large majority of expenses going to manage the existing IT applications, it is natural for corporations to attempt to reign in these costs. One growing area of investment in IT management is the area of Application Portfolio Management (APM). Forrester Research believes that the application portfolio management market space will grow from approximately $15 million in 2003 to exceed $400 million by 2008

One goal of application portfolio management is to reduce the duplication and redundancy that consumes resources unnecessarily.

According to a recent study conducted by the BPM Forum:[2]

A staggering 70 percent of the respondents are convinced there are redundant,

deficient or obsolete applications being maintained and supported on the network. More than 40 percent estimate that unwanted applications consume more than 10 percent of the IT budget, while some 10 percent speculate the real cost might be more than 20 percent of the IT budget. The problem is even greater in larger companies with revenues above $500 million. Among those respondents, some 78 percent say there are redundant, deficient or obsolete applications being maintained and supported. Furthermore, 14.30 percent of those respondents estimate the cost of

supporting those applications consumes more than 20 percent of the IT budget.

Portfolio[edit]

Managing an ever growing list of applications has led to a relatively new measurement science called application portfolio management. Taking ideas from investment portfolio management, practitioners of APM gather information about each of the applications in the portfolio, including the cost to build and maintain the application, the business value produced, the quality of the application, and the expected lifespan. Using this information, the portfolio manager is able to provide detailed reports on the performance of the IT infrastructure in relation to the cost to own and the business value delivered.


Definition of an Application[edit]

In the field of application portfolio management, the definition of an application is a critical component. Many service providers offer services specifically tailored to helping an organization create their own definition, due to the often contentious results that come from these definitions. The definition below comes from the IT organization within the Microsoft Corporation as presented by their Enterprise Architecture team.[3]

Software Application-- An executable software component or tightly coupled set of executable software components (one or more), deployed together, that deliver some or all of a series of steps needed to create, update, manage, calculate or display information for a specific business purpose. In order to be counted, each component must not be a member of another application.

Software Component - An executable set of computer instructions contained in a single deployment container in such a way that it cannot be broken apart further. Examples include a Dynamic Link Library, an ASP web page, and a command line EXE app. A zip file may contain zero or more software components because it is easy to break them down further (by unpacking the ZIP archive).

Software Application and Software Component are technical terms used to describe a specific instance of the class of Application software for the purposes of IT portfolio management. See application software for a definition for non-practitioners of IT Management or Enterprise Architecture.

The art and practice of Software Application Portfolio Management requires a fairly detailed and specific definition of an application in order to create a catalog of existing applications that are installed in an organization.

The requirements of a definition[edit]

The definition of an application has the following needs in the context of Application Portfolio Management:

  • It must be simple for business team members to explain, understand, and apply.
  • It must make sense to development, operations, and project mgmt in the IT groups.
  • It must be useful as an input to a complex function whose output is the overall cost of the portfolio. In other words, there are many factors that lead to the overall cost of an IT portfolio. The sheer number of applications is one of those factors. Therefore, the definition of an application must be useful in that calculation.
  • It must be useful for the members of the Enterprise Architecture team who are attempting to judge a project with respect to their objectives for portfolio optimization and simplification.
  • It must clearly define the boundaries of an application so that a person working on a measurable 'portfolio simplification' activity cannot simply redefine the boundaries of two existing applications in such a way as to call them a single application.

Many organizations will readdress the definition of an application within the context of their IT Portfolio Management and governance practices. For that reason, this definition should be considered as a working start.

Examples[edit]

Inclusions[edit]

By this definition, the following 'things' are applications:

  • A web service endpoint that presents three web services: InvoiceCreate, InvoiceSearch, and InvoiceDetailGet
  • A service oriented business application (SOBA) that presents a user interface for creating invoices, and that turns around and calls the InvoiceCreate service. (note that the service itself is a different application).
  • A legacy system composed of a rich client, a server-based middle tier, and a database, all of which are tightly coupled. (e.g. changes in one are very likely to trigger changes in another).
  • A web site publishing system that pulls data from a database and publishes it to an HTML format as a sub-site on a public URL.
  • A database that presents data to an Excel workbook that queries the information for layout and calculations. This is interesting in that the database itself is an application unless the database is already included in another application (like a legacy system).
  • An Excel spreadsheet that contains a coherent set of reusable macros that deliver business value. The spreadsheet itself constitutes a deployment container for the application (like a TAR or CAB file).
  • A set of ASP or PHP web pages that work in conjunction with one another to deliver the experience and logic of a web application. It is entirely possible that a subsite would qualify as a separate application under this definition if the coupling is loose.
  • A web service end point that no one uses, but which can be rationally understood to represent one or more useful steps in a business process.

Exclusions[edit]

The following thngs are not an application at all

  • An HTML web site.
  • A database that contains data but is not part of any series of steps to deliver business value using that data.
  • A web service that is structurally incapable of being part of a set of steps that provides value. For example, if you create a web service, but you require that the data that arrives can only be useful by the app if it breaks the web service schema, then you have not deployed an app. You have deployed trash.
  • A standalone batch script that compares the contents of two databases by making calls to each and then sends e-mail to a monitoring alias if data anomalies are noticed. In this case, the batch script is very likely to be tightly coupled with at least one of the two databases, and therefore should be included in the application boundary that contains the database that it is most tightly coupled with.

Composites[edit]

The following things are many applications

  • A composite SOA application where you develop a set of reusable services and a user interface that leverages those services. There are at least two applications here (the user interface and one or more service components). Note that you do not count each service as an app. Depending on how many tightly coupled components you built, you may have a single servicies endpoint that presents many services, or you may have a couple of service endpoints that are independent from one another. It is the amount of coupling between the components that defines the application, and therefore it's boundary.
  • A legacy client-server app that writes to a database to store data, and an excel spreadsheet that uses macros to read data from the database to present a report. There are TWO apps in this example. The database clearly belongs to the legacy app in that was developed with it, delivered with it, and is tightly coupled to it. This is true even if the legacy system uses the same stored procedures as the Excel spreadsheet.


Links and References[edit]

Links to Product Vendors[edit]

Serena Mariner
Speedware
Compuware Changepoint
Microsoft Project Portfolio Server

Links to Service Providers[edit]

Cognizant
IBM
UMT
Fujitsu
Infosys

References[edit]

  1. ^ "Application Portfolio Management Tools," Forrester Research, link to research
  2. ^ "Software Gain or Business Drain, Assessing Application Value, Relevance, and Cost to your Company," BPM Forum, PDF Report
  3. ^ Definition of an Application, Inside Architecture Blog, Nick Malik