Note: This unit is an archived version! See Overview tab for delivered versions.

SOFT2412: Agile Software Development Practices (2018 - Semester 2)

Download UoS Outline

Unit: SOFT2412: Agile Software Development Practices (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Intermediate
Faculty/School: School of Computer Science
Unit Coordinator/s: Dr. Suleiman, Basem
Session options: Semester 2
Versions for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: INFO1113 OR INFO1103 OR INFO1105 OR INFO1905.
Prohibitions: COMP9412.
Brief Handbook Description: 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.
Assumed Knowledge: None.
Lecturer/s: Dr. Suleiman, Basem
Timetable: SOFT2412 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 2.00 1 13
3 Project Work - own time 6.00 13

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Able to use typical tools of a professional software developer, including version control, issue tracking, debugger, automated test framework, automated deployment framework. Engineering/IT Specialisation (Level 2)
Able to produce conceptual models of overall systems, based on interactions with stakeholders Information Seeking (Level 2)
Working in project teams with clearly differentiated roles and responsibilities. Awareness of planning issues and methods. Ability to work with project planning methods and documents. Ability to work in teams with people from different professions, and different cultural backgrounds; Able to work with stakeholders to extract requirements and document them. Communication (Level 3)
Develop or acquire software (information) systems that satisfy the requirements of users and customers Professional Conduct (Level 3)
Able to follow an agile process for software development, adjusting to changed requirements; Working in a small team through multiple time-boxed iterations; Understanding of all phases of the lifecycle of an information: requirement analysis (systems analysis) and specification, design, construction, testing, and operation and maintenance;Knowledge of methodologies and processes for developing systems; Able to design thorough test plans for software, or individual components . Project and Team Skills (Level 3)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table 2018.

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Project and Team Skills (Level 3)
1. Proficient in agile and Scrum method in software development.
2. Use of tools for collaborative processes (version control, issue tracking, collaborative editing of documents, project planning and progress tracking)
3. Identify issues and challenges in estimating project effort. Examine the characteristics of software projects that make them a challenge to partition. Examine roles and responsibilities in a software team, and management issues of teams.
Professional Conduct (Level 3)
4. Understanding of good coding practices, including documentation, contracts, regression tests and daily builds.
5. Various quality assurance techniques, including unit testing, functional testing, and automated analysis tools.
6. Basic understanding of legal aspects of software.
Communication (Level 3)
7. Elicit requirements from a client and specify them
Engineering/IT Specialisation (Level 2)
8. Able to describe the phases of software development and life-cycle of software. Describe and compare alternative software process standards and presses (e.g. waterfall, incremental, spiral, prototyping, empirical and agile methods)
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Project Yes 40.00 Multiple Weeks 1, 2, 3, 4, 5, 7,
2 Weekly Quizzes (Week 3-12) No 10.00 Multiple Weeks 2, 3, 4, 5, 6, 8,
3 Exam No 50.00 Exam Period 1, 2, 3, 4, 5, 6, 8,
Assessment Description: Project work involves small (4 student) group working in Scrum approach on software project. Group members will be rotated regularly.

Online quizzes will cover the lecture/tutorial of the previous week
Recommended Reference/s: Note: References are provided for guidance purposes only. Students are advised to consult these books in the university library. Purchase is not required.

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Introduction and Overview; SDLC methods; Agile vs planning-heavy
Week 2 Version Control: Git Basics
Week 3 Version Control: Git Team Collaboration
Week 4 Project Automation; Software Configuration, Deployment Process
Week 5 Continous Integration (CI)
Week 6 Software Quality Assurance; Software Testing
Week 7 Group Dynamics; Tools and Technologies for Teamwork: Planning and Issue Tracking
Week 8 Scrum Method; Expressing Requirements
Week 9 Scrum Method; Team Structures
Week 10 Scrum Method; Estimation and Planning
Week 11 Ethics, Intellectual Property, Copyright, Patents, Licensing, and Open Source Software
Week 12 Project Reflection (Lessons learned and discussion of experiences from the Scrum projects)
Week 13 Review
Exam Period Assessment Due: Exam

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Advanced Computing / Science 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Science (Medical Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Commerce 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Information Systems) (not offered from 2022+) 2018, 2019, 2020, 2021
Bachelor of Advanced Computing (Software Development) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Software Development) - Mid-Year 2021, 2022, 2023, 2024, 2025
Software Engineering (mid-year) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Project Management 2019+ 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software Engineering 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Arts (2022 and earlier) 2018, 2019, 2020, 2021, 2022
Software / Arts 2023+ 2023, 2024, 2025
Software / Commerce 2018, 2019, 2020, 2021, 2022
Software / Commerce 2023+ 2023, 2024, 2025
Software / Commerce 2023+ (mid-year) 2025
Software / Project Management 2018
Software / Science 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Science (Health) 2018, 2019, 2020, 2021, 2022
Software / Science - Mid Year 2023, 2024, 2025
Software / Law 2018, 2019, 2020, 2021, 2022
Software / Law 2023+ 2023, 2024, 2025
Software / Science (Medical Science Stream) 2018, 2019, 2020, 2021, 2022
Biomedical Engineering (mid-year) 2016, 2017, 2018, 2019, 2020
Biomedical Engineering 2016, 2017, 2018, 2019, 2020

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
Project and Team Skills (Level 3) Yes 42%
Professional Conduct (Level 3) Yes 39%
Communication (Level 3) Yes 6%
Information Seeking (Level 2) Yes 0%
Engineering/IT Specialisation (Level 2) Yes 13%

These goals are selected from Engineering & IT Graduate Outcomes Table 2018 which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table 2018 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.