Agile Development Processes
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Exams
Papers
Slides
README.md
groups.md
java.js

README.md

Agile Development Processes - lp4, vt2013

Exam review 2 will be held on Oct 8, 12:00-13:00 in Jupiter 400 (where you had the customer proxy meetings).

Course Description

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
  • 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.

Teachers

Student representatives

Course Litteratur

Lectures and Workshops (In progress…)

Below you can see the date, time, room and themes for the lectures and workshops. There is also a detailed schedule in TimeEdit. NOTE! We have booked extra time in the project rooms where you should work on the project but when there will not always be assistants on site for support.

See wiki for reading instructions.

Acceptance tests will always be on Fridays at 13:00-15:00.

Date & Time Room(s)   Theme Who Slides Videos Readings
19/3 13:15-16:00 J121 Course Introduction, overview of Agile ME 1 1, 2, 3
19/3 16:15-17:00 J024, J025, J321, J322, J317 Agile and Course Q&A ME, EA
21/3 13:15-15:00 J243 Developing for Android ME 2 1, 2 Android
21/3 15:15-17:00 J024, J025, J321, J322, J317 Getting started and Tech Q&A (bring computer!) ME, EA
9/4 13:15-16:00 J121 Agile Software Development Crash Course ME 3 1, 2
9/4 16:15-17:00 J024, J025, J321, J322, J317 Final preparation (Q&A) before project ME, EA
11/4 13:15-13:30 J243 Project Startup ME, EA Presentation Project Description
11/4 13:30-14:30 J243 Groups 1,2, and 3 ME, EA Interview
11/4 14:30-15:30 J243 Groups 1,2, and 3 ME, EA Interview
11/4 15:30-16:30 J243 Groups 1,2, and 3 ME, EA  Interview
12/4 13:15-15:00 J243 Automated testing and pair programming EA 1
16/4 13:15-17:00 J121 Second meeting with customer (proxy) EA/ME
18/4 13:15-17:00 J243 Fault Classification Follow-up ME
19/4 13:15-15:00 J243 Acceptance Tests EA  
23/4 13:15-17:00 J024, J025, J321, J322, J317 No lecture, available for Q/A (my office) ME
25/4 13:15-17:00 J243 Guest Lecture: Spotify (Mario Jelica) ME 12
26/4 13:15-15:00 J243 Acceptance Tests EA  
2/5 13:15-15:00 J243 Guest Lecture: OmegaPoint (Nicklas Åkerman) ME
3/5 13:15-15:00 J243 Acceptance Tests EA
7/5 13:15-15:00 J243 Guest Lecture: Ericsson (Thomas Luvö) ME  
13/5 9:00-11:00 J243 Acceptance Tests EA
14/5 13:15-17:00 J121  Connecting the Dots ME 4
16/5 13:15-17:00 J243 Discussion ME/EA 5
17/5 13:15-15:00 J243 Acceptance Tests EA
21/5 13:15-15:00 J121 Q/A Exam ME/EA  
23/5 13:15-17:00 J024, J025, J321, J322, J317 Final hand-off to customer ME/EA
27/5 8:30-12:30 Lindholmen, Hall L  Written Exam  ME  
31/5 24:00   Post-mortem report due    
29/8 Lindholmen, Hall L August Exam ME

Note that JXXX refers to Jupiter XXX

Additional Resources

  • Kanban (video)
  • Pair programming (video)
  • Why is it difficult to implement Scrum? (video)
  • Product Owners in a nutshell (video)
  • Unit testing (Part 1, Part 2)
  • Automated acceptance testing (video)

Examination

The examination consists of three parts:

  1. A Software Development project where you work in groups to develop an Android or iOS app using agile practices.

  2. A Post-mortem Report that outlines your experience with agile practices during the software development project. (individual)

  3. A Written exam based on the main course book, the papers listed in the table above and the material presented in lectures as well as on your project.

To pass the course it is extremely important that you read all the course material, participate in lectures and are active in and finish your project. If you do not you will fail! Remember that this is a master level course and requires considerably more than most bachelor level courses.

Your final grade will be set according to the Grading Policy