Lessons Learned from Novice Agile Teams

Table of Contents

Format: Experience report
Duration: 30 minutes

Abstract

We are currently experimenting with agile development on Software Engineering Project course at the Department of Computer Science in the University of Helsinki. During the course students develop software for real clients. Main parts include getting familiar with the process model, team work, quality assurance and tools needed for software development. In total there are 30 people directly involved in the projects which lasts for 16 weeks.

Previous experiences from adopting agile over waterfallish approach have been chaotic and agile development was partially banned as the results were unsatisfactory. An experienced team is able to accomplish results with any process model, however, these teams usually consist only of novices. Now in our controlled experiment all teams are enforced to use agile methods.

Teams were given a brief introductionary training for adopting a Scrum-based variant of agile development. To emphasize self-organization of the teams, teams had to figure out their own practices with given required constraints. Since the project is a learning experience, students must also be able to make their own mistakes and learn from them. Also the instructors adopted a variant of their own, loosely based on the Scrum of Scrums ideology.

Process related problems are highly similar between different teams. After each sprint all team representatives and instructors gather together to review the last iteration and to discuss the problems. In order to solve encountered problems, participants give possible solutions for the next iteration based on their own experiences.Because there is no monetary risk involved, teams are more willing to change their own behavior.

As the course is still on-going, the results are not yet definitive. However, in addition to normal course metrics (hours, grades, feedback) there is additional research measuring subjective learning experiences. When the experiment is fully conducted we will have a set of best practices and knowledge on how to avoid common pitfalls. In other words we will have one matured and repeatable agile process variant suited for this course as a true alternative for the waterfallish approach.

Despite being conducted in an academic environment, we see the resulting set of best practices and common pitfalls as valuable and applicable for enterprise use.

Preliminary timetable

0-5: Backgrounds and details on the project work organization
5-15: Things which worked for us
15-25: Pitfalls encountered regarding the agile process
25-30: Observations and conclusions

Bils

Petrus Repo

I have been the responsible person for this course and an assistant
teacher on several bachelor level courses. Previously I had some
successful Internet adventures with an own hosting company.

Matti Paksula

In addition to hourless hacking, I've been doing agile web application
development in various companies. Recently I have been working at the
University of Helsinki lecturing on Web technologies.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jul 30, 2009

    Vasco Duarte says:

    This sounds like a very interesting session. Have you compared your findings wit...

    This sounds like a very interesting session. Have you compared your findings with people in Industry? I think it would be beneficial to add a discussion slot to your presentation where you could compare your results with what Industry people have found. This would also possibly enrich your research.

    1. Aug 15, 2009

      Petrus Repo says:

      Thank you for the feedback! We will add a discussion slot. We're hoping to hear...

      Thank you for the feedback!

      We will add a discussion slot. We're hoping to hear your questions!