Last week I taught the sixth week of the nine-week AngularJS+ASP.NET bootcamp. The sixth week was all about Agile. We focused on software project management using Scrum and Visual Studio Team Services (formally known as Visual Studio Online).
The students learn how to participate on an Agile team. They learn how to create a Product and Sprint Backlog, participate in a Daily Standup meeting, and about the different roles in Scrum. We also spent time discussing the topic of Agile Estimation.
The students also learn how to use Visual Studio Team Services to manage their software projects. In particular, they learn how to use the Visual Studio Product Backlog, Scrum Backlog, and Source Code Repository. We spent a lot of time on the topics of resolving Merge Conflicts and performing Pull Requests.
My favorite day in the week is Scrum-In-A-Day Day. During Scrum-In-A-Day Day, we simulate going through an entire software project — using Visual Studio Team Services and Scrum – in a single day. We do the Sprint Planning Meeting, the Daily Standups, the Sprint Review, and Sprint Retrospectives. However, a Sprint only lasts a single hour.
I broke the students into three teams. All three teams tackled the same programming challenge. They had to build a (secret) web application using AngularJS + ASP.NET Web API.
During Scrum-In-A-Day Day, I play the role of the Scrum Product Owner (a very obnoxious and demanding Product Owner). I’m always surprised at how easy it is to convince the student teams to take on many more stories than they could ever complete in a single Sprint. With a little bit of pressure, I can get them to agree to complete an insane amount of work. One of the main goals of Scrum-In-Day Day is to teach the students to take on a conservative amount of work for each Sprint.
The other issue that students quickly encounter during Scrum-In-A-Day Day is merge conflicts. Two of the three teams lost the entire first Sprint to resolving merge conflicts when they all attempted to contribute the same files to the Source Code Repository at the same time.
I was very happy to see that all three teams completed a substantial number of stories from the Product Backlog before the end of the day. The apps weren’t very pretty, but they worked!
One of the primary goals of Agile week is to prepare the students to start working on their big group projects. I’ve divided the students into three teams. Starting next week, the teams will start work on their big group projects. I’m looking forward to seeing the list of projects that the students decide to create.
If you want to sign up for our next boot camp in Seattle then register here.