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, 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
- Continuous 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, [email protected] (lecturer)
- Thomas Luvö (TL), [email protected] (lecturer)
- Anton Andersson ([email protected])
- Isabel Azcarate ([email protected])
- Pauline Daremark ([email protected])
- Anders Eriksson ([email protected])
- Micael Svensson ([email protected])
- Sommerville, I. (2010) Software Engineering (ISBN13: 9780137053469)
- Pro Git
- Writing a product vision: 1, 2.
- A successful Git branching model
- Interactive Git learning: Learn Git Branching
Below you can see the date, time, room and themes for the lectures. There is also a detailed schedule in TimeEdit.
Date & Time | Room(s) | Theme | Who | Slides |
---|---|---|---|---|
17/3 13:15-15:00 | VasaC | Introduction | ME | 1 |
21/3 13:15-15:00 | VasaC | Intro to Software Engineering | ME | |
24/3 13:15-15:00 | VasaC | Software Engineering (cont'd) | ME | |
28/3 13:15-15:00 | VasaC | Waterfall and XP | ME | |
31/3 13:15-15:00 | VasaC | Version control | TL+ME | |
4/4 13:15-15:00 | VasaC | Android | ME | |
7/4 13:15-15:00 | VasaC | Scrum | TL | |
11/4 13:15-15:00 | VasaC | |||
28/4 13:15-15:00 | VasaC | Agile and scaling Agile | TL | |
5/5 13:15-15:00 | VasaC | Product owner, team and project management | TL | |
9/5 13:15-15:00 | VasaC | |||
12/5 13:15-15:00 | VasaC | |||
16/5 13:15-15:00 | VasaC | |||
19/5 13:15-15:00 | VasaC | |||
23/5 13:15-15:00 | VasaC | |||
26/5 13:15-17:00 | EC | Final Presentations | ||
27/5 13:15-17:00 | EC | Final Presentations | ||
28/5 13:15-17:00 | EC | Final Presentations |
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 (2012).