Professional Documents
Culture Documents
having an efficient software update process and policy can drive up your operating and support costs. In addition, you are probably missing out on maintenance revenues if you deliver updates to customers that are not paying for software maintenance. Lost market share Companies compete with each other based on their performance across the entire spectrum of value attributes. So if your organization can quickly and cost-efficiently roll out updates that are well-aligned with the changing needs of your customers, partners and/or usersand do so consistentlyyou will gain a sustainable competitive advantage over those that cannot. Increased risk exposure Problems with software updates can expose your organization to all kinds of business riskssuch as interruptions of service, liability for customer business losses, erosion of brand value, and exposure of confidential information. An optimized update process substantially mitigates your exposure to these potentially costly risks. For these reasons and others, every organization should invest in the optimization of its software update process. Failure to eliminate any shortcomings in this process will almost certainly have an adverse impact on your top- and bottom-line business performance.
Your software update process doesnt just require attention because of its potential impact on your business. It also requires attention because it is an inherently complex process with many potential opportunities for inefficiency and error. Several factors make software updating especially challenging and prone to problems, including: All software updates are not equal The chart on the next page provides a basic taxonomy of some of the update types you may have to manage.
Flexera Software: FlexNet Connect White Paper Series
Description Substantial functionality update that warrants designation as a new main version (e.g. from 1.0 to 2.0) Less substantial functionality update that only warrant designation as a point release (e.g. from 1.1 to 1.2) An update that may address a functionality shortfall or problembut that does not qualify as a point release5 An update to a specific file such as a dynamic-link library (DLL) or application programming interface (API) A collection of software patches, hot fixes and other changes released at a scheduled or ad hoc interval between upgrades
install updates that enhance your software. They would install every update as soon as it became available. And, their IT environments would be so stable and homogeneous that updates would never create unanticipated issues for your own software. This, of course, is not the case. Customers are different, and they have their own preferences when it comes to the frequency and acceptability of updates. Thats why your organization has to be customer-centric with respect to software updates, ensuring that update content, timing, installation requirements, and support policies are in line with customer needs. Resources are finite In most organizations, resources are already stretched given the increasing complexity of the software and the computing environments into which that software is now typically installed. Without a coherent updating process, these limited resources can easily be wasted on unproductive and/or redundant activities. Critical tasks such as quality assurance can wind up short-changed. Such outcomes are unacceptable in a business environment where software functionality is revenue-criticaland where customer expectations regarding software quality and reliability continue to rise. While much of the above material focuses on external customers, many of these same issues apply to software you develop for internal distribution. User acceptance is critical if your organization is going to get maximum return on its investments in custom software development. Plus, many business units now behave essentially like internal customersresorting to external software vendors if they are dissatisfied with the value and service they get from corporate IT. The growing importance of the software application to the business and the growing challenges associated with the consistent delivery of an excellent software update experience make it clear that every organization needs to give reasonable attention to its software update process.
Hot fix
Service Pack
The timing of these different types of updates are driven by different conditions. A major upgrade, for example, may be driven by how quickly your development team can complete coding and testing of all componentswhereas a hot fix may be driven by a problem that has to be remedied as soon as possible. Tracking, scheduling and coordinating these multiple types of updates makes the software update process far more complicated. Software updates require involvement from multiple groups Software updates involve more than just developers sitting in a room and writing code. First, your organization has to figure out what should be in the next updatewhether its a major upgrade or a hot fix. Product managers, marketers, salespeople and customer support staff need to be included and help define the software update requirements. Technical architects may also have to be involved before coding starts to ensure that updates and upgrades dont violate critical design constraints that can affect performance and scalability. Third parties may also have to be involved, since it is becoming increasingly commonplace to outsource at least some portion of software development. After developers complete their coding, that code has to be testedand support staff has to be appropriately notified and trained so that they can provide any technical assistance customers may need with the install and the new functionality. Salespeople and account managers also need to be informed about updates, since they are often the ones customers come to first with questions or problems. Major upgrades may even require the involvement of C-level executivessince such upgrades may play an important role in your organizations business strategy. The appropriate participation of all these parties-of-interest doesnt just happen. It has to be carefully orchestrated. If it isnt, your front-line staff can be blindsided by unanticipated customer issuesand, even worse, your updates may not even address your customers most pressing needs. All customers are not equal In a perfect world, your customers would be only too happy to
Flexera Software: FlexNet Connect White Paper Series
Given that improvements in your organizations software update process can make it more successful, then it makes sense to consider what a best-in-class software update process would look like. Here are eight best practices to consider when examining your organizations current processes: 1. Rationalized, customer-focused requirements process Every organization should have a structured process in place for gathering input from customers, technical support, sales, marketing, and executive management. Such a process enables the product management team to make informed decisions about what new and/or enhanced functionality to prioritize. Without such a process, important functionality can be inappropriately delayedwhile development and delivery resources are inappropriately allocated to less important items.
2. Well-defined version numbering Numbering conventions are critical when it comes to effectively managing software updates and delivering quality technical support. Organizations sometimes push out small software patches without assigning them a number at all, which can make the support staffs job much more difficult. Development shops that use Microsoft Software Installer (MSI), on the other hand, have to conform to its Major.Minor.Upgrade numbering format. To keep support costs and calls in check, it is essential to number all upgrades in a consistent and logical manner. 3. Clear frequency/installation policies Customers have plenty to do besides maintain your software. Yours is also not the only software they have to maintain. So its important not to overwhelm them with frequent updates and/or updates that require much time and energy on their part (i.e. a full MSI package vs. a self-extracting .exe). Customers tolerances for update activity also varies depending on a number of factors including how essential they perceive your software is to their business. You should therefore adopt software update policies that are driven by these customer tolerances and industry standards. 4. Appropriate communication and transparency Your organization should establish simple procedures for notifying all appropriate internal and external stakeholders about software update content and scheduling. This prevents technical support and account managers from being blindsided when customers reach out to your internal team with issues. Proper notification gives sales and marketing the opportunity to leverage planned new functionality to help close deals and gain a competitive edge. 5. Diligent testing/quality assurance Given their workload, it can be tempting for development teams to skimp on testing updatesespecially when those updates involve relatively small amounts of code. But experience reveals that sometimes even the smallest of updates can wreak havoc if those updates are not adequately tested. Inadequately tested updates cause unacceptable interruptions of service, they undermine customer relationships, and inhibit the acceptance of future updates. Rigorous adherence to software test and quality assurance best practices is thus essential for any and all software updates. 6. Coherent software licensing and pricing strategy While it is reasonable to provide free updates and upgrades for a period of time, the value provided by improvements and new features added to your software product may eventually warrant charging additional fees. It may also make sense to treat some updates as separate functional modules that are licensed separately. As a result, you need to make sure that you have a software licensing and pricing strategy to support your software update process and policy.
7. Clearly-defined software lifecycle with policies for end-of-life and end-of-support As new updates are rolled out, you may also have to decide which older software version(s) you will continue to supportand which ones you will not, a sensitive issue if your organization provides software as part of a broader set of products and/or services. But it is simply not practical or cost effective to keep your technical support staff fully trained in many versions of your software. And because older versions may also not be compatible with newer components of your customers computing environments, it is essential to have a clearly-defined software lifecycle policy. 8. Customer-centric update experience There are also a wide range of technical considerations involved in fully optimizing the software update process in order to safeguard the quality of the customer experience while delivering the greatest possible value in terms of functionality, performance, reliability, security and ease-ofuse. These considerations include: Are you going to ensure that customers can abandon an update if they encounter a problem? How will you ensure that a failed update installation wont disrupt the customers ability to use your product? Will you enable customers to easily roll back to a previous version of your software if they are not happy with an update after they have installed it? Are you going to digitally sign your software updates? Will you make it easy for customers who have missed several recent updates to get current in a single operation? Will software updates have to be unpacked before deployment? Can you automatically check for other installed components, operating system versions, or other resources that may affect update installation? Customer-centric updates should be determined based on actual customer preferences and market pressuresrather than on the whims and exigencies of your development team. The above is not an exhaustive list of all the issues associated with software updating. It does, however, provide clear evidence that your organization should probably engage in some thoughtful, collaborative planning if you want to ensure that your software updating makes a positive contribution to the performance of your business.
With many business needs competing for your organizations finite resources, it is reasonable to ask why investing in a software update solution should be given priority. And secondly, you must ask yourself, do you build a software update solution using internal IT and development resources or purchase a commercially available software update solution. A strategic,
best-in-class software update solution is critical to your organizations ongoing success for ensuring customer satisfaction and retention, while helping you to increase profits and market share. While some choose to develop their own software update solution and then try and maintain it over time, many organizations find that this option requires too much drain on IT and development resources. In fact, most organizations realize that a best-in-class software update solution offers so much more than just software updates. A strategic software update solution offers a wide range of benefits that, when combined, create a very compelling case for investing in a commercially available solution, including: Satisfied and loyal customers Your customers experience with your software updates over time is central to their overall experience. When you improve your update process, you dont just improve the mechanics of installing periodic updates, you also improve the content of your updateswhich is a core element of your value proposition as well as your ability to provide technical support for those updates. All of this translates into happier, more loyal customers. Higher profits A disciplined update process simplifies development, drives down support costs, and helps prevent unlicensed use of intellectual property. Improvements in your update/upgrade content also helps increase the total value your organization delivers to the customerwhich helps protect your pricing levels. Together, these benefits increase the profitability of every customer. Gain market share In an increasingly crowded marketplace, it is critical to differentiate your organizations product and brand. A strategic software update solution does this by providing key in-product messaging to your customers while they are using your product, which results in a better customer experience and more cross-sell and up-sell opportunities for your products and capabilities. By better aligning your softwares functionality with your customers real needs you will see increased sales of your products features and functions. Reduced business risk Problems with software updates can expose your organization to all kinds of business risksincluding those resulting from updates that dont work right or that create information security exposures. By minimizing the likelihood of these problems, an optimized update process can mitigate exposure to financial, reputational, and legal risks. Improved productivity and collaboration A strategic software update solution helps people from all areas of your business collaborate more effectively to understand and meet your customers needs. It also helps support staff, account managers and others become more productive by not wasting their time chasing down information on planned updates or solving installation problems that could have been avoided. The magnitude of all these benefits will only grow as usage of software applications become even more dominant in the
Flexera Software: FlexNet Connect White Paper Series
day-to-day work lives of customers, partners and internal endusers. Thats why, in an increasingly tech-centric marketplace, it behooves every organization to re-evaluate its approach to software updatingand to optimize its update processes wherever it makes good business sense to do so.
Flexera Software is the leading provider of strategic solutions for Application Usage Management; solutions delivering continuous compliance, optimized usage and maximized value to application producers and their customers. Flexera Software is trusted by more than 80,000 customers that depend on our comprehensive solutions- from installation and licensing, entitlement and compliance management to application readiness and enterprise license optimization - to strategically manage application usage and achieve breakthrough results realized only through the systems-level approach we provide. For more information, please go to: www.flexerasoftware.com
5
Flexera Software LLC 1000 East Woodfield Road, Suite 400 Schaumburg, IL 60173 USA
United Kingdom (Europe, Middle East Headquarters): +44 870-871-1111 +44 870-873-6300
Copyright 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respective owners. FNC_WP_SW-Update_June11