Note: This unit version is currently being edited and is subject to change!

SOFT2412: Agile Software Development Practices (2019 - 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 7.00 13

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.

(8) Professional Effectiveness and Ethical Conduct (Level 3)
1. Understand good coding practices including documentation, contracts, regression tests and daily builds.
2. Understand legal and ethical aspects of software development.
(7) Project and Team Skills (Level 3)
3. Apply agile method in software development.
4. Identify issues and challenges in planning and estimating project effort.
5. Examine the characteristics of software projects that make them a challenge to partition.
6. Examine roles and responsibilities in a software team, and management issues of teams.
(6) Communication and Inquiry/ Research (Level 2)
7. Elicit requirements from a client and specify them
8. Describe software development phases and life-cycle.
9. Compare software process standards and presses (e.g. waterfall, incremental, spiral, prototyping, empirical and agile methods)
(2) Engineering/ IT Specialisation (Level 2)
10. Use of tools for collaborative processes (version control, issue tracking, collaborative editing of documents, project planning and progress tracking)
11. Use quality assurance techniques including unit testing, functional testing and automated analysis tools.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Weekly Quizzes No 10.00 Multiple Weeks 1, 2, 4, 8, 9, 10, 11,
2 Group Project (Tools for Agile Development) Yes 15.00 Week 7 1, 10, 11,
3 Project (Scrum Software Development) Yes 25.00 Week 11 3, 4, 7, 10, 11,
4 Exam No 50.00 Exam Period 1, 2, 3, 4, 5, 6, 8, 9, 10, 11,
Assessment Description: Group Project (Tools for Agile Development): group of students (about 4 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 (about 4 students) will collaboratively work on small software development project in Agile environment using Scrum approach. The project involves applying Scrum in agile development environment and agile development tools and report the outcomes and its rationale.

Tutorial quizzes: will be assessed individually during tutorial time (weeks 3-12). Quizzes will cover lectures and tutorials of previous week.

Exam: Written exam. Closed book. During exam period.

Unless stated elsewhere, late submission of a progressive assessment (up to 10 days late) will attract a penalty of 5 percent of the available mark, for each calendar day after the due date. Work that is not submitted within 10 calendar days will receive a mark of zero.

It is a policy of the School of Computer Science that in order to pass this unit, a student must achieve at least 40% in the written examination. For subjects without a final exam, the 40% minimum requirement applies to the corresponding major assessment component specified by the lecturer. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements may be given a maximum final mark of no more than 45 regardless of their average.
Assessment Feedback: Feedback will be provided through weekly tutorials, assignment demonstration (group and demo), written reports (Canvas) and discussion board
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of Computer Science may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

See the policies page of the faculty website at http://sydney.edu.au/engineering/student-policies/ for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
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; Software Development Process, Introduction to Git
Week 2 Version Control: Git Team Collaboration
Week 3 Build Automation; Software Build and Configuration
Week 4 Software Quality Assurance; Software Testing
Week 5 Continuous Integration (CI), Continuous Delivery/Deployment (CD)
Week 6 Group Dynamics; Tools and Technologies for Teamwork, Issue Tracking
Week 7 Agile Software Development: Scrum Method, Agile Team Structure
Assessment Due: Group Project (Tools for Agile Development)
Week 8 Scrum Method; Expressing Requirements
Week 9 Scrum Method; Planning and Estimation
Week 10 Ethics, Intellectual Property and Open Source Software
Week 11 Reflection; Project Experiences and Lessons Learned
Assessment Due: Project (Scrum Software Development)
Week 12 Industry Speakers
Week 13 Exam 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
Bachelor of Advanced Computing/Bachelor of Commerce 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Science 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Science (Health) 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Science (Medical Science) 2018, 2019, 2020
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019, 2020
Bachelor of Advanced Computing (Computer Science Major) 2018, 2019, 2020
Bachelor of Advanced Computing (Information Systems Major) 2018, 2019, 2020
Bachelor of Advanced Computing (Software Development) 2018, 2019, 2020
Software Mid-Year 2018, 2019, 2020
Software/ Project Management 2019, 2020
Software 2018, 2019, 2020
Software / Arts 2018, 2019, 2020
Software / Commerce 2018, 2019, 2020
Software / Project Management 2018
Software / Science 2018, 2019, 2020
Software/Science (Health) 2018, 2019, 2020
Software / Law 2018, 2019, 2020
Software/Science (Medical Science Stream) 2018, 2019, 2020
Biomedical Mid-Year 2016, 2017, 2018, 2019, 2020
Biomedical 2016, 2017, 2018, 2019, 2020
Bachelor of Project Management (Built Environment) 2018
Bachelor of Project Management (Civil Engineering Science) 2018
Bachelor of Project Management (Software) 2018
Bachelor of Project Management (Built Environment) Mid-Year 2018
Bachelor of Project Management (Civil Engineering Science) Mid-Year 2018
Bachelor of Project Management (Software) Mid-Year 2018

Course Goals

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

Attribute Practiced Assessed
(8) Professional Effectiveness and Ethical Conduct (Level 3) No 17%
(7) Project and Team Skills (Level 3) No 35.25%
(6) Communication and Inquiry/ Research (Level 2) No 15.75%
(2) Engineering/ IT Specialisation (Level 2) No 32%

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.