In-Depth
Changes in the Fast Lane: Evaluating Enterprise Software Change Management Solutions to Fuel E-Business
The volume and pace of business software changes are accelerating at an unprecedented rate. The advancement is driven by industry trends as diverse as mergers and acquisitions, Y2K, the European Monetary Union, time-to-market pressures, cost demands and scarce resources. Yet, the impact of these combined trends is dwarfed by the revolutionary impact of e-business.
Upstart Internet companies are garnering valuations that rival, and even exceed, their traditional counterparts. Brick-and-mortar and dotcom businesses alike are reinventing themselves, virtually overnight. Companies are developing e-business strategies to conduct e-commerce, implement customer relationship management, and develop supply chain automation applications.
As these new e-business applications take their place at the core of many organizations’ business processes, enterprises are more dependent than ever on the quality and reliability of their mission-critical software systems. If e-business applications are not developed using rigorous software development and change management processes, companies can face disastrous system failures and downtime, loss of employee productivity, limitations on growth, costly redesigns and loss of customer base.
The e-business revolution is driving rapid growth in the number of application development projects. In this new business environment, end users across the enterprise typically require Web browser- or Windows-based access to legacy applications and massive volumes of data residing on mainframe hosts. To maximize performance, a middle tier of UNIX or Windows NT servers is often used.
These new, mission-critical applications must be developed rapidly, meet higher quality standards, and be updated quickly and frequently. This demand for speed is captured in the now familiar terms "Internet time" or "e-time."
Cross-Platform Software Change in E-Time
Compounding the challenges associated with managing software change in e-time are the complexities of cross-platform development. Development teams are increasingly dispersed across geographic locations and computing platforms. Many cross-platform development environments are relatively undisciplined, and lack mature Software Change Management (SCM) processes. Many well-publicized failures of e-business applications – as well as outages at leading Internet sites – can be attributed to poor SCM practices.
"The software and Y2K crises have taught the industry the importance of SCM the hard way," says Susan Dart, Industry Consultant. "Without it, software maintenance and growth becomes unmanageable and error-prone. And Web development introduces extra challenges that require new skills, techniques, processes and tool capabilities."
Seize the Day
Proactively managing software change not only minimizes the threats posed by e-business and Internet applications, but also puts organizations in better control of key assets, increases productivity and results in repeatable, predictable software quality.
Effective tools exist for managing software change on the mainframe, and effective tools exist for managing change in distributed environments, such as the Web, Windows, NT and UNIX. Until now, however, these tools have not communicated with one another.
Without an integrated, automated SCM solution, companies must rely on a variety of point products patched together into "home-grown" solutions that involve significant ongoing maintenance costs. Their operation often requires substantial human intervention, typically through e-mails, phone calls, and large, multi-departmental meetings.
Such makeshift solutions are not equal to the task of managing changes in a multi-tier application. It is very difficult to coordinate version control between the mainframe SCM product and the distributed systems product. Impact analysis is manual and error-prone, hindering code reuse. An e-mail-based approval process for moving changes from development into QA is time-consuming, difficult to administer and subject to human error. There is no single place for management to obtain reports, and no integrated audit facility to track problems. Coordination costs mount when using a manual process to manage multiple platform builds, installations and the inevitable backouts.
In a competitive marketplace where time-to-market pressures drive the need for faster, more efficient software development practices, these kinds of methods simply do not work. To ensure the health of their organizations’ mission-critical applications, IT managers require a comprehensive, enterprise SCM solution that can streamline IT processes to increase productivity, integrate scheduling, enable online approvals and make code easier to find, modify, reuse and deploy – regardless of platform.
Evaluating SCM Solutions
While some companies seek out SCM for its strategic advantages in supporting e-business and resource productivity, others are driven by the need to accommodate new technologies or to simplify corporate merger activity. Still, others are motivated by the pain of failed changes, code regression or poor audits. In all cases, SCM can help eliminate mistakes and enable teams to work together more effectively. SCM can be both a competitive edge and a key to survival.
Companies must select a vendor that can accommodate specific needs, rapid growth and multiple computing platforms. Selecting a single vendor to implement SCM enterprisewide can introduce additional efficiencies and ensure process consistency across platforms.
Each company must determine its key motivators, and select a vendor that excels in meeting its particular requirements and can deliver the following: consistent processes, comprehensive product, mainframe-to-Web platform coverage, centralized control, ease of implementation, usage and administration, ease of integration, flexible development strategies, best practices consulting, network- and integration-friendly architecture, and vision and commitment.
Standardize to Accelerate
Process is fundamental to SCM. To accommodate multi-platform application development, organizations need a consistent set of methods and nomenclature to manage changes as they develop, migrate, test, approve and install applications.
Companies must understand SCM best practices and define processes to achieve their business goals. The SCM solution must be flexible to conform to an organization’s development methodologies, but it must be consistent for applications running across multiple platforms, where inconsistencies can easily be introduced in promotion, approvals and other development steps. Processes need to be consistent and defined across platforms, but not necessarily identical. For example, to accommodate the volume and frequency of changes, a more streamlined approval process is essential for a Web-based application, than for an application running on a single platform, which is updated only quarterly.
Consistent processes enable greater organizational flexibility by allowing any staff member involved in the development process to easily move between projects, while using the same tools, regardless of the platform. When everyone involved in the product life cycle follows a consistent process, training time is also reduced.
A disciplined SCM process across platforms leads to an overall reduction in development cycles and an increase in developer productivity – critical benefits in the time-sensitive e-business development environment.
Comprehensive Product
E-business demands a move beyond basic version control to robust, automated life cycle management. To succeed in the Internet age, development must be simultaneously enhanced and accelerated. In addition to source code protection, an SCM solution should provide the following: process management, request management, build management, release management, impact analysis, version control, approval, security, reporting and audit information, concurrent development management, and change backout capabilities.
Mainframe-to-Web Platform Coverage
A vendor needs to deliver comprehensive products that can support a consistent process across all the major platforms. These include MVS, OS/390 USS, NT, UNIX (HP-UX, Sun Solaris, IBM AIX and Linux), Windows and the Web.
With development efforts spread across diverse systems, IT managers can face a dizzying array of processes as they attempt to coordinate coding efforts for multiple platforms. To help take control of these efforts, the SCM solution should provide IT managers with a single point of control to enable them to manage application life cycle tasks more effectively throughout the enterprise. Such control improves quality, reliability and throughput, and speeds time to market, while reducing costs through automation and efficiency. The solution must manage applications developed on each platform, as well as applications that run across multiple platforms. Common reporting across the enterprise is another capability to look for.
The solution must be easy to implement, use and administer, to encourage rapid acceptance, ensure processes are enforced, and minimize both initial and ongoing costs.
The products need to be robust in themselves, but also integrate well into the existing environment, including integrated development environments, help desk, software distribution, requirements management, testing, modeling and other applications.
Flexible Development Strategies
An enterprise SCM solution should provide developers the flexibility to work effectively on their platform of choice, while allowing the application under development to be deployed on appropriate platforms.
For example, the SCM system should enable developers to access and modify OS/390 MVS applications via TSO/ISPF, Windows and Web-based environments. Within the same organization, developers might wish to modify distributed applications via the Web, Windows, or UNIX or NT command-line interfaces. Companies building mainframe applications should be able to choose from distributed development, mainframe development or a mixture of both, to maximize productivity of limited technical resources.
The SCM solution should support remote development teams without performance or platform interoperability penalties. A flexible development strategy allows companies to better use the skills of their developers and the inherent development advantages of the various platforms, and to create developer teams regardless of location.
Best Practices Consulting
Creating an agile IT infrastructure in which software changes move faster and more reliably through development generates a competitive advantage. To reap the maximum strategic value from application development, organizations should tap into the knowledge that the marketplace has to offer. In order to deliver maximum value with its consulting services, the SCM provider must be focused on enterprise solutions and expert at bringing together a variety of technologies.
An SCM provider should be able to assess a customer’s application development environments and help re-engineer processes to the organization’s overall benefit. Beyond accelerating the implementation of the SCM system itself, SCM best practices consulting should be able to concretely improve process efficiency and instill repeatable processes in accordance with published guidelines, such as those in the Software Engineering Institute’s (SEI) Capability Maturity Model.
Network- and Integration-Friendly Architecture
Today’s Web-enabled development environments span diverse networks, support developers using an array of development tools and share data with a number of related systems. The underlying architecture of the SCM solution must allow software development activities to take place on a wide range of machines and platforms, and facilitate integration with developers’ tools of preference.
E-business development teams are in their infancy, and will expand as organizations reap the bottom-line benefits of their efforts. Any enterprise SCM solution must be inherently scalable while protecting network performance. It must integrate with a wide range of IDEs and accommodate multiple databases. Adherence to open standards and TCP/IP protocols helps ensure that the SCM solution will be able to grow as the demands placed upon it grow.
Vision and Commitment
The trends that are increasing the demand for, and value of, SCM systems today will continue to accelerate, making development environments increasingly complex. An SCM solution for the e-business environment must be able to keep pace with new challenges, integrating development from mainframe to Web with software components from several platforms, moving through a single process, in a single package.
In addition to expanding solutions to accommodate new technologies and heterogeneous environments, SCM vendors should offer value through third-party industry partnerships to give IT organizations maximum benefit.
Meeting the Challenges of a Changing Marketplace
As the emerging Internet economy continues to drive application deployment in the enterprise, new opportunities are available for organizations that can adapt their tools and processes effectively in an atmosphere of constant change.
Companies expecting immediate and sustained benefits from the e-business revolution must implement infrastructure improvements now to keep pace with Internet time. With the added time-to-market and software quality demands that e-business places on software development, successful companies need a complete SCM solution that enables their enterprises to manage multi-tiered development efforts in the manner that best suits their business needs. Their best bet is to partner today with a vendor who has the product, technology, platform coverage, capability and focus to understand and address their needs across the enterprise. The companies who successfully partner will enjoy the immense rewards of automated software change management: improved time to market, increased reliability and availability and an infrastructure to drive their e-business initiatives for competitive advantage.
About the Author: Tony Stayner is a Vice President of Marketing and Distributed Systems Business at SERENA Software (Bulingame, Calif.). For more information on SERENA, visit www.serena.com.