Learning a software development process with Lego

What is the best way of learning how to develop software in a limited amount of time? If you answered “duh, developing software,” then you would be wrong. In Queens’ we would like to add more fun and creativity into learning so, we held an extended Wednesday Computer Science meeting playing with Legos and eating cookies to learn a form of Agile software development methodology called Scrum.

Our evening started with Dr Stephen Cummins’ talk on what Scrum is. Briefly, it is an incremental development model that leads to production of high quality software with small development cycles. It embraces Agile manifesto and puts special emphasis on “individuals and interactions over processes and tools” motto. After the introduction we tried to simulate the development method we had just heard about with a special task, building Lego campus of the future!

I am sure you can imagine the enthusiasm we had to play with Legos at that very moment. Sadly, I was given the role of the client and the rest were divided into 4 groups that I contract my work to. Each group appointed a member as their scrum master, who is responsible for facilitating communication within and outside the group. This involves communicating with the client, facilitating decisions within the group to what to achieve in the given development cycle, fetching Legos, etc. After groups are formed we went into the negotiation phase, where each group give propositions on what they think should be in the future campus and how much time they think it would take. In Scrum, collection of those ideas is called the product backlog. My job was to prioritize these proposals and tell what I am willing to pay for that particular item in cookies. I was a bit of a self-indulgent client I guess given that I offered 15 cookies for a statue of myself. Other buildings I found important include a local Starbucks, Quidditch stadium, town hall, student bar, pizza delivery drone, Bitcoin bank and a super computer.

After the negotiation was over, each team picked items that they committed to finish in a sprint and other items they wanted to work on over several sprints as a bonus. Then the clock started ticking for the groups! In three minutes they managed to come up with half finished Lego constructions. One problem was that none of them thought of asking the client what they would want to see, which is the main principle behind Scrum. The process went on for four more sprints and the competition between the groups was furious despite working in the same imaginary company. Over sprints many projects were rejected and others rewarded with cookies. In each sprint they tried to incorporate my opinions into their design as they realised that was the key to cookies.

Overall it was a great experienced full of cookies, Legos and of course the company of fellow computer scientists. We did not only hear what Scrum was about but were also able to experience and internalize it. As a personal remark, I can already see how it affects my interaction with the client in my group project as I try to ask them what they want and how they want it as much as I can rather then going and doing what I think is right.

Here are some photos from the event,

Busy group

One of the teams working on a garden.

One of the teams working on a garden.

A happy client!

A happy client!

My statue worth of 15 cookies!

My statue worth of 15 cookies!

Advertisements