Revenera logo

Agile teams often don’t include installation as a part of their agility charter. As a result, installation can get left behind as teams race to deliver software to customers and users.

But installation is more important than that, both from a technical and perception standpoint. A lack of agility in installation can mean a poor or difficult experience for those early users. An ad hoc approach to successive installations and uninstallations could result in future problems.

It’s not difficult or demanding for an agile team to use the same agile principles for application installation. Just try these six best practices.

Tip #1: Plan for Installation
Application installation is often relegated to a back seat when it comes time for agile planning. Few teams ask customers or agile product owners about their installation and uninstallation requirements, which leads to significant risk.

The reality is that installation is a business requirement, even though it may not be explicitly stated in user stories or other need definition. It requires planning and should be considered as a part of the application design or it may not match business needs.

The best agile teams plan for installation features just as they do business features by examining user stories for requirements, prioritizing features from those requirements and assigning tasks to developers to implement the features.

Tip #2: Rank the Installation High Priority in the First Release

The installation is the first product impression. An ad hoc, sloppy or inaccurate installation process sends a negative message about the application itself.

The perception may be inaccurate, but a poor installation experience can leave a significant concern. Because releases are frequent under agile methodologies, ongoing difficulties in installation may give users a permanently poor impression of the application as a whole, even if it meets the business needs it promised.

A stellar installation on the initial customer release can also prevent technical issues later on in the project. For example, an ad hoc or incomplete uninstallation routine can leave files, directories, and Registry keys on the user systems, which can cause future instability.

Tip #3: Install As A Team
Installation development is a team sport in agile processes. While many teams assign a single engineer to installation development, that approach creates a separation and potential mismatch between the application effort and its corresponding installation development.

Every team member has a need to understand how 
the application installs and how that installation affects their features and code. By making each developer a part of the installation effort, agile teams can assure that the application and installation requirements are considered and developed together.

Tip #4: Be Flexible
The key to a successful agile process is flexibility. It may not be necessary to have all installation features available with the very first product release. Like application features, the most important and relevant installation features should be delivered first.

Then, based on customer feedback and changing business needs, features can be added and existing features fine-tuned. Like the application itself, the installation is continually evolving, with the team accepting feedback and making adjustments based on needs.

Tip #5: Remember Changing Platforms or Operating Systems
Don’t forget to be flexible in response to changing platforms or operating systems. Today, applications are installed on a wide variety of systems, from desktops to servers to virtual machines and even tablets and phones. Up front planning for the installation as well as the way the installation is built should take into account multiple technologies and systems.

Tip #6: Leverage Automation
Agile methodologies are based on simplicity, a theme that was emphasized with the use of decidedly low-tech tools like 3 X 5 notecards and Post-it® Notes. However, teams quickly outgrew such approaches as applications became more complex and teams were distributed across the country or even the world. Today, most agile teams use automation to help identify repetitive activities or to simplify complicated or infrequent tasks.

Agile installation developers can leverage automation for similar reasons. Setting up an install can be complex, so the use of scripts to add new files, add or delete features, initiate the build process and change the product name as well as upgrade code, release settings, summary information stream items and release flags.

InstallShield icon

InstallShield

Create native MSIX packages, build clean installs, and build installations in the cloud with InstallShield from Revenera.

Building the installation package should also be a part of the nightly/continuous build process, just like the rest of the application.

Agile Installation—Go Faster, Better Experience
Combining agile software methodologies with installation development makes the entire project faster, more agile and responsive to customers and markets. Teams can plan and execute installation development in concert with the application and adapt as needed just like the application and its business features.

 

InstallShield® is the world's leading Windows installation development solution. InstallShield is designed to enable development teams to be more agile, collaborative and flexible when building reliable InstallScript and Windows Installer MSI installations for desktop, server, Web, virtual and traditional applications. The software installer of choice for today's sophisticated application producers, InstallShield is the only software installer that can directly convert MSIs to Microsoft App-V virtual packages. Get your free trial of InstallShield today or contact us for more information. 

InstallAnywhere is the leading multiplatform development solution for application producers who need to deliver a professional and consistent cross installation experience for physical, virtual and cloud environments. From a single project file and build environment, InstallAnywhere creates reliable installations for on-premises platforms – Windows, Linux, Apple OS X, Solaris, AIX , HP-UX, and IBM iSeries – and enables you to take existing and new software products to a virtual and cloud infrastructure and build Docker containers.  Get your free trial of InstallAnywhere or contact us for more information.