What does LEGO have to do with Agile software development?
Last week Michael Gaasenbeek and I were invited to go to the University of Waterloo’s campus in Stratford Ontario to talk to some students within the Masters of Digital Experience Innovation program about SAP and Agile software development. I was excited to get in front of the students to expose them to SAP and the wonderful world of Enterprise software. While I live and breathe Enterprise software, my experience with younger generations is (1) they have no clue about the Enterprise software market and (2) don’t realize it can be just as fun and exciting as those cool consumer app cats like Facebook and Apple. Here’s how we opened their eyes…
Michael is a veteran project manager who is extremely passionate about Agile software development. He has managed oodles of software development projects and as I informed the students, is responsible for making sure we meet our innovation deadlines. He quickly gave the students a quick presentation on what Agile software development was all about, touching on key concepts such as roles, scrum, sprint, and the all-important burn down. While some eyes may have glazed over during the slides, this was not the meat of our visit. Michael laid down all the prerequisite terms and foundational knowledge so the students could practice Agile through what the Agile manifesto speaks to: interaction over process.
The challenge given to the students: using Agile, build a city with Lego according to Michael’s list of requirements (AKA in Agile-speak, a Product Owner’s backlog of feature requests). The students had to work with Michael on the priority of each feature and estimate within their teams how much effort each feature would take. We gave them 3 sprints (time-boxed iterations) to finish their cities. Sprint 1 had many of the features rejected due to the students not fully understanding the feature (for e.g. no one attempted to fully understand Michael’s requirements around features such as the color of a store, the height of a 2-story apartment building, or the number of windows required for a school). I might also put forward that the level of feature rejection was a little high partly because Michael really enjoyed being on the other side as a particular Product Owner. That said, we were both taken back when the team delivered a very creative Church building, complete with a stained glass window after not specifying any details on what the Church should look like — a good example of how allowing for creativity within development can also yield amazing results. By the last sprint the students were working with Michael as a member of their team, having established an effective velocity with their project burn-down chart. Here is a snapshot of what was produced:
A lot of students were surprised that we actually practiced Agile within our own software development projects. One student explained afterwards that what we had illustrated was totally refreshing to the waterfall approach to software development he had experienced at another firm. Better yet were the students who came up to us afterwards that were excited to talk to us more about SAP and to learn that, gasp, YES we are indeed hungry not only for the best software developers but also software designers (just check out the job postings here!). And YES, we are serious about making kick-*** software at SAP and hopefully we have indeed opened some innovative students at the University of Waterloo to the possibilities that await them within Enterprise software.