Digital Insight is the leading online banking provider for financial
institutions. Through its comprehensive portfolio of Internet-based financial
products and services built upon the company's unique architecture, Digital
Insight enables banks and credit unions to become the trusted transaction
hub for their retail and commercial customers. Digital Insight offers consumer
and business Internet banking, online lending, electronic bill payment
and presentment, check imaging, account-to-account transfers, Web site
development and hosting and marketing programs designed to help increase
online banking end user growth and more. Each Digital Insight product and
service reinforces the strength of its financial institution clients.
a. Brief description of the business risks involved
BMC Performance Manager evolved out of BMC Software’s need to re-invent
its PATROL systems management product family. While PATROL has an expansive
customer base, BMC Software recognized that in order to maintain and
grow market share they must invest significant manpower behind building
the next generation of PATROL. The success of this project was paramount
to BMC Software’s continued success in the infrastructure and application
management market.
The major business risk associated with the development of the new
product is the risk of customer not accepting the new product and successfully
migrating to the new architecture. There is the balance of supporting
customers in the old environment while pushing them forward to the new.
There is also the investment balance – of investing enough to provide
support to the old architecture while maximizing the investment on the
new product.
b. Brief description of how the system helps users
BMC Performance Manager was developed to provide the functionality
required to diagnose complex problems while being simple to deploy,
install and use. This allows users to improve business performance,
optimize system resources and reduce costs by shifting the focus from
maintenance and operations to more value-added tasks. In initial customer
deployments, BMC Performance Manager has delivered immediate benefits
and long-term investment protection.
II. Organizational Objectives
a. What short- and long-term benefits did the organization achieve
from the project? Did the solution meet the projected goals for saving
time and money? How were benefits measured? Was the system mission-critical
to the organization?
The development process used during the creation of BMC Performance
Manager got the team operating quickly and efficiently, with the focus
on quick turnaround time and maximized productivity. The staff accomplished
three major product releases in eight months, delivering advanced functionality
to users with releases that made deployment easy.
Users had a positive reaction to the new solution. They are now equipped
with a systems management solution that is highly scalable, and easy install
and customize. They now able to choose the level of management required,
and deploy the right solution to meet their specific requirements.
b. Describe the business purpose of the new system.
The purpose of BMC Performance Manager was to create an innovative
end-to-end systems management solution that had the functionality to diagnose
complex problems yet was simple to install and use. This allowed users
to focus on more value-added tasks, rather than maintenance and operations.
In addition, the new system delivered immediate benefits, long-term IT
investment protection, and low total cost of ownership.
c. Describe the features of the new system.
OS Monitoring: Monitors performance, resource consumption, and capacity
of critical server components such as CPU, memory, cache, disks, and file
systems.
Active Directory Operations Monitoring: Assures Active Directory health
by monitoring critical Active Directory components such as Domain Controller,
replication, LDAP, FSMO roles, DNS, and trusts.
Windows Event Log Monitoring: Allows users to easily create filters
based on event type, source, ID, user, or category, so they are alerted
only on events of interest.
Windows Service Monitoring: Monitors services and processes associated
with the services. Users can also use recovery actions to restart failed
services.
Server Monitoring: Monitors performance, resource consumption, and
capacity of critical server components such as CPU, memory, cache, and
physical and logical disks.
Agent or Agent-less Monitoring: Users can choose the level of management
required, and deploy the right-sized solution to meet that requirement.
Microsoft Cluster Monitoring: Monitors the health and operations of
Microsoft Cluster environment.
Log File Monitoring: Allows users to monitor any log file for size
or content, and set up specific recovery actions.
Process Monitoring: Enables users to monitor process availability
and resource consumption. Provides the ability to restart failed processes
and terminate processes that consume a specified percentage of CPU.
Performance Monitor Wizard: Enables users to quickly set up monitoring
for any available Windows Performance Counter.
WMI Wizard: Enables users to enter WMI queries to monitor various
Windows components.
COM+ Monitoring: Allows users to monitor COM+ applications for performance
and resource consumption.
Printer Monitoring: Allows users to monitor the operations and availability
of printers.
Diverse Platform Coverage: Supports a Unix and Linux platforms including
AIX, HP-UX, Solaris, Tru64, Red Hat, SuSE, and VMware.
Event Management: Manages automated escalation of warnings and alarms,
integration with systems, event filtering, message rewording, and execution
of out-of-the-box or user-defined recovery actions.
d. Explain the functions of the new system.
BMC Performance Manager provides users with an extensible, scalable,
and easily customizable systems management solution. The solution provides
monitoring, alert notification, event management, reporting, and historical
trending from a central console. BMC Performance Manager allows users
to proactively manage the health and performance of heterogeneous operating
system environment and applications. BMC Performance Manager allows users
to manage with an agent or remotely. Users can choose the level of management
required, and deploy the right-sized solution to meet that requirement.
e. Who were the internal sponsors of the project? Which officials
or groups were opposed to developing the application? Why?
The PATROL product group sponsored the product internally. R&D
Management and the Worldwide Sales organization also sponsored the product
internally.
f. Were users of the system involved in the project during the planning
and development phases? If so, how?
Many customers and partners provided feedback to the development organization
in the planning and development phases. BMC shared with the partner community
the SDK (Software Development Kit) that they would use to develop solutions
in the new architecture. Detailed product plans were shared with strategic
customers and their feedback was incorporated into the prioritization
of product requirements.
g. What were the greatest challenges in completing this project? How
were they overcome?
The greatest challenge in completing this project was to combine three
individual architectures into one infrastructure, all within a short timeframe
of 8-10 months. This challenge was overcome with the use of the Agile
development methodology.
h. Were the goals changed as the project progressed? If so, what were
the changes and why were they made?
Using the Agile methodology, project requirements were reprioritized
for each iteration based on project and customer requirements. This allowed
BMC to be responsive to feedback from the field and customers.
III. Category
Application Engineering:
Emphasizes the use of software engineering tools and practices. Includes
the use of Extreme Programming (XP) concepts, the Unified Modeling Language
(UML), Computer-Aided Software Engineering (CASE), object-oriented analysis
and design tools, automated testing tools, methodologies, project management,
process management, configuration management tools and/or productivity
measurement tools in an innovative corporate development project.
IV. Methodology/Process
a. Describe how productivity tools or techniques were used in the
project.
The Agile software development used provided the ability to adjust
to new business realities and requirements. It is based on following adaptive
principles and working with teams that are focused on accelerating the
process for delivering high-quality software that is easy to implement
and manage.
The BMC team used a tool to manage the Agile development process.
Requirements, story cards and tasks were recorded in the tool. Reports
from the tool helped keep track of the iteration and release status.
b. Were testing tools used during development? If so, when were they
used? Was the testing cost-effective?
Tools were used for unit testing, GUI automation testing, and automated
API testing. Testing was cost effective through the use of offshore resources.
c. Was a formal or informal software development life-cycle methodology
employed? If yes, please describe it.
A formal Agile development life cycle was used. A two-week iteration
cadence was maintained throughout the project. Release planning, iteration
planning, daily standup meetings, and retrospective meetings were held
as scheduled. Story cards were prepared for each activity and appropriate
tasks were assigned to team members.
d. What formal or informal project management methodologies and/or
tools were used to manage the project? If used, please describe how.
The IAM team turned to the Scrum (Agile) software development methodology,
an iterative, incremental process for software development. This methodology
emphasizes empowerment, teamwork, self-organizing teams, and the quick
removal of development roadblocks within each team.
The Scrum methodology enabled BMC to deliver high-quality releases
in a fraction of the time required under traditional software engineering
techniques. This protected customers’ investments in technology and at
the same time provided the opportunity to deliver greater functionality
so that IT organizations could be more responsive to their business customers.
Some of these new capabilities included remotely executed automated recovery
routines and the dynamic provisioning of the systems management software.
e. Were software quality metrics used? If so, what were they, and
did using them significantly help the project?
BMC tracked story card acceptance rate, and planned versus actual
completion rate, planned versus actual team velocity. The team tracked
product defects and their severity, defect open and close rates, and the
trends leading to product stability/readiness.
V. Technology
a. What were the major technical challenges that had to be overcome
to complete the project successfully? How did the team respond to those
challenges?
Integration challenges: The solution required five different infrastructure
components to be integrated. Once integration was achieved, the last four
months of the development effort was used to build and test in the integrated
system. There was continued focus on improving the integrated build and
even when achieving the integrated build slowed down the development progress,
the commitment to integration never wavered.
b. What software tools, including databases, operating systems and
all development tools, were selected for the project? Why were they selected
over competing tools? What process was used to select development tools
and software platforms?
The following software tools were selected for the project: Eclipse,
Oracle, JBOSS, JUNIT, and Maven.
c. Describe the overall system architecture. Were elements of the
technical infrastructure put in place to support the new system? Please
describe.
d. What characteristics of the tools and technologies used were most
important in achieving the business purposes of the system?
In terms of what was most important in achieving the business purposes
of the system, it was more of the methodology and principles used than
the tools and technologies. The team focused on technical quality while
at the same delivering a valuable solution in a shorter time period.
VI. Project Team
a. What was the size of the development team?
200 development and QA
b. Describe the software development experience of the team members.
The team was very experienced, although the JAVA technology was new
to many team members.
c. What was the composition and skill level of the team? Did development
teams require training to work with the technology?
The development team was seasoned and included all levels of development,
from VP of IAM to corporate and solutions architects. As mentioned above,
a portion of the team was not accustomed to JAVA technology, so hands-on
training was provided during the development process.
d. How many person-month/days did the project take, and over what
calendar time frame? Was a formal schedule created at the start of the
project? Did the project stay on schedule?
There were 3 product releases delivered during the past 12 months.
The project stayed on schedule during development.
e. Did management and the user community consider the project a success?
It is too early to declare success in the user community, but the
completion of the release successfully lays the groundwork for modular
monitoring applications that are independent from the infrastructure.
The organization is well position to deliver frequent solution releases
to the customer using the Agile methodology.
f. If you had to do the project over again, would you do anything
differently? If yes, please explain why.
As mentioned above, success thus far has been measured on the acceptance
of the new architecture by customers and the team’s ability to implement
the Agile methodology to deliver three product releases within the past
twelve months. The BMC team would not do anything differently if they
were given the opportunity to start over.