Software remains malleable, often illogical, and incomplete forever. Sequential approaches to software development, such as the waterfall model, assumes that it is possible to take every single variable that could affect a project into account beforehand. Considerable effort is spent to identify risks, plan mitigation, and what consequences these may have. From a traditional product perspective, this can be compared to creating an assembly line to produce software.
Given the nature of software, is it really feasible to identify all variables beforehand? Iterative and incremental approaches accepts that changes are inevitable and integrates change management into the development process. Agile approaches promotes iterative and incremental development by using a very tight design-code-test cycle. If we again use a traditional product perspective, this can be compared to new product development.
In this course you will teach you how to design and develop software, 701E and to manage projects, using these agile principles:
- The customer is a part of the development team Incremental development
- The developer should not be hindered by the process
- Embrace changes
- Continues refactoring (restructuring) of the design
After passing the course, you will be able to lead agile projects, work without a detail schedule, use test driven development, refactor programs, be part of a programming pair, and much more.
- Morgan Ericsson (ME), ext 6075, room 423, morgan.ericsson@chalmers.se (lecturer)
- Erik Axelsson (EA) erikax [at] student.chalmers.se (teaching assistant)
- Max Witt (MW) wmax [at] student.chalmers.se(teaching assistant)
Below you can see the date, time, room and themes for the lectures. There is also a detailed schedule in TimeEdit. Tutorials are always on Wednesdays 13:15-15:00 and Fridays 13:15-15:00
Date & Time | Room(s) | Theme | Who | Slides | Videos | Readings |
---|---|---|---|---|---|---|
18/3 13:15-15:00 | HA4 | Introduction | ME | 1 | 1, 2 | TBA |
Virtual Lecture on Android | ME | L2 | 1, 2 | TBA | ||
22/3 *13:15-16:00 | HC3 | Tutorial: Git | MW | Lgit | Youtube playlist | Git, Read presenter notes in the slides |
8/4 13:15-15:00 | HA4 | Project Management/Scrum | ME | 2 | 1, 2 | |
15/4 13:15-15:00 | HA4 | eXtreme Programming | ME | 3 | 1, 2 | |
22/4 13:15-15:00 | HA4 | Object-Oriented Analysis and Design | ME | 4 | ||
29/4 13:15-15:00 | HA4 | Testing | ME | 5 | ||
6/5 13:15-15:00 | HA4 | Documentation | ME | [L6] | ||
20/5 13:15-15:00 | HA4 | Wrap-up | ME | [L7] | ||
27/5 13:15-17:00 | EC | Project handoff (Schedule) | ME | |||
28/5 13:15-17:00 | EC | Project handoff (Schedule) | ME | |||
29/5 13:15-17:00 | EC | Project handoff (Schedule) | ME |
The examination consists of three parts:
-
A Software Development project where you work in groups to develop an Android app using agile practices.
-
A Post-mortem Report that outlines your experience with agile practices during the software development project. (individual)
The project and post-mortem report will influense your final grade according to the Grading Policy
To give you an idea of what a project might look like in the end, we've been authorized to publish this project which was made during the fall semester.