Although it’s pretty obvious what are the drawbacks of
this common approach, I want to mention the top three
most common issue that an IT organization might
experience in a absence of such data (application cross
dependencies).
1)
Unstable production environment
2)
waste of time and resources
3)
lack in planning and estimations (of IT
projects)
What to collect and model?
Collection can start from high level to low level of
details. Usually there are three levels of complexity.
Collection of application (and their dependencies),
application’s component (as well as dependencies) and
collection of all the interfaces exposed by each
application components. I tend
to start my work from the high level approach for two
reasons. It takes less time and efforts, while it
enables me to show the advantage of having this data.
For the application dependencies I’m always collect all
the IT assets that a given application is depend on.
That list includes other applications, Databases,
Technologies and Servers (usually for C/S apps). When
collecting and modeling dependencies between
applications I also collect the type of dependencies. My
type of application dependencies include: COM/EJB
(tightly coupled) , Web service,
HTTP (passing parameters), routing (HTTP, in house
interfaces to navigate from legacy systems [Main Frame,
AS/400] to open systems and vice versa), using of Queue,
File transfer, Direct access to the other app database
and copy of data (duplication of data management).
For collection application attributes I’m following the
minimize approach and I’m focusing on attributes that
are necessary for my work. Usually this list of
attributes contains (Unique number, Name, Description,
IT owner, List of users, DRP level, Application
architecture (C/S, WEB ,MF ,etc’), Develop language,
transactions per day, Version as well as all of the
mentioned dependencies above.
How do I do it?
If I have an existing application catalogue, I’m
starting for it. If not I’m doing the work by following
a list of IT workers. Taking in account that there are
different points of views (especially for dependencies)
I’m doing my work following this sequence:
1)
Meeting with the application owner and modeling all
of his input as one view.
2)
If one application relation is mentioned in other
application gathering meeting, but it wasn’t mentioned
previously, I depict this relation just in the view of
the guy who mentions this dependency. In the end of my
work I have different views of different owners, with
collisions that need to be resolved
3)
Using EA tool to get collisions for each owner and
resolving collision by collision
In the end of the work I have an update application
catalogue, views for each application owner with his
application dependencies and one repository (EA tool)
that holds all of the application relations. Usually I’m
creating one view that depicts all of the application
and their dependencies.
What can be done with this data?
Wait for next post :-)