Skip to content

Pedram87/EDA397

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agile Development Processes - lp4, vt2016

  • Lecture 8 (Information flows) online
  • Combined lecture on Agile Architecture with guest lecture (Patrizio Pelliccione) and moved it to May-24

Last update: 2016-05-03

Course Description

Agile software development aims at setting up an environment to develop software based on the following principles from the agile manifesto:

  • Individuals and interactions is valued more than processes and tools
  • Working software is valued more than comprehensive documentation
  • Customer collaboration is valued more than contract negotiation
  • Responding to change is valued more than following a plan

At the core of these principles it the realization that changes are inevitable and the conclusion that change management needs to be integrated into the development process. Agile approaches promotes iterative and incremental development by using a very tight design-code-test cycle.

In this interactive course we will explore together how to apply these agile principles to develop software and manage projects.

After passing the course, you will be able to lead agile projects, use test driven development, refactor programs, be part of a programming pair, and much more.

Teachers

Student representatives

We will select student representatives when the course starts. Please consider volunteering. We will share information about student representatives and our meetings on the following wiki page: https://github.com/oerich/EDA397/wiki/course-representatives

Course Literature

Lectures and Workshops (In progress…)

This lecture is organized in three sprints.

  • Sprint 1 (focus on getting started): We will focus on getting you started and discuss agile principles and actionable practices. Also, we will set up the project work.
  • Sprint 2 (focus on getting work done): We will focus on working in teams, applying agile practices, and collecting experience.
  • Sprint 3 (focus on theory and advanced concepts): Based on your experience in project work, we will explore more theoretical and advanced topics of agile software development.

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 generally be on Thursdays, 13:00-17:00. We aim for two week sprints and will share a schedule, once project groups are established.

NOTE! We plan one sprint ahead in detail and will add information as we go. The reason is that some of the planning depends on availability of (industry) guest speakers, and their lectures are to be confirmed.

Sprint 1: Focus on getting started

Date & Time Room(s)   Theme Who Slides Videos Readings
Mar-22 15:15-17:00 Alfa Course Introduction, overview of Agile, course Q&A, assigning groups EK L1 [Cockburn2009, Ch. 4], Cohen04
Mar-24 13:15-17:00 Beta Get started with groups; working environment; Project Startup, incl. 1st customer meeting TB, MA, L2 Android, AndroidExamples
Easter Break
Apr-12 13:15-15:00 Styrbord (near Äran) Miniature on Agile Software Development Principles EK L3 [Cockburn 2009, Appendix A]
Apr-14 13:15-17:00 indiv. announcement Acceptance test, Sprint retrospective, Sprint planning TB, MA
Apr-15 13:15-15:00 Gamma Agile Software Development: Principles and Practices EK L4 Schwaber95, Scrum guide

Sprint 2: Focus on getting work done

| Date & Time | Room(s) | Theme | Who | Slides | Readings | | ------ | :----: | ------ | :------: | :------: | :------: | :------ |
| Apr-19 13:15 - 15:00 | Delta | Lean Software Development | EK | L5 | | | Apr-19 15:15 - 17:00 | J321, J317, J322 | Open Q/A and Coaching | TB, MA, EK | | | | Apr-21 13:15 - 15:00 | J322 | Optional workshop: Android and Github | MA | | git, Android | | Apr-21 13:15 - 17:00 | J321, J317, J322 | In parallel to workshop: Open Q/A and Coaching | TB, (MA), EK | | | | Apr-22 13:15 - 15:00 | Alfa | Test-driven Development | EK | L6 | | | Apr-26 13:15 - 15:00 | Alfa | Agile vs. Plan-driven | EK | L7 | Optional reading: [Cockburn 2009, Ch. 0 & 1] | | Apr-26 15:15 - 17:00 | J321, J317, J322 | Open Q/A and Coaching | TB, MA, EK | | | | Apr-28 15:15 - 17:00 | J321, J322 | Acceptance test, Sprint planning | TB, MA | | | | Apr-29 13:15 - 15:00 | J321, J322 | Sprint retrospective | TB, MA | | |

Sprint 3: Focus on theory and advanced concepts of agile

Current state of planning, changes might happen.

| Date & Time | Room(s) | Theme |Who | Slides | Readings | | ------ | :----: | ------ | :------: | :------: | :------: | :------ |
| May-3 13:15 - 15:00 | Beta | Information Flow in Agile Development | EK | L8 | [Cockburn 2009, Ch. 3]| | May-3 15:15 - 17:00 | J321, J317, J322 | Open Q/A and Coaching | TB, MA, EK | | | | May-10 13:15 - 15:00 | Delta | Continuous Integration and Deployment | EK | | [Cockburn 2009, Ch. 5] | | May-10 15:15 - 17:00 | J321, J317, J322 | Open Q/A and Coaching | TB, MA, EK | | | | May-12 13:15 - 17:00 | indiv. announcement | Acceptance test, Sprint retrospective, Sprint planning | TB, MA | | | | May-13 13:15 - 15:00 | indiv. announcement | Acceptance test, Sprint retrospective, Sprint planning | TB, MA | | | | May-17 13:15 - 15:00 | Omega | Slot for guest lecture or Open Q/A and Coaching | | | [Cockburn 2009, Ch. 2] | | May-19 13:15 - 15:00 | Delta | Guest Lecture: Mats Eriksson and Jimmy Nilsson (Ericsson AB) | MA | | | | May-20 13:15 - 17:00 | Individual announcement | final Acceptance testing | TB, MA | | | | May-24 13:15 - 15:00 | Delta | Guest Lecture: Patrizio Pelliccione (GU & Chalmers): Agile architecting | | | | May-26 13:15 - 17:00 | Alfa | Presentation of Results| Project teams | | | | May-27 13:15 - 15:00 | Alfa | Alternative slot for guest lecture | | | [Cockburn 2009, Ch. 6] |

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 group's experience with agile practices during the software development project.

  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

About

Agile Development Processes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published