0
0
Software Engineeringknowledge~30 mins

Technical debt management in Software Engineering - Mini Project: Build & Apply

Choose your learning style9 modes available
Technical Debt Management
📖 Scenario: You are part of a software development team working on a project that has accumulated some technical debt. Your team wants to organize and manage this technical debt effectively to improve the code quality and maintainability.
🎯 Goal: Build a simple structured list of technical debt items, categorize them by priority, and create a plan to address them step-by-step.
📋 What You'll Learn
Create a dictionary called technical_debt with exact entries for debt items and their descriptions
Add a variable called priority_levels listing the priority categories
Use a loop with variables item and description to create a new dictionary debt_by_priority grouping items by priority
Add a final step to include a summary string management_plan describing the approach
💡 Why This Matters
🌍 Real World
Managing technical debt is essential in software projects to keep the codebase healthy and maintainable over time.
💼 Career
Software engineers and project managers use technical debt management to prioritize work and improve software quality.
Progress0 / 4 steps
1
Create the technical debt dictionary
Create a dictionary called technical_debt with these exact entries: 'Legacy code': 'Old code that is hard to maintain', 'Lack of tests': 'Insufficient automated tests', 'Outdated dependencies': 'Libraries that need updating', 'Poor documentation': 'Missing or unclear documentation'.
Software Engineering
Need a hint?

Use curly braces {} to create a dictionary with the exact keys and values given.

2
Add priority levels list
Create a list called priority_levels with these exact strings in order: 'High', 'Medium', 'Low'.
Software Engineering
Need a hint?

Use square brackets [] to create a list with the exact strings in order.

3
Group technical debt by priority
Create an empty dictionary called debt_by_priority. Then use a for loop with variables item and description to iterate over technical_debt.items(). Inside the loop, assign priorities as follows: if item is 'Legacy code' or 'Lack of tests', set priority to 'High'; if item is 'Outdated dependencies', set priority to 'Medium'; otherwise, set priority to 'Low'. Add each item to the list in debt_by_priority under its priority key. Initialize the list if the key does not exist yet.
Software Engineering
Need a hint?

Use a dictionary to group items by priority. Check each item and assign priority accordingly. Use if priority not in debt_by_priority to initialize lists.

4
Add a management plan summary
Create a string variable called management_plan with this exact text: 'Focus first on high priority technical debt items, then address medium and low priority items to improve code quality over time.'
Software Engineering
Need a hint?

Assign the exact text to the variable management_plan using quotes.