• Class Number 2257
  • Term Code 3330
  • Class Info
  • Unit Value 6 units
  • Mode of Delivery In Person
    • Dr Melina Vidoni
    • Dr Melina Vidoni
  • Class Dates
  • Class Start Date 20/02/2023
  • Class End Date 26/05/2023
  • Census Date 31/03/2023
  • Last Date to Enrol 27/02/2023
SELT Survey Results

This course introduces students to advanced topics on managing the quality of products to be delivered as part of the progression within a software development project, and managing the development process itself through software process improvement frameworks and standards.

Several causal aspects of (bad) software quality will be introduced and discussed so that students can understand the context for undertaking risk and bad quality avoidance.

There will be a focus on practical techniques for identifying and removing defects as well as for implementing procedures to track the success or failure of resk and kefect resolutions.

There are several Software Process Imporvement (SPI) frameworks and standards available, each one possessing its own merits and difficulties.  Most are regarded as being more appropriate to large software development organisations where the assumed expenses of incorporated SPI initiatives typically provide significant return on investment.  This course will introduce the various well known frameworks and standards in the context of importance to organisations but then also discuss tailored versions of some SPI frameworks that are more suitable to small organisations or teams of software developers.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  1. Assess and apply techniques for verification and validation of various artefacts that are typically produced during the development of small to large software systems.
  2. Assess and apply software process and measurement techniques which have been found to enhance the capability and maturity of software development organisations.

Required Resources

The following books are available through the ANU Library;

  • “Technical Debt in Practice: How to Find It and Fix It” By Neil Ernst, Rick Kazman, Julien Delange. ISBN electronic: 9780262366304.
  • “Managing Technical Debt: Reducing Friction in Software Development” by Philippe Kruchten, Robert Nord, Ipek Ozkaya. ISBN: 9780135646052.
  • “Refactoring: Improving the Design of Existing Code” by Martin Fowler. ISBN: 9780134757681.

Whether you are on campus or studying remotely, there are a variety of online platforms you will use to participate in your study program. These could include videos for lectures and other instruction, two-way video conferencing for interactive learning, email and other messaging tools for communication, interactive web apps for formative and collaborative activities, print and/or photo/scan for handwritten work and drawings, and home-based assessment.

ANU outlines recommended student system requirements to ensure you are able to participate fully in your learning. Other information is also available about the various Learning Platforms you may use.

Staff Feedback

Students will be given feedback in the following forms in this course:

  • Written comments
  • Verbal comments
  • Feedback to the whole class, to groups, to individuals, focus groups

Student Feedback

ANU is committed to the demonstration of educational excellence and regularly seeks feedback from students. Students are encouraged to offer feedback directly to their Course Convener or through their College and Course representatives (if applicable). Feedback can also be provided to Course Conveners and teachers via the Student Experience of Learning & Teaching (SELT) feedback program. SELT surveys are confidential and also provide the Colleges and ANU Executive with opportunities to recognise excellent teaching, and opportunities for improvement.

Other Information

This course introduces students to advanced topics on managing the quality of products to be delivered as part of the progression within a software development project, and managing the development process itself through software process improvement frameworks and standards.

The students will be introduced to Technical Debt, to understand the context for undertaking risk, assessing quality from a comprehensive view, and learning how and when to prioritise quality or compromise software quality. There will be a special focus on Code, Architecture and Test Debt, where the students will learn key “smells” (namely, less-than-ideal practices) regarding those main three components. Essential refactoring skills will be taught in context of different projects.

The course relies on critical thinking, and is structured with debates, and practical tutorials that will allow students to analyse existing software-intensive systems, as well as to critically reflect on past work.

Generative AI Tools (including but not limited to ChatGPT or GitHub Copilot) CANNOT BE USED in any way on this course, for example (but not limited to) generating text, improving human-written text, procuring definitions, etc.

Class Schedule

Week/Session Summary of Activities Assessment
1 Introduction to Technical Debt and Smells
2 Software Context, TD Items , Principal and Interest
3 Code debt, Introduction to Refactoring, Code Smells Individual Essay (NOT HURDLE)
4 Architectural and Design Debt, Smells
5 Test Debt, Self Testing Code, CI/CD
6 Deciding to Fix TD, Compromising Quality
7 Smell-Fixing Refactoring (Part 1) Hurdle Individual Assignments #1
8 Smell-Fixing Refactoring (Part 2)
9 TD Causes and Dealing with Unintentional Debt
10 TD in Machine Learning/Non-Conventional Software
11 Self Admitted TD, Potential TD, On-hold TD
12 Invited Lecture: Dealing with TD in Large Organisations Hurdle Individual Assignments #2

Tutorial Registration

ANU utilises MyTimetable to enable students to view the timetable for their enrolled courses, browse, then self-allocate to small teaching activities / tutorials so they can better plan their time. Find out more on the Timetable webpage.

Assessment Summary

Assessment task Value Return of assessment Learning Outcomes
Weekly MCQs on Labs - 10% 10 % * 1
Individual Essay (NOT HURDLE) - 15% 15 % 06/03/2023 1
Hurdle Individual Assignment #1 - 35% 35 % 31/03/2022 1,2
Hurdle Individual Assignment #2 - 40% 40 % 22/05/2022 1,2

* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details


ANU has educational policies, procedures and guidelines , which are designed to ensure that staff and students are aware of the University’s academic standards, and implement them. Students are expected to have read the Academic Integrity Rule before the commencement of their course. Other key policies and guidelines include:

Assessment Requirements

The ANU is using Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. For additional information regarding Turnitin please visit the Academic Skills website. In rare cases where online submission using Turnitin software is not technically possible; or where not using Turnitin software has been justified by the Course Convener and approved by the Associate Dean (Education) on the basis of the teaching model being employed; students shall submit assessment online via ‘Wattle’ outside of Turnitin, or failing that in hard copy, or through a combination of submission methods as approved by the Associate Dean (Education). The submission method is detailed below.

Moderation of Assessment

Marks that are allocated during Semester are to be considered provisional until formalised by the College examiners meeting at the end of each Semester. If appropriate, some moderation of marks might be applied prior to final results being released.


Students are expected to participate in all teaching activities in this course, in particular students are attended to attend all tutorial sessions, and actively participate in the “debates”/flipped classroom lectures (the 1-hour lectures). Important help and feedback is provided during tutorials, and the debates will foster the development of critical thinking skills; both are required to complete assessment tasks to a high standard.


This course does NOT include a final examination.

All assignments are strictly individual tasks. No collaboration of any sort is permitted.

The hurdles and assignments are indicated in this page.

Assessment Task 1

Value: 10 %
Learning Outcomes: 1

Weekly MCQs on Labs - 10%

Due every week during the tutorial

Hurdle: Complete at least 7 labs.

A short quiz with MCQs (the questions will be from the tutor). The quiz will be on-line using Socrative web-based tool. You will complete the MCQs individually. Attendance in the labs are compulsory (no attendance means ZERO for the lab missed).


Assessment Task 2

Value: 15 %
Return of Assessment: 06/03/2023
Learning Outcomes: 1

Individual Essay (NOT HURDLE) - 15%

A reflective essay (about 2000 words) to discuss detection, context, and documentation of TD. The analysis will be done on an existing project. The students will be assigned an existing project to analyse, and cannot pick one. This assignment focus on the core ideas of TD, and it is important the students complete it. It will be marked by your tutor and feedback will be provided. This assignment is not part of the hurdle.

Assessment Task 3

Value: 35 %
Return of Assessment: 31/03/2022
Learning Outcomes: 1,2

Hurdle Individual Assignment #1 - 35%

The students will continue to work on the project assigned for the essay. In this case, they will perform code analysis, detect TD issues regarding code, architecture and testing, and provide a written report of the results (about 2500 words). The students will be provided time during the tutorials to work on this. The assignment will be marked by your tutor and feedback will be provided.

Hurdle: obtain at least 50% of the assignment marks.

Assessment Task 4

Value: 40 %
Return of Assessment: 22/05/2022
Learning Outcomes: 1,2

Hurdle Individual Assignment #2 - 40%

The students will be assigned into an existing, real-world open-source software project. They will perform code analysis, list problems based on what is disclosed in the project’s issues and pull request, and craft an hypothetical roadmap to repay the project’s TD. This will include crafting a project plan and writing a report on the detected issues (about 3000 words). The students will be provided time during the tutorials to work on this. The assignment will be marked by your tutor and feedback will be provided.

Hurdle: obtain at least 50% of the assignment marks.

Academic Integrity

Academic integrity is a core part of the ANU culture as a community of scholars. The University’s students are an integral part of that community. The academic integrity principle commits all students to engage in academic work in ways that are consistent with, and actively support, academic integrity, and to uphold this commitment by behaving honestly, responsibly and ethically, and with respect and fairness, in scholarly practice.

The University expects all staff and students to be familiar with the academic integrity principle, the Academic Integrity Rule 2021, the Policy: Student Academic Integrity and Procedure: Student Academic Integrity, and to uphold high standards of academic integrity to ensure the quality and value of our qualifications.

The Academic Integrity Rule 2021 is a legal document that the University uses to promote academic integrity, and manage breaches of the academic integrity principle. The Policy and Procedure support the Rule by outlining overarching principles, responsibilities and processes. The Academic Integrity Rule 2021 commences on 1 December 2021 and applies to courses commencing on or after that date, as well as to research conduct occurring on or after that date. Prior to this, the Academic Misconduct Rule 2015 applies.


The University commits to assisting all students to understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. All coursework students must complete the online Academic Integrity Module (Epigeum), and Higher Degree Research (HDR) students are required to complete research integrity training. The Academic Integrity website provides information about services available to assist students with their assignments, examinations and other learning activities, as well as understanding and upholding academic integrity.

Online Submission

You will be required to electronically sign a declaration as part of the submission of your assignment. Please keep a copy of the assignment for your records. Unless an exemption has been approved by the Associate Dean (Education) submission must be through Turnitin.

Email submissions will not be accepted.

Hardcopy Submission

Hardcopy submissions will not be accepted.

Late Submission

Late submission not permitted. If submission of assessment tasks without an extension after the due date is not permitted, a mark of 0 will be awarded.

Referencing Requirements

The Academic Skills website has information to assist you with your writing and assessments. The website includes information about Academic Integrity including referencing requirements for different disciplines. There is also information on Plagiarism and different ways to use source material.

Extensions and Penalties

Extensions and late submission of assessment pieces are covered by the Student Assessment (Coursework) Policy and Procedure. Extensions may be granted for assessment pieces that are not examinations or take-home examinations. If you need an extension, you must request an extension in writing on or before the due date. If you have documented and appropriate medical evidence that demonstrates you were not able to request an extension on or before the due date, you may be able to request it after the due date.

Privacy Notice

The ANU has made a number of third party, online, databases available for students to use. Use of each online database is conditional on student end users first agreeing to the database licensor’s terms of service and/or privacy policy. Students should read these carefully. In some cases student end users will be required to register an account with the database licensor and submit personal information, including their: first name; last name; ANU email address; and other information.
In cases where student end users are asked to submit ‘content’ to a database, such as an assignment or short answers, the database licensor may only use the student’s ‘content’ in accordance with the terms of service – including any (copyright) licence the student grants to the database licensor. Any personal information or content a student submits may be stored by the licensor, potentially offshore, and will be used to process the database service in accordance with the licensors terms of service and/or privacy policy.
If any student chooses not to agree to the database licensor’s terms of service or privacy policy, the student will not be able to access and use the database. In these circumstances students should contact their lecturer to enquire about alternative arrangements that are available.

Distribution of grades policy

Academic Quality Assurance Committee monitors the performance of students, including attrition, further study and employment rates and grade distribution, and College reports on quality assurance processes for assessment activities, including alignment with national and international disciplinary and interdisciplinary standards, as well as qualification type learning outcomes.

Since first semester 1994, ANU uses a grading scale for all courses. This grading scale is used by all academic areas of the University.

Support for students

The University offers students support through several different services. You may contact the services listed below directly or seek advice from your Course Convener, Student Administrators, or your College and Course representatives (if applicable).

Dr Melina Vidoni

Research Interests

Technical Debt, Mining Software Repositories, Human-Centred Software Engineering, Scientific Software

Dr Melina Vidoni

Dr Melina Vidoni

Research Interests

Dr Melina Vidoni

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions