Software Architect / Tech Lead · Focus area 2: Technical strategy

AR7: Choosing technology and managing technical debt

Goal: choose technologies against clear criteria, compare building, buying and open source by their total cost, recognise and record technical debt with its "interest", decide which debt to pay down first, and guide a team's technology choices without blocking them.

You'll need: AR1, AR3, Module 67 (Hosting Technologies), Module 98 (Project Management), Module 99 (Technology Governance), and the RasoiRoute practice kit (the capstone's design notes).

Where this is used: a start-up choosing its first database, a bank deciding whether to buy a messaging platform, an engineering manager explaining to finance why a quarter goes on "fixing old code". These choices last for years and cost real money.

How it differs: AR2 to AR6 shaped the system. This module is about the long game: which tools the system is built from, and how to keep its shortcuts from slowly taking over the team's time.

Time: reading about 2½ hours · practice (the Try it tasks) about 2 hours · assignment about 3 hours.

Lessons

  1. 1Choosing a technologyReading 15–25 minutes, plus practice✓
  2. 2Build, buy or open sourceReading 15–25 minutes, plus practice✓
  3. 3Technical debtReading 15–25 minutes, plus practice✓
  4. 4A debt register and prioritiesReading 15–25 minutes, plus practice✓
  5. 5Guiding technology choicesReading 15–25 minutes, plus practice✓

🛠️Assignment: RasoiRoute's debt register and one stack choice

  1. Write a debt register for the RasoiRoute starter with at least five items: what, where, interest (with evidence from data/ or npm run lint), cost to fix, risk and owning team.
  2. Order it, and choose two items to pay down next quarter, with reasons.
  3. Write a short ADR choosing where the notify service keeps its messages, with at least two options, criteria including operations and cost, and a revisit condition.
  4. Draw RasoiRoute's technology radar with at least two entries per ring.

Self-check before you finish:

✅Module check

Explain in a few sentences, in your own words:

How would you keep a system's technology choices sensible and its technical debt under control over several years?

Show a good answer

A good answer mentions: criteria for technology choices including skills, operations, cost and lock-in; boring technology and innovation tokens; spikes before commitment and an ADR; build what sets you apart and buy or adopt the rest, compared by total cost of ownership over years; technical debt and its interest, deliberate and prudent against reckless; a debt register ranked by interest and reach against cost, paid down with features, a share of time or a project, and measured; and a technology radar and paved roads that guide choices without blocking teams.

📚Official references

Official documentation and guidance for this module's topics, chosen on 2 November 2026. Tools, laws and standards change, so check the current version before you rely on a detail. If a link has moved, search the same site.

📝Module quiz

10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·

1. A developer proposes a new graph database for RasoiRoute's order history, because it's interesting. What should weigh most?

Why each option is right or wrong

  • “Whether the database is popular on social media this year” (Incorrect): Popularity isn't a criterion for this system.
  • “Whether the developer who suggested it enjoys using it” (Incorrect): One person's enjoyment doesn't cover the team's costs.
  • “Whether it is newer than the database the team already runs” (Incorrect): Newness is a cost as often as a benefit.
  • “Whether its gain is worth the team learning and running a new tool” is correct.

    New tools cost everyone's learning and years of operations.

    • Default: the database already run well.

📖 Revise: Lesson 1: Choosing a technology

Question ID sp-architect-07-q1 · Report a mistake in this question
2. A team must choose between two message brokers. They have read many blog posts. What's the best next step?

Why each option is right or wrong

  • “Choose the one with more stars on its code repository” (Incorrect): Stars don't test fit for this problem.
  • “Read more posts until one option clearly wins” (Incorrect): Reading rarely settles the hardest questions.
  • “Use both in production and keep whichever lasts longer” (Incorrect): Running both doubles the cost and risk.
  • “Run a time-boxed spike on the hardest part with both” is correct.

    A short experiment answers what reading can't.

    • Then: an ADR with the results.

📖 Revise: Lesson 1: Choosing a technology

Question ID sp-architect-07-q2 · Report a mistake in this question
3. A clinic chain built its own SMS reminders to save a ₹30,000-a-year subscription, spending three months building and a month a year

Why each option is right or wrong

  • “That SMS reminders are a feature no clinic really needs” (Incorrect): Reminders were useful; the build was the problem.
  • “That open source would have been free of any costs at all” (Incorrect): Open source still costs time to run.
  • “That the subscription would have been cheaper in a few years” (Incorrect): The cost of time was already higher in the first year.
  • “The cost of people's time, which outweighed the fee” is correct.

    Total cost of ownership includes building and maintaining.

    • Buy: commodity services like SMS.

📖 Revise: Lesson 2: Build, buy or open source

Question ID sp-architect-07-q3 · Report a mistake in this question
4. Which should RasoiRoute most likely build itself rather than buy?

Why each option is right or wrong

  • “Its own connection to mobile networks for sending SMS” (Incorrect): That's a commodity with real providers.
  • “Its own payment gateway to take card payments” (Incorrect): Payments are regulated and widely available to buy.
  • “Its own email server for invoices and receipts” (Incorrect): Email delivery is the same for everyone.
  • “How it routes orders to its kitchens, which sets it apart” is correct.

    Build what makes you different; buy what's the same for everyone.

    • Keep: vendors behind boundaries.

📖 Revise: Lesson 2: Build, buy or open source

Question ID sp-architect-07-q4 · Report a mistake in this question
5. A fintech team hard-coded one bank's rules to launch, wrote it down, and paid it back when adding a second bank. Which kind of debt

Why each option is right or wrong

  • “Reckless and inadvertent: a mistake the team didn't notice” (Incorrect): They chose it on purpose and recorded it.
  • “Not debt at all, as the code worked when it launched” (Incorrect): Working code can still cost interest later.
  • “Bad debt that should have been refused before the launch” (Incorrect): Taken knowingly and repaid, it helped them launch.
  • “Deliberate and prudent: chosen knowingly, recorded and repaid” is correct.

    A conscious shortcut with a plan is often sensible.

    • Quadrant: Martin Fowler's.

📖 Revise: Lesson 3: Technical debt

Question ID sp-architect-07-q5 · Report a mistake in this question
6. Which RasoiRoute item is charging the most interest today?

Why each option is right or wrong

  • “An old comment with a spelling mistake in the catalogue module” (Incorrect): It costs almost nothing.
  • “A rarely used helper that is written in an older style” (Incorrect): Code that rarely changes costs little interest.
  • “The menu file being in JSON rather than in a spreadsheet” (Incorrect): The format isn't causing cost.
  • “Orders waiting for SMS, where 42.3% of incidents start” is correct.

    It costs incidents again and again.

    • Fix: Project 2.

📖 Revise: Lesson 3: Technical debt

Question ID sp-architect-07-q6 · Report a mistake in this question
7. A team spent a quarter rewriting an ugly but rarely changed reports module, while checkout caused two incidents a month. What went

Why each option is right or wrong

  • “They should have rewritten both modules in the same quarter” (Incorrect): That doubles the work and still mis-orders it.
  • “Reports modules should be rewritten every year as a rule” (Incorrect): There's no such rule; interest decides.
  • “Checkout incidents are normal and don't need attention” (Incorrect): Two a month is high interest.
  • “They chose by ugliness, not interest; checkout was due first” is correct.

    Debt in hot spots costs most; fix that first.

    • Measure: incidents before and after.

📖 Revise: Lesson 4: A debt register and priorities

Question ID sp-architect-07-q7 · Report a mistake in this question
8. What's often the cheapest way to pay down a debt item in the orders module?

Why each option is right or wrong

  • “Wait until it causes a major incident, then fix it in a rush” (Incorrect): Fixes under pressure cost most.
  • “Rewrite the whole monolith so that the item disappears” (Incorrect): Far larger than the item.
  • “Ask a new joiner to fix it in their first week alone” (Incorrect): They don't yet know the code or its risks.
  • “Fix it while working on a feature in the orders module” is correct.

    The code is already open and understood.

    • Also: a share of each sprint.

📖 Revise: Lesson 4: A debt register and priorities

Question ID sp-architect-07-q8 · Report a mistake in this question
9. A company makes every new library wait six weeks for committee approval, and teams start copying code from the internet instead.

Why each option is right or wrong

  • “A longer approval process with more people on the committee” (Incorrect): Slower approval pushes more work around it.
  • “Banning all libraries so nothing needs approval” (Incorrect): Teams would copy even more code.
  • “Removing every rule about which libraries can be used” (Incorrect): That loses the protection governance gives.
  • “Paved-road defaults, with a short ADR for exceptions” is correct.

    Most choices need no review, and exceptions are quick and visible.

    • Tool: a technology radar.

📖 Revise: Lesson 5: Guiding technology choices

Question ID sp-architect-07-q9 · Report a mistake in this question
10. On RasoiRoute's technology radar, where should "new modules written without tests" go?

Why each option is right or wrong

  • “Adopt, as writing tests slows teams down at the start” (Incorrect): Untested modules cost more later.
  • “Trial, so one team can try it and report back” (Incorrect): The cost is already known.
  • “Assess, as nobody yet knows whether tests help” (Incorrect): The evidence is clear enough.
  • “Hold, so no new work starts that way” is correct.

    Hold means don't start new work with it.

    • Reason: R10 in the standards.

📖 Revise: Lesson 5: Guiding technology choices

Question ID sp-architect-07-q10 · Report a mistake in this question

ProLearners Assist