In-Depth

BMC Software

2006 ADT Innovator Award Application

I. Project Information

Company Name: BMC Software
Recognizing the importance of business agility, BMC Software set out to address the need to deliver effortless systems management by re-architecting its existing PATROL systems management product. This would reduce the cost of maintaining multiple architectures/ infrastructures (PATROL 3 infrastructure, PATROL 7 infrastructure, PATROL Express infrastructure). BMC’s goal was to develop an entirely new systems management product with features that allow for easy installation, without the need for agents throughout the infrastructure. The BMC Performance Manager product development team set out to architect a product that:
  • Provides fully remote discovery and monitoring
  • Require no agents on target nodes for quick-and-easy installation and management of the software
  • Greatly simplifies the installation and administration of the discovery and monitoring solution
  • Protects customer investments in technology while providing the opportunity to deliver greater functionality

All these needed to happen within 8-10 months.

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.