Skip to main content
Unit outline_

COMP9412: Agile Software Development Practices

Semester 2, 2022 [Normal day] - Camperdown/Darlington, Sydney

This unit builds students skills to follow defined processes in software development, in particular, working in small teams in an agile approach. Content covers the underlying concepts and principles of software processes, their analysis, measurement and improvement. Students will practice with a variety of professional-strength tool support for the practices that ensure quality outcomes. The unit requires students to enter already skilled in individual programming; instead this unit focuses on the complexities in a team setting.

Unit details and rules

Academic unit Computer Science
Credit points 6
Prerequisites
? 
None
Corequisites
? 
None
Prohibitions
? 
SOFT2412
Assumed knowledge
? 

COMP9103 or COMP9003 (or equivalent UoS at a different institution)

Available to study abroad and exchange students

Yes

Teaching staff

Coordinator Basem Suleiman, basem.suleiman@sydney.edu.au
Type Description Weight Due Length
Final exam (Open book) Type C final exam hurdle task Exam
Final exam.
50% Formal exam period 2 hours
Outcomes assessed: LO1 LO2 LO3 LO4 LO5 LO6 LO7 LO8 LO9 LO10 LO11
Small continuous assessment Lab exercises
weekly labs: technical exercises and activities
5% Week -02 during lab time
Outcomes assessed: LO7 LO10 LO11 LO2 LO3 LO4 LO5 LO6 LO8
Assignment group assignment Tools for agile development
Software development using agile tools (group)
15% Week 07 multiple weeks
Outcomes assessed: LO2 LO3 LO4 LO5 LO7 LO9 LO10 LO11
Assignment Scrum software development
Software development using Scrum and agile tools
25% Week 10 multiple weeks (W10-W12)
Outcomes assessed: LO1 LO2 LO3 LO4 LO5 LO6 LO7 LO9 LO10 LO11
Small continuous assessment Scrum software development
Quiz: A2 project, Agile tools and Scrum SW development
5% Week 12 In-tutorial quiz.
Outcomes assessed: LO1 LO2 LO3 LO4 LO5 LO6 LO7
hurdle task = hurdle task ?
group assignment = group assignment ?
Type C final exam = Type C final exam ?

Assessment summary

  • Group project (Tools for agile development): group of students will collaboratively work to apply software development tools and use recommended development practices in agile project environment. The project involves using technical agile tools and practices that aid in software development and reporting the outcomes of project and its rationale. 
  • Group Project (Scrum software development): group of students will collaboratively work on a small software development project in agile environment using Scrum approach. The project involves applying Scrum in agile development environment and agile development tools, reporting the outcomes and its rationale. 
  • Weekly lab exercises: individual and group in-tutorial technical exercises weeks 2-8. 
  • Quiz: individual in-tutorial oral quiz assessing student’s contribution to Scrum software dvelopment project and topics covered in weeks 2-10. 
  • Exam: online exam during exam period. 

*** In order to pass the unit, you must obtain at least 40% on exam, and at least 50% overall!

Detailed information for each assessment will be communicated and udpated during the semester.

Assessment criteria

The University awards common result grades, set out in the Coursework Policy 2014 (Schedule 1).

As a general guide, a high distinction indicates work of an exceptional standard, a distinction a very high standard, a credit a good standard, and a pass an acceptable standard.

Result name

Mark range

Description

High distinction

85 - 100

 

Distinction

75 - 84

 

Credit

65 - 74

 

Pass

50 - 64

 

Fail

0 - 49

When you don’t meet the learning outcomes of the unit to a satisfactory standard.

*** In order to pass the unit, you must obtain at least 40% on exam, and at least 50% overall!

For more information see guide to grades.

Late submission

In accordance with University policy, these penalties apply when written work is submitted after 11:59pm on the due date:

  • Deduction of 5% of the maximum mark for each calendar day after the due date.
  • After ten calendar days late, a mark of zero will be awarded.

This unit has an exception to the standard University policy or supplementary information has been provided by the unit coordinator. This information is displayed below:

As per the faculty/school policies

Academic integrity

The Current Student website provides information on academic integrity and the resources available to all students. The University expects students and staff to act ethically and honestly and will treat all allegations of academic integrity breaches seriously.

We use similarity detection software to detect potential instances of plagiarism or other forms of academic integrity breach. If such matches indicate evidence of plagiarism or other forms of academic integrity breaches, your teacher is required to report your work for further investigation.

Use of generative artificial intelligence (AI) and automated writing tools

You may only use generative AI and automated writing tools in assessment tasks if you are permitted to by your unit coordinator. If you do use these tools, you must acknowledge this in your work, either in a footnote or an acknowledgement section. The assessment instructions or unit outline will give guidance of the types of tools that are permitted and how the tools should be used.

Your final submitted work must be your own, original work. You must acknowledge any use of generative AI tools that have been used in the assessment, and any material that forms part of your submission must be appropriately referenced. For guidance on how to acknowledge the use of AI, please refer to the AI in Education Canvas site.

The unapproved use of these tools or unacknowledged use will be considered a breach of the Academic Integrity Policy and penalties may apply.

Studiosity is permitted unless otherwise indicated by the unit coordinator. The use of this service must be acknowledged in your submission as detailed on the Learning Hub’s Canvas page.

Outside assessment tasks, generative AI tools may be used to support your learning. The AI in Education Canvas site contains a number of productive ways that students are using AI to improve their learning.

Simple extensions

If you encounter a problem submitting your work on time, you may be able to apply for an extension of five calendar days through a simple extension.  The application process will be different depending on the type of assessment and extensions cannot be granted for some assessment types like exams.

Special consideration

If exceptional circumstances mean you can’t complete an assessment, you need consideration for a longer period of time, or if you have essential commitments which impact your performance in an assessment, you may be eligible for special consideration or special arrangements.

Special consideration applications will not be affected by a simple extension application.

Using AI responsibly

Co-created with students, AI in Education includes lots of helpful examples of how students use generative AI tools to support their learning. It explains how generative AI works, the different tools available and how to use them responsibly and productively.

WK Topic Learning activity Learning outcomes
Week 01 Course introduction, Introduction to software development processes; Lab: No Labs Lecture and tutorial (2 hr) LO8 LO9
Week 02 Version control, introduction to Git; Lab: Git basics Lecture and tutorial (4 hr) LO10
Week 03 Version control: Git team and collaborative development; Lab: Github Lecture and tutorial (4 hr) LO10
Week 04 Build automation: software build and configuration; Lab: Build automation with Gradle Lecture and tutorial (3 hr) LO8 LO10
Week 05 Software quality assurance: software testing Lecture and tutorial (4 hr) LO4 LO11
Week 06 Continuous integration (CI); Continuous delivery/deployment (CD); CI/CD with Jenkins Lecture and tutorial (4 hr) LO1 LO4 LO10 LO11
Week 07 Group dynamics, tools and technologies for teamwork, issue tracking, Scrum method and agile team structure; Lab: team building and issue tracking, A1 project demos. Lecture and tutorial (4 hr) LO3 LO6 LO8 LO9 LO10
Week 08 Scrum method: expressing requirements; Lab: user stories, A2 project work (requirements) Lecture and tutorial (4 hr) LO3 LO7 LO9
Week 09 Scrum method: planning and estimation; Lab: agile planing, estimation and tracking, A2 project work (planning and estimation) Lecture and tutorial (4 hr) LO3 LO5 LO9
Week 10 Ethics, intellectual property, licensing and open source software; Lab: ethical responsibility and licensing use cases; A2 Sprint 1 Demo. (group) Lecture and tutorial (4 hr) LO2
Week 11 Reflection: project experiences and lessons learned (online survey), project reflection (Sprint 2) Lab: A2 Sprint 3 Demo. (group) Lecture and tutorial (4 hr) LO1 LO3 LO5 LO6 LO7 LO9 LO10
Week 12 Industry speakers Lecture and tutorial (4 hr) LO1 LO3 LO4 LO5 LO8 LO9 LO10
Week 13 Review, Exam Structure Lecture and tutorial (4 hr) LO1 LO2 LO3 LO4 LO5 LO6 LO7 LO8 LO9 LO10 LO11

Study commitment

Typically, there is a minimum expectation of 1.5-2 hours of student effort per week per credit point for units of study offered over a full semester. For a 6 credit point unit, this equates to roughly 120-150 hours of student effort in total.

Learning outcomes are what students know, understand and are able to do on completion of a unit of study. They are aligned with the University's graduate qualities and are assessed as part of the curriculum.

At the completion of this unit, you should be able to:

  • LO1. demonstrate proficiency in agile and Scrum method in software development
  • LO2. use tools for collaborative processes (version control, issue tracking, collaborative editing of documents, project planning and progress tracking)
  • LO3. identify issues and challenges in estimating project effort, examine the characteristics of software projects that make them a challenge to partition and examine roles and responsibilities in a software team, and management issues of teams
  • LO4. understand good coding practices, including documentation, contracts, regression tests and daily builds
  • LO5. understand various quality assurance techniques, including unit testing, functional testing, and automated analysis tools
  • LO6. demonstrate a basic understanding of legal aspects of software
  • LO7. elicit requirements from a client and specify them
  • LO8. describe the phases of software development and life-cycle of software and compare alternative software process standards and presses (e.g. waterfall, incremental, spiral, prototyping, empirical and agile methods).
  • LO9. compare software process standards and presses (e.g. waterfall, incremental, spiral, prototyping, empirical and agile methods)
  • LO10. use tools for collaborative processes (version control, issue tracking, collaborative editing of documents, project planning and progress tracking)
  • LO11. use quality assurance techniques including unit testing, functional testing and automated analysis tools.

Graduate qualities

The graduate qualities are the qualities and skills that all University of Sydney graduates must demonstrate on successful completion of an award course. As a future Sydney graduate, the set of qualities have been designed to equip you for the contemporary world.

GQ1 Depth of disciplinary expertise

Deep disciplinary expertise is the ability to integrate and rigorously apply knowledge, understanding and skills of a recognised discipline defined by scholarly activity, as well as familiarity with evolving practice of the discipline.

GQ2 Critical thinking and problem solving

Critical thinking and problem solving are the questioning of ideas, evidence and assumptions in order to propose and evaluate hypotheses or alternative arguments before formulating a conclusion or a solution to an identified problem.

GQ3 Oral and written communication

Effective communication, in both oral and written form, is the clear exchange of meaning in a manner that is appropriate to audience and context.

GQ4 Information and digital literacy

Information and digital literacy is the ability to locate, interpret, evaluate, manage, adapt, integrate, create and convey information using appropriate resources, tools and strategies.

GQ5 Inventiveness

Generating novel ideas and solutions.

GQ6 Cultural competence

Cultural Competence is the ability to actively, ethically, respectfully, and successfully engage across and between cultures. In the Australian context, this includes and celebrates Aboriginal and Torres Strait Islander cultures, knowledge systems, and a mature understanding of contemporary issues.

GQ7 Interdisciplinary effectiveness

Interdisciplinary effectiveness is the integration and synthesis of multiple viewpoints and practices, working effectively across disciplinary boundaries.

GQ8 Integrated professional, ethical, and personal identity

An integrated professional, ethical and personal identity is understanding the interaction between one’s personal and professional selves in an ethical context.

GQ9 Influence

Engaging others in a process, idea or vision.

Outcome map

Learning outcomes Graduate qualities
GQ1 GQ2 GQ3 GQ4 GQ5 GQ6 GQ7 GQ8 GQ9

This section outlines changes made to this unit following staff and student reviews.

Lab. execises have been moved to Ed (students can run code exercises in workspace and discuss with tutors and classmates) Additional lab. challenges and exercises have been introduced Weekly practice quizzes have been introduced Evaluation of individual contributions to group group project (individual demos. and oral quizzes) Evaluation of student's understanding and ability to explain own and group work in the context of lectures and tutorial materials Online and on-campus assessments and demos.

Disclaimer

The University reserves the right to amend units of study or no longer offer certain units, including where there are low enrolment numbers.

To help you understand common terms that we use at the University, we offer an online glossary.