Desktop Management Problem
The driving force behind implementing centralized management systems is their cost-effective management of networked systems. For most IT organizations, centralized management systems are the only way of approaching the same level of reliabilty, availability and control that has been available with mainframe environments of the past.
The ideal desktop management system should provide a "push" technology that allows administrators to deploy software to multiple PCs simultaneously from a centralized administrative console, without requiring end user intervention or a technician to visit the desktop. Deployment tasks can be executed immediately or scheduled for off-hours in order to minimize impact on end user productivity or network bandwidth.
The ideal desktop management should be an open and scalable system that supports a range of server platforms, such as Solaris, HP-UX, NT, and both new and legacy Microsoft client platforms (DOS, Windows 3.x, Windows 95, Windows 98 and NT 4.0). The system should be standards-based, with support for standard protocols, including IP, DHCP and BOOTP and standard Wired for Management (WfM)-enabled PC platforms (DMI 2.0, Remote Wake Up and PXE). The desktop management system should also support legacy PCs via boot PROMs or boot floppies for standard NICs from Intel, 3Com, SMC and others.
Essential to the equation should also be a series of open, programmable interfaces that allow customers and partners to extend and customize the system. The system should be carefully designed to provide scalability across large numbers of clients and servers, including the ability to group PCs and software packages into deployment groups and the ability to intelligently manage network bandwidth.
Windows 2000 promises to address many of these limitations but will not be deployed in most production environments until 2001, according to industry analysts, such as the GartnerGroup; moreover, in order to take advantage of these new desktop capabilities, organizations must migrate to an exclusive, all-Windows 2000 environment on both clients and servers, which may be unrealistic for many corporations, the preponderance of non-NT desktops.
The ideal desktop management system should configure operating systems, applications and desktop parameters on an ongoing basis. These operations should be executed simultaneously on multiple PCs from central administrative consoles, and should deliver three critical capabilities: pre-OS installation, remote support and no end user intervention. These three powerful capabilities result in enterprise desktop management nirvana: lower PC total cost of ownership (TCO).
As computing environments move toward increasingly distributed and heterogeneous environments, many IT organizations are now implementing centralized management systems for managing network resources such as routers and printers, application and database servers (e.g., SAP, Oracle, Lotus Domino), and desktop PCs.
The driving force behind these implementations is the realization that centralized management systems are required to cost-effectively manage the complex and mission-critical nature of networked systems. For most IT organizations, centralized management systems are the only way of approaching the same level of reliability, availability and control as has been available with mainframe environments of the past.
Centralized desktop management tools are seen as a key requirement for reducing the TCO associated with desktop support and the rapid growth of desktops in enterprise environments, and as a key enabler for delivering a higher quality of IT service to end-user organizations.
In addition, most IT organizations now see PC desktops as a mission-critical corporate resource that should be managed as part of an overall networked environment – embodying the philosophy "the network is the computer" – rather than treated as a series of isolated standalone resources to be managed on an individual basis.
Tactical requirements for desktop management typically arise in connection with urgent short-term projects such as desktop OS migrations (e.g., from Windows 3.1 or OS/2 to Windows 95/98 or NT), Y2K desktop remediation projects, large-scale deployments of new and more powerful PC hardware to support business unit requirements (Web access, e-commerce, multi-media, etc.), or deployment of new and complex applications, such as Lotus Notes or Netscape Communicator.
A successful desktop management system should provide three key technology differentiators versus conventional electronic software distribution systems: pre-OS technology, native installation engine and continuous configuration.
The ability to install and configure operating systems on PCs that are new or are unable to boot due to corruption or misconfiguration is called pre-OS capability. Pre-OS technology enables the desktop management system to install operating systems on a PC regardless of its state (e.g., corrupted hard disk, won’t boot, virgin hard drive, etc.). If a desktop management system cannot perform these functions, then its value is tremendously reduced, as the (re)installation represents a major task of IT support staffs.
Pre-OS technology takes control of the PC even in the absence of a working operating system, and automates the installation and configuration of operating systems on new PCs out of the box. It also acts in a help desk setting for PCs that are unable to boot due to misconfiguration or corruption – without requiring a technician to visit the desktop or any end-user interaction.
The ideal desktop management system should install applications by running the vendor-supplied native installation program (setup.exe) on the target client. Its desktop agent should click through the installation wizard using the installation options specified by the administrator before launching the installation task. This allows each installation to be easily customized on a per-user or group-wide basis via a point-and-click administrative interface. No editing of script or batch files is required. In addition, this approach provides a high level of reliability because it leverages the vendor-supplied installation procedure that adapts in real-time to the hardware and software configuration of the target system.
The ideal desktop management system should manage PC configurations across the entire PC lifecycle, not just during the initial application installation. It should be able to deploy action packages to add a new printer or change printer settings, change the IP address or login password of a PC, run an anti-virus or inventory scan, or execute a BIOS flash as part of a Y2K remediation effort.
It is also helpful for a desktop management system to maintain a unique client configuration database that stores a history of all software packages that have been installed, as well as the configuration parameters that were used during installation. This database can be used to rebuild the desktop to its previous configuration at any time, in a completely unattended manner.
Intel WfM Initiative
The Intel WfM initiative is intended to significantly enhance manageability and reduce TCO for desktop PCs. According to Intel, approximately 14 million WfM-enabled PCs have shipped since the end of 1998.
WfM V2 will offer enhanced manageability for mobile PCs, enhanced security via encryption and authentication, and support for new hardware/software asset management standards such as CIM (Common Information Model) and WBEM (Web-Based Enterprise Management). WfM V2 is currently in beta with PC manufacturers and is expected to be available in mid-1999.
In addition, 100 percent of the business PCs offered from vendors, such as Dell, Compaq, IBM and HP are currently shipping with WfM capabilities. The ideal desktop management solution should fully support the WfM V1.1 specification, which consists of three components:
Remote Wake Up (RWU): Allows IT organizations to execute administrative tasks remotely during off-hours to preserve network bandwidth and user productivity.
The PC client is automatically "awakened" under centralized control of the desktop management system, and directed to install and configure operating systems and applications.
DMI 2.0 (Desktop Management Interface): Developed by the Desktop Management Task Force (DMTF), DMI 2.0 allows Help Desk personnel to scan the hardware and software properties of remote PCs in real-time to aid in troubleshooting.
The Pre-boot eXecution Environment (PXE): Allows network administrators to perform unattended reformatting of corrupted hard drives and installation and configuration of software on new PCs right out-of-the-box.
The right desktop management solution gives IT organizations the flexibility and power to rapidly adopt new technologies that create strategic business leverage. Examples of such technologies include Windows NT Workstation, client/server programs, such as SAP R/3, or powerful new hardware to support Web-based multimedia programs.
An ideal desktop management solution should significantly reduce TCO by virtually eliminating the ongoing support costs of upgrading desktop hardware and software and fixing end-user desktop problems.
The GartnerGroup estimates the total cost of ownership per PC per year at $13,200. A network supporting 1,200 desktops costs more than $15 million per year in desktop-related expenses. The GartnerGroup estimates that desktop management solutions can reduce overall TCO by 15 percent annually, or about $2,000 per PC per year.
By selecting a desktop management system that incorporates pre-OS, remote support and no end user intervention, organizations can easily achieve 15 percent reduction in TCO.
The ideal desktop management solution should deliver a rapid return on investment while automating tactical initiatives with immediate payback, including:
New PC Roll-Outs. By eliminating the need for technicians to manually install and configure operating systems and applications on new PCs, the ideal desktop management solution can significantly reduce the cost and time required for new PC rollouts, while eliminating the costs associated with factory software installation by PC manufacturers or outsourcing organizations.
Operating System Migrations. The ideal desktop management solution should be able to automate the migration from OS/2 or any Microsoft operating system to any other Microsoft operating system.
New Application Deployments. The ideal desktop management solution’s installation approach should be ideally suited to deploying complex applications, such as Netscape Communicator and Lotus Notes that require multi-stage installations involving customized configuration tasks (e.g., customized user e-mail address, server address, etc.), that are not typically supported by conventional snapshot installation systems.
Y2K Remediation Programs. The ideal desktop management solution should be used to automate Y2K remediation programs at all five levels: BIOS, operating system, network operating system, applications and user data files. For organizations with large numbers of PCs, an automated approach may be the only way to cope with the impending Y2K deadline.
Future of Desktop Management
As the bandwidth and availability of standard Internet connections increases, the ideal desktop management solution’s long-term goal should be to enhance its capability to handle PCs, such as laptops, as well as PCs in non-traditional environments, such as those using wireless connections and systems used by small businesses, home users and educational institutions.
Its goal should be to support industry standards and complementary applications that are relevant to enterprise customers, including:
• Providing enhanced enterprise functionality by directory-enabling software via industry standard directory services. This should allow IT administrators to store all relevant information about their users – including PC configuration information – in a single, replicated database that can be accessed and queried from anywhere on the network.
• Providing integration with additional enterprise frameworks.
• Continuing to support evolving platform standards, such as Windows 2000 client and server.
• Continuing to support evolving desktop standards, such as WfM V2, CIM, WBEM and WMI.
About the Author: Ram Sudama is Chief Technical Officer for ON Technology Corporation (Cambridge, Mass.).
Taking Charge of Change
Long gone are the days when business-critical software applications remained static for years on end, and still satisfied business needs. And quickly disappearing are the instances when required changes were so minor that one member of the development team could handle them. The IT department has become a dynamic environment.
Initially, to combat the growing number of changes to software applications necessary to keep a business competitive, IT groups set a manual process or rudimentary version control system in place. These stop-gap measures relied on the good habits of the developers. Many developers were the only ones touching a body of code, and didn’t require much discipline. Now, with multiple developers working on a body of code, these manual processes are not enough to safeguard the quality and integrity of the software applications.
Today, corporations must constantly evolve and grow their software applications to meet customer demands and give the business a competitive advantage. This means that monthly, weekly, and, perhaps, daily, IT groups must make changes to software operations to meet business requirements. These changes are not a one or two person job. Teams of developers, sometimes numbering in the hundreds, work together to develop and advance the businesses software assets.
In development environments, such as these, large corporations can not rely on manual processes to ensure that alterations to software code are managed flawlessly. The applications being built, altered and replaced influence the core business processes and need 24- hour reliability. In such demanding environments, where errors may occur because of the volume, complexity, speed and ease of change, only a software change management solution can keep development running smoothly and productively, keeping business profitable.
Regardless of the operating system, software change management (SCM) is, essentially, the structured process of tracking, managing and controlling changes to software and its components throughout an application’s development lifecycle. A SCM solution enhances productivity by improving communication among developers and the other groups involved with a particular project, so all work products can be successfully integrated and released. Not simply a management tool, a software change management solution is a live set of factors which developers use to ensure the quality, auditability and replicability of code and applications.
The Problem with Change
Change is fraught with the potential for failure. Software development is complex and touches many aspects of business. These two factors alone make managing the development process an absolute must. But, as the complexity of applications increases and the number of people working on the same body of code grows, the need for a software change management solution to control the process becomes even more critical. A software change management solution is the only remedy, to numerous developers making multiple changes, which offers the structure necessary for predictable software development.
Today, so many resources within an organization rely on software to conduct business – software has a dramatic effect on every person and thing it touches. For organizations routinely changing and enhancing business applications, to ignore the need to manage development will result in chaos. Two programmers working on the same body of code can accidentally overwrite each other’s work, losing hours, maybe days, of programming time. Conversely, they could be duplicating each other’s efforts. Such situations are counterproductive to the goal of enhancing a software application. In industries where safety is paramount, such as airlines, railways and healthcare, disruptions in business applications could put lives at stake.
Software change management provides safeguards that improve productivity without imposing strict routines on the developers themselves. Protections are innate in the SCM solution. Should code, newly introduced into production, fail, tracking of all changes to code allows the IT department to revert back to an earlier version without disrupting the business and consuming numerous person-hours to discover and repair the flaw. Programmers working on the same body of code will be notified of conflict, and changes coordinated.
A software change management solution should ease concerns, such as:
• How to respond to business user community’s requests for modifications.
• How to automate project implementation.
• How to streamline and manage the process of promoting changes and modifications from deployment through test into production.
• How to revert back to a previous version if modifications to business applications cause unexpected defects.
When you have a consistent approach to development, as offered by a SCM solution, where set, repeatable methods are used during the development process, you reduce the complexity of the issues involved in application development. When you reduce the complexity to a manageable level, you increase productivity, and enhance the security and confidence in the fact that applications will work flawlessly once introduced in production.
Key functionality for a SCM solution should include:
• Integrated User Request and Defect Management. Provides development with the tools needed to prioritize, combine, approve and manage user requests and identified defects. Record issues, associate them with development projects and automatically notify users as issues move through the development process.
• Integrated Project Management. Shows visibility and status of all projects in the system, allowing users to plan projects, test project plans, track resource usage and reschedule as plans change.
• Auditibility. Ensures all Change Management functions are audited and archived.
• Developer’s Facilities. Creates sandboxes and workbenches – areas for developers to create and test changes without interfering with concurrent development activity.
• Deployment. Moves software changes through the development life cycle of testing to production systems.
• Emergency Rollback & Production Recovery. Removes a faulty change from production and restores a previous version, quickly returning production to operational in one step.
• Concurrent Development Management. Coordinates the changes made by multiple developers who share the same source code with automated developer notification when a conflict occurs.
• Integrated Source Compare and Merge. Merges one developer’s changes to a source member with the changes made by another developer to the same member, eliminating conflicts and providing a net change source auditing facility for documenting what has changed.
• Version Control. Tracks the evolution of each component of an application by individually storing successive versions of that component, granting the ability to see the when, where and why of a change on the system, including both user and design request data.
• Emergency Handling. Provides tools to ensure that response to an emergency is planned for ahead of time and controlled by specific user and by environment, while placing no restrictions while resolving the issue, and documenting the process through a complete audit trail.
Together, these features provide a controlled environment for development. A development team can track the application’s life cycle and gather all the data relevant to the application. Most important, should an application be introduced into production that is either faulty or adversely affects other applications running in the production environment, a SCM solution safeguards the business relying on the software applications by providing mechanisms to return to previous stable applications.
The only way for corporations to remain competitive is to be able to enhance their business software assets and get them back into production quickly, easily and safely. Managing the development process, and having and maintaining strict controls over the changes to the code without interfering with developers’ ability to work freely, is the only way to ensure the quality and integrity of software applications. Only software change management can provide these assurances and permit IT departments to focus on the task at hand – enhancing software applications so the business can grow into the future.
About the Author: Marty Acks is SDM Product Manager for MKS and holds extensive experience in software change management for the AS/400. He can be reached at Marty.Acks@mks.com.