Best of “As a Developer, I Want…” Student User Stories, Raw and Unfiltered

Over on Twitter, the ever amazing and amusing time sink, @AdamPridmore, @KevlinHenney, and @JensColdewey are discussing the merit of software developers as stakeholders in user stories.

Despair not! I’ve got the goods. From my Scrum student projects (I run those day-in, day-out), here is the classic one:

As a developer, I want to learn Java to be able to program and earn a top grade.

I looked through the last few feature archives (the place where stories go to rest) from my student projects. Here are some fine exemplars of developer user stories. Have fun!

Continue reading “Best of “As a Developer, I Want…” Student User Stories, Raw and Unfiltered”

Clarification of “Why I Still Teach Scrum”

Teaching Scrum at University is challenging. Students are typically at the beginning of their career and don’t understand the challenges of communication and coordination in software engineering well. In a prior post on Why I Still Teach Scrum I had made a cryptic remark to that end and through various channels was asked to clarify the remark.

Scrum is a framework that needs tailoring for the specific situation at hand. The specific challenges of teaching Scrum at a University are, in no particular order, and most certainly incomplete:

  • Comparatively little practical experience of students
  • Widely differing capabilities as the gap between students can be large
  • Transient teams as Scrum projects typically last only a semester
  • Zero-Sum-Thinking by some students as to teamwork and grade

Continue reading “Clarification of “Why I Still Teach Scrum””

Agile Feature Teams vs. Inner Source

Agile methods reacquainted developers with the idea of working from business value rather than focusing on technical concerns only. Agile methods are therefore often equated with feature-driven development, in which work is driven by features prioritized by business value irrespective of technical consequences. This thinking can create code silos and wreak havoc on software architecture and component quality. Developer complaints are legion, in particular for never getting the time to fix things or do them right in the first place.

Continue reading “Agile Feature Teams vs. Inner Source”

Why I Still Teach Scrum

Scrum is an agile method (framework) that when instantiated can be rather ornate. Most developers, when I talk to them, tell me that when given a choice they would not be doing Scrum. While Scrum may have felt much lighter than the competition back in the nineties, today it weighs in as rather heavy.

Given this, I wanted to reflect on why I still teach Scrum (and have a blog post to point any of my students to).

Continue reading “Why I Still Teach Scrum”

Teaching Materials for Agile Methods Course

Update 2018-08-01: The old materials are not available any longer; please watch this space for the new release!

I finally put my teaching materials for my agile methods course on this website. The slides are available in “source” form, i.e. Open/LibreOffice format, as well as PDFs. I also added supplementary materials like the videos I use for illustration purposes. The slides are made available using the Creative Commons BY-SA license and are based on a course I’ve been giving several times now. It is far from being perfect but obviously good enough for a real course. Feel free to use or copy from the slides for your own courses!

My goal is to keep improving the slides. I expect there to be a new version every year or maybe every semester. For me, this is an experiment. I honestly don’t know how to collaborate around a format like ODP and ODT. It sure doesn’t feel like source code. So, my best suggestion is that if you find this useful and would like to see it improve in a direction that suits you, please let me know of your suggestions. I might then incorporate the suggested changes into the slide set. In general, my philosophy is that the content will grow, but ideally in a consistent fashion.

Agile Methods Course at Tsinghua University

Update 2018-08-01: The old materials are not available any longer; please watch this space for the new release!

Update 2012-03-28: I made the course slides available to the public.

I just finished teaching a one-week course on agile methods at Tsinghua University, the top (mainland) Chinese engineering school and one of the two leading Chinese universities. My host told me that I was the first non-Chinese-speaking lecturer to have held such a short course, not only in Computer Science but at Tsinghua as a whole. (I’m sure there have been plenty of prior foreign lecturers, but apparently I was the first one not to teach for a whole semester, but only for this condensed one-week half-day type of course). Yay! Adventure and breaking new grounds is still possible on this planet.

Moreover, with my research partner Prof. Bai, I’ll be leading a joint distributed agile software development project, involving student teams from both Tsinghua University (THU) and Friedrich-Alexander University (FAU). The goal of the project is to learn about what makes or breaks distributed agile development. We’ll start with simple hypotheses but hope to grow this into something larger. We already have student teams, but are looking for more. If you are a software engineering student at either THU or FAU, please come and talk to us!

Successful Open Source, with Little or No Agile

I’ll be participating in the panel “Successful Open Source, with little or no Agile” at Agile 2008 in Toronto, Canada, on August 7th, 2008.

Successful Open Source, with Little or No Agile

Agile adoption in the Open Source community ranges from some to none for most successful teams.

  • Can these communities learn anything from each other?
  • Are these two communities one in the same?
  • Do Open Source projects and Agile projects succeed or fail for the same reasons?

The panelists, Dennis Byrne, Dirk Riehle, Christian Robottom Reis and Naresh Jain, will use their collective experience to answer these and many other questions. We’ll also have one empty chair for anyone from the audience to be a part of the panel temporarily.

Continue reading “Successful Open Source, with Little or No Agile”