← VCE Software Development U4O2

In-house development: disadvantages

Building software with your own staff can cost more, take longer to start, and depend on the skills, capacity and availability of staff, who may leave.

Understanding In-house development: disadvantages in VCE Software Development U4O2

What it does: The condition shows the project being held back when the in-house team does not have the skills or capacity needed. The start date is pushed back by the time spent recruiting and setting up, which is why in-house projects can start slowly. Salaries and training are ongoing costs of employing staff. The cost does not mean the code is automatically less secure. Not having the right expertise in-house is a disadvantage. Having control over code storage is an advantage of in-house development. Staff already working on other tasks means the organisation may not have the capacity to take on more work. Compromised updates is a supply chain issue.

Common mistakes: The first-year cost of a hire includes training as well as salary and equipment. Training should be added: total ← salary+training+kit. The team is overloaded when the tasks are greater than its capacity, so the test should be tasks > capacity.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 1–22) and word search (Modules 1–47).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A company builds its payment app with its own developers. Paying their salaries, super and ongoing training is an in-house disadvantage because...
It means the software will always be less secure than external softwareIt is a direct, ongoing cost the organisation carries even between projects
Matches
cost = 0 // staff are already here
↓
In-house development is not free. Staff wages, training and equipment are real costs that can make it more expensive than external development.
Applying
Meanings
Term
In-house development disadvantages
Meaning
Building software with your own staff can cost more, take longer to start, and depend on the skills, capacity and availability of staff, who may leave.
Practice
In-house development disadvantages:
Testing
Gaps
totalCost ← salary training
Check Answer
Spots
3kit ← 3000
4total ← salary+kit

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Stag' badge — Forest Legend, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A company builds its payment app with its own developers. Paying their salaries, super and ongoing training is an in-house disadvantage because...
A. It means the software will always be less secure than external software
B. It is a direct, ongoing cost the organisation carries even between projects ✓
Salaries and training are ongoing costs of employing staff. The cost does not mean the code is automatically less secure.
2. Which situation shows a LIMITED SKILLS disadvantage of in-house development?
A. No one on the team knows how to build secure API authentication ✓
B. The team has full control over where the code is stored
Not having the right expertise in-house is a disadvantage. Having control over code storage is an advantage of in-house development.
3. A small in-house team is already busy maintaining existing systems when a new project is requested. This is a problem of...
A. Compromised software updates
B. Limited capacity ✓
Staff already working on other tasks means the organisation may not have the capacity to take on more work. Compromised updates is a supply chain issue.
4. Why can an in-house project be slower to start than an external one?
A. The organisation may need to hire, recruit or train staff before work begins ✓
B. In-house staff are not allowed to access the organisation's data
Recruiting and training takes time. In-house staff usually do have access to the data they need.
5. Your lead developer, the only person who understands the login module, resigns. Which risk is this?
A. Staff turnover risk, because knowledge leaves with the person ✓
B. Typosquatting risk, because the package name was copied
When key staff leave, their knowledge and skills go too. This slows the project and may leave the code hard to maintain.

Match the Pairs

cost = salaries + training → In-house developers must be paid and trained, so the organisation carries these ongoing costs.
if (developer_leaves) { project_stalls } → Staff turnover is a risk: when a developer leaves, their knowledge goes with them and the project can be delayed.
Limited skills or capacity: the in-house team may lack a needed skill, such as security, or may not have spare time. → if (team_skills < required_skills) { delay_project() }
Slower start-up: hiring and setting up a team must happen before development can begin. → start_date = hiring_time + setup_time
cost = 0 // staff are already here → In-house development is not free. Staff wages, training and equipment are real costs that can make it more expensive than external development.
if (developer_leaves) { no_impact } → Staff turnover does have an impact. A departing developer takes knowledge with them and the project may be delayed while a replacement is found and trained.

Key Term

In-house development disadvantages
Building software with your own staff can cost more, take longer to start, and depend on the skills, capacity and availability of staff, who may leave.

Fill in the Blanks

1. salary ← 90000 training ← 5000 totalCost ← salary + training
Hint: Type the arithmetic operator that adds the two staff costs together.
2. IF staffAvailable < staffNeeded THEN projectDelayed ← TRUE END IF
Hint: Type the comparison operator meaning fewer staff are available than needed.
3. hiringWeeks ← 6 trainingWeeks ← 4 startUpWeeks ← hiringWeeks + trainingWeeks
Hint: Type the variable that holds the time spent training new staff.
4. IF staffLeft = TRUE THEN projectRisk ← "High" END IF
Hint: Type the keyword that starts a conditional check on whether a developer has left.
5. requiredSkills ← 5 teamSkills ← 3 skillGap ← requiredSkills - teamSkills
Hint: Type the arithmetic operator that finds the difference between skills needed and skills the team has.

Spot the Error

Question 1
A salary ← 90000
B training ← 5000
C kit ← 3000
D total ← salary+kit
E OUTPUT total
Line D — The first-year cost of a hire includes training as well as salary and equipment. Training should be added: total ← salary+training+kit.
Question 2
A tasks ← 40
B capacity ← 25
C IF tasks < capacity THEN
D OUTPUT 'Need more staff'
E END IF
Line C — The team is overloaded when the tasks are greater than its capacity, so the test should be tasks > capacity.
Question 3
A // In-house: instant start-up
B hiring ← 8
C build ← 20
D total ← hiring + build
Line A — In-house projects usually start slowly because staff must be hired, trained or freed up first. The comment should say slower start-up.
Question 4
A IF staffLeaves = FALSE THEN
B knowledge ← 'lost'
C projectDelay ← TRUE
D END IF
Line A — Staff turnover is the risk, so the delay and lost knowledge happen when staffLeaves is TRUE, not FALSE.
Question 5
A needed ← 'security testing'
B teamSkills ← 'Python'
C IF needed = teamSkills THEN
D OUTPUT 'Skills gap'
E END IF
Line C — A skills gap exists when the needed skill is NOT in the team's skills. The test should use ≠ so the gap is reported.

Student with a class code? Join your class →