In-house development: disadvantages

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

In-house development: disadvantages

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

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
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
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
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
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

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1cost = salaries + training Aif (team_skills < required_skills) { delay_project() }
2if (developer_leaves) { project_stalls } BStaff 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.
3Limited skills or capacity: the in-house team may lack a needed skill, such as security, or may not have spare time. CStaff turnover is a risk: when a developer leaves, their knowledge goes with them and the project can be delayed.
4Slower start-up: hiring and setting up a team must happen before development can begin. DIn-house developers must be paid and trained, so the organisation carries these ongoing costs.
5cost = 0 // staff are already here Estart_date = hiring_time + setup_time
6if (developer_leaves) { no_impact } FIn-house development is not free. Staff wages, training and equipment are real costs that can make it more expensive than external development.

Definitions

In-house development disadvantages

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
salary ← 90000 training ← 5000 totalCost ← salary _ training
2.
IF staffAvailable _ staffNeeded THEN projectDelayed ← TRUE END IF
3.
hiringWeeks ← 6 trainingWeeks ← 4 startUpWeeks ← hiringWeeks + _____________
4.
__ staffLeft = TRUE THEN projectRisk ← "High" END IF
5.
requiredSkills ← 5 teamSkills ← 3 skillGap ← requiredSkills _ teamSkills

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A salary ← 90000
B training ← 5000
C kit ← 3000
D total ← salary+kit
E OUTPUT total
Question 2
A tasks ← 40
B capacity ← 25
C IF tasks < capacity THEN
D OUTPUT 'Need more staff'
E END IF
Question 3
A // In-house: instant start-up
B hiring ← 8
C build ← 20
D total ← hiring + build
Question 4
A IF staffLeaves = FALSE THEN
B knowledge ← 'lost'
C projectDelay ← TRUE
D END IF
Question 5
A needed ← 'security testing'
B teamSkills ← 'Python'
C IF needed = teamSkills THEN
D OUTPUT 'Skills gap'
E END IF

Answer Key

In-house development: disadvantages
Section A: Quick Questions
Q1
B — It is a direct, ongoing cost the organisation carries even between projects
Q2
A — No one on the team knows how to build secure API authentication
Q3
B — Limited capacity
Q4
A — The organisation may need to hire, recruit or train staff before work begins
Q5
A — Staff turnover risk, because knowledge leaves with the person
Section B: Match the Pairs
Q1
cost = salaries + training → In-house developers must be paid and trained, so the organisation carries these ongoing costs.
Q2
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.
Q3
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() }
Q4
Slower start-up: hiring and setting up a team must happen before development can begin. → start_date = hiring_time + setup_time
Q5
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.
Q6
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.
Section C: Definitions
Q1
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.
Section D: Fill in the Blanks
Q1
salary ← 90000 training ← 5000 totalCost ← salary + training
Q2
IF staffAvailable < staffNeeded THEN projectDelayed ← TRUE END IF
Q3
hiringWeeks ← 6 trainingWeeks ← 4 startUpWeeks ← hiringWeeks + trainingWeeks
Q4
IF staffLeft = TRUE THEN projectRisk ← "High" END IF
Q5
requiredSkills ← 5 teamSkills ← 3 skillGap ← requiredSkills - teamSkills
Section E: Spot the Error
Q1
D — The first-year cost of a hire includes training as well as salary and equipment. Training should be added: total ← salary+training+kit.
Q2
C — The team is overloaded when the tasks are greater than its capacity, so the test should be tasks > capacity.
Q3
A — In-house projects usually start slowly because staff must be hired, trained or freed up first. The comment should say slower start-up.
Q4
A — Staff turnover is the risk, so the delay and lost knowledge happen when staffLeaves is TRUE, not FALSE.
Q5
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.