Software installation: agility and best practice

0 Likes

Some generally accepted best practices for developing software installations in an Agile environment... and other information, recommendations and experience sharing around deploying your finished application on Windows...

More often than not, the packaging and installation design of software is more of an after-thought, and not something that is considered from the design phase, so from an Agile point-of-view, it doesn’t really tick any boxes, and more importantly, can be quite inflexible.

Having worked on software installation and packaging for many years, I can, with some confidence, impart some food for thought on this subject.

Bad design can lead to issues when trying to deploy the application whilst adhering to the rules and regulations of Windows, and more specifically, Windows Installer.

Designing an application installer also involves understanding the requirements of the application, the scenarios it will be installed and used under, and also to an extent, the application itself.

The installer development can also be distributed amongst developers, in the same way and tests and documentation are created, so it’s important that it’s designed and shared, rather than just created.

Here are some brief “best practice” guidelines:

  • Understand the requirements… 
    What type of application is it? what is the maintenance story/lifecycle? …right down to the Operating System range, pre-requisites, possible conflicts, licensing.
  • Good architecture leads to improved flexibility… 
    Allow structural changes to have the minimum impact on any development work, for example, if features are added or removed.
  • Deployment… 
    How will it be distributed? CD/DVD, USB key, web downloads (intelligent and lite, full-fat for high bandwidth)
  • Scalable tools… 
    Using tools like WiX (Windows Installer XML) will allow easier version control in source repositories and development work across individuals and teams.
  • Build and Test… 
    Employ continuous integration and testing using virtual machines with different base environments… don’t leave any stone unturned.
  • Future proofing… 
    Before you go RTM, ensure Hotfixes and Service Packs are built and tested to destruction.

Next week…. When using Windows Installer, be careful when…

In the meantime, some bed-time reading...

Comment List
Anonymous
Related Discussions
Recommended