A few months ago, I was fortunate enough to bump into Janet Hughes who had the dubious pleasure of teaching me Software Engineering back when I was a funny looking undergraduate at The University of Dundee. We exchanged a few email and, on Monday, I had the great pleasure of giving a talk on Agile Data Warehousing to Janet's 3rd year students and then to the local BCS group.
There have been massive changes since I was last there. Not least the fact that the Department of Applied Computing, as it was, has moved to a fantastic new building and become the School of Computing. The range of courses has expanded to include degrees in E-commerce Computing, Computing with Electronics and Computing with Interactive Media Design, along with the Applied Computing degree in which I graduated in 2000.
The software engineering course has changed radically as well. Janet clearly has a great feel for Agile and a passion for teaching it. She told me how she discovered Agile through her own reading, was immediately taken by the way it is tune with the way that we really develop software - as opposed to waterfall; which isn't. After attending a Scrum Master course to learn more, she has added a very strong Agile focus to the Software Engineering course I took all those years ago. While I was there, her students got their marks back for a group project assignment. Working with a real customer to write a scuba dive planning system for a mobile phone in C#, they used Scrum to manage their projects, co-located their teams and developed the code using pair programming and test driven development using nUnit. Part of the final submission was a report from a Continuous Integration system one of the 4th years was writing as a final-year honours project.
I am very impressed! It is great to see a university department teaching Agile so successfully and I think it is encouraging for the development of Agile that students are starting to come out of universities equipped to work effectively on Agile teams and influencing their future colleagues and managers to adopt better practices.
Both talks went well. I was impressed by the students' knowledge of Agile practices when I ran a short discussion at the start of the talk in which I asked them to suggest practices that support each statement on the Agile Manifesto. For example, one group identified working with a product owner as an example of a practice that values individuals and interactions over processes and tools. One of the students asked a great question about how to organise multiple teams working together on the same code base.
The second talk to the BCS was quite a different audience. I was pleased that there was a good turnout for my talk – especially since the talk was at 5.30 on a Monday evening! Many of the attendees professed no Agile experience at the start, but they asked lots of good questions showed a particular interest in Test Driven Development and if/how to integrate Agile with the wider process frameworks like Prince2 you tend to find in large organisations.
I wanted to say thanks to everyone I met for a fantastic day and for looking after me so well. Hopefully I will get the chance to come back again soon!