Software Development  ·  Level 6
Desktop Application Development
Chapter 5: To deploy desktop application
📚 4 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • Identify the best desktop application deployment strategy by following proper work procedures.
  • Choose the right deployment tools that meet user requirements effectively.
  • Package a desktop application correctly according to its specific requirements.
  • Distribute the desktop application safely by following the correct work procedures.

These skills will help you confidently deliver desktop applications that work smoothly and meet user needs in the real world.

Compiled by: Stephen Mbugua

Deploying desktop applications is a critical phase in the software development lifecycle that ensures end users can access and use the application effectively. In Kenya’s growing software industry, deployment must align with organizational workflows and infrastructure capabilities to minimize disruption and maximize user adoption. This chapter explores how software developers identify appropriate deployment strategies and select tools that meet the specific needs of desktop applications in diverse professional settings such as banks, universities, and county government offices.

5.1 Identifying Deployment Strategy

Selecting the right deployment strategy is essential for a smooth rollout of desktop applications. In Kenya, organizations vary widely in their IT maturity and operational complexity, which influences the approach taken during deployment. For instance, a retail chain with multiple branches may prefer a phased deployment to manage risks, while a small cooperative might opt for a big bang deployment to expedite access. Understanding deployment strategies and the factors that influence their selection helps developers tailor their approach to the unique requirements of their clients.

5.1.1 Overview of Deployment Strategies

Deployment strategies define how and when a desktop application is released to users. The major strategies include:

Phased Deployment

Phased deployment involves releasing the application gradually, starting with a small group of users before expanding to the entire user base. This approach allows for early detection of issues and reduces risk. For example, a county government office might deploy a new financial management system first to the procurement department before rolling it out to other units.

Big Bang Deployment

Big bang deployment releases the application to all users simultaneously. This method is suitable when the organization requires an immediate switch from an old system to a new one. A university upgrading its student records system might use big bang deployment during semester breaks to minimize disruption.

Parallel Deployment

Parallel deployment runs the new and old applications simultaneously for a period, allowing users to transition gradually. This strategy is common in banks, such as Equity Bank, to ensure transaction continuity while staff familiarize themselves with the new system.

Pilot Deployment

Pilot deployment targets a select user group or location to test the application under real conditions before a full rollout. A healthcare facility like a county hospital may pilot a new patient management application in one ward before hospital-wide implementation.

Remote Deployment

Remote deployment involves installing the application on users’ devices over a network without physical access. This technique suits organizations with distributed teams, for example, a SACCO with branches across Kenya.

5.1.2 Factors Influencing the Choice of Deployment Strategy Based on Work Procedures

Choosing a deployment strategy depends on several organizational and technical factors that reflect the work procedures and operational environment.

Organizational Size and Structure

Large organizations with multiple departments or branches often require phased or pilot deployments to manage complexity, whereas small businesses may prefer big bang deployment for simplicity. For instance, a retail business with multiple outlets may find phased deployment manageable, while a single-branch cooperative might deploy all at once.

Criticality of the Application

Applications that support essential business functions such as payroll or inventory management demand cautious deployment strategies like parallel or pilot deployment to avoid operational disruptions. A county government’s payroll system requires a phased or parallel deployment to ensure accuracy in salary payments.

User Readiness and Training

The proficiency and readiness of users influence whether the deployment should be gradual or immediate. For example, a hotel introducing a new booking system may opt for a pilot deployment with intensive user training before full adoption.

Infrastructure and Network Capabilities

Reliable network infrastructure supports remote or automated deployments, whereas limited connectivity may necessitate manual or phased installations. In rural healthcare centers with intermittent internet, manual phased deployment is often preferred.

Risk Tolerance and Budget Constraints

Organizations with low risk tolerance and adequate budgets tend to adopt phased or pilot deployments to mitigate failures, while others may accept the risks of big bang deployment to reduce costs and deployment time. For example, a county education office might choose phased deployment to avoid disruption during school terms.

The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒5.2 Identifying Deployment Tools

Deployment tools automate and simplify the installation, configuration, and updating of desktop applications. Selecting the right tool is vital to meet user expectations and operational requirements. In Kenya’s software development sector, understanding the fe…

🔒5.3 Packaging the Application

Packaging a desktop application is a critical step in the deployment process, especially within the Kenyan software development environment where applications often serve diverse user bases with varying system configurations. Proper packaging ensures the appli…

🔒5.4 Distributing the Application

Distribution determines how end-users access and install the desktop application. In Kenya, where internet connectivity and infrastructure vary widely, choosing the right distribution method is essential to maximize reach and usability. Developers must balance…

Chapter Summary

This chapter examined the process of deploying desktop applications, starting with the identification of appropriate deployment strategies. It discussed various approaches such as phased and big bang deployments, highlighting how factors related to work procedures influence the choice of strategy. The chapter then explored deployment tools, providing an overview of popular options like InstallShield and NSIS, while emphasizing the importance of evaluating these tools based on user requirements and the specific needs of the application. Packaging the application was addressed next, focusing on best practices for creating reliable installation packages and ensuring compliance with all application dependencies and configurations. Finally, the chapter covered methods for distributing the application, including direct downloads and app stores, stressing the need for distribution methods to align with established work procedures to ensure smooth and effective rollout.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the main difference between phased deployment and big bang deployment strategies? (2 marks)
  2. List three factors that influence the choice of deployment strategy in a software development project. (3 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain the difference between phased and big bang deployment strategies and identify which would be more suitable for a banking software rollout at Equity Bank. (4 marks)
  2. List four factors that influence the choice of a deployment strategy in software development projects, citing an example from a county government office in Kenya. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Select and Justify Deployment Strategy for Desktop Application

Software Development · Level 6
Desktop Application Development
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare a deployment strategy report recommending the most suitable deployment method for a desktop application with justification based on company procedures.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer installed with Windows 10 and Visual Studio 2019Deployment Strategy Documentation Template
Access to network environment simulationPen and A4 paper
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer installed with Windows 10 and Visual Studio 20191 Pc per Candidate
2Deployment Strategy Documentation Template1 Pc per Candidate
3Access to network environment simulation1 Pc per Candidate
4Pen and A4 paper1 Set per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Analyze Deployment Strategies and Recommend
Reviewed application deployment requirements and company work procedures
(Award 4 marks for thorough analysis of requirements and procedures)
4
Identified and described at least three deployment strategies (e.g., phased, big bang, parallel)
(Award 2 marks each for correctly identifying and explaining three strategies)
6
Assessed factors influencing choice of deployment strategy such as risk, cost, downtime, user training
(Award 5 marks for comprehensive assessment of influencing factors)
5
Selected the most appropriate deployment strategy with clear justification linked to work procedures
(Award 8 marks for appropriate selection and well-justified explanation)
8
Prepared a clear, structured report using the provided documentation template
(Award 7 marks for clarity, structure, and completeness of the report)
7
Sub-Total30
PRODUCT CHECKLIST
Deployment strategy report is complete, correctly formatted, and includes all required sections
(Award 10 marks for a professionally presented report meeting all criteria)
10
Sub-Total10
GRAND TOTAL40
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Evaluate and select deployment tools for desktop application

Software Development · Level 6
Desktop Application Development
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Evaluate InstallShield, NSIS, and Inno Setup deployment tools against given user requirements and recommend the most suitable tool for deploying a desktop application of size 50MB.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with Windows 10 OS and Visual Studio installedDeployment tools installer files (InstallShield, NSIS, Inno Setup)
Internet access for researchSoftware requirements documentation
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with Windows 10 OS and Visual Studio installed1 Pc per Candidate
2Internet access for research1 Pc per Candidate
3Deployment tools installer files (InstallShield, NSIS, Inno Setup)1 set per Candidate
4Software requirements documentation1 set per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Identification and Overview of Deployment Tools
Identified at least three popular deployment tools: InstallShield, NSIS, Inno Setup
(Award 1 mark for each correctly identified tool)
3
Provided a brief overview of each tool’s features and capabilities
(Award up to 4 marks for accurate and clear overviews)
4
Sub-Total7
TASK 2: Evaluation of Deployment Tools Based on User Requirements
Analyzed user requirements including application size (50MB), ease of use, licensing cost, and installer customization
(Award 3 marks for comprehensive analysis)
3
Compared tools against requirements highlighting pros and cons
(Award 4 marks for detailed and relevant comparison)
4
Selected the most suitable deployment tool with justification
(Award 3 marks for appropriate selection and clear justification)
3
Sub-Total10
PRODUCT CHECKLIST
Written report detailing identification, overview, evaluation, and justified selection of deployment tool
(Award 8 marks for completeness, clarity, and correctness)
8
Sub-Total8
GRAND TOTAL25
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Create Installation Package for Desktop Application Using InstallShieldPractical 3
🔒Create NSIS Installation Package for Desktop ApplicationPractical 4
🔒Prepare Desktop Application Deployment Package for Phased DeploymentPractical 5
🔒Prepare Desktop Application Deployment Package for Big Bang StrategyPractical 6
🔒Distribute desktop application via direct downloadPractical 7
🔒Distribute a Desktop Application through an App StorePractical 8
🔒Verify Application Dependencies in Desktop Application PackagePractical 9
🔒Document Deployment Strategy and Tools Selection for Desktop ApplicationPractical 10
🔒Test Installation Package of Desktop Application on Target SystemPractical 11
🔒Develop a Backup and Rollback Plan for Desktop Application Deployment 450mm x 300mm DocumentPractical 12
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 20 questions Start quiz ▾
0%
0 / 2
🔒

18 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • Identify the best desktop application deployment strategy by following proper work procedures.
  • Choose the right deployment tools that meet user requirements effectively.
  • Package a desktop application correctly according to its specific requirements.
  • Distribute the desktop application safely by following the correct work procedures.

Tick each one you can genuinely do.

So, are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.