One of our main courses this semester is the Software Engineering course. Each tutorial group was a fictional company and divided further into 4 teams. Each tutorial group had a real client and a real project to create by the end of the semester. The aim of the course is to teach us collaborative development techniques as well as agile development.
A competition between the companies was created and the winner would be the one who best followed the process and delivered the best end product. All the projects were web development related and targeted the middle east, specifically Egypt.
The development was divided into 2 sprints of length 2 weeks. The project was divided into stories in a backlog. They were given points according to difficulty and were assigned to one of the 15 developers in the company. Every story had to be well documented, with unit tests and a sequence diagram describing it. The code had to follow code conventions and the story had to be peer reviewed and verified before merging it into the master branch.
Our project was a game with a purpose. The aim was to crowdsource arabic translations and then provide statistics to developers who are looking for the best translations targeting a certain country or age group. We also created a script to automate the translation of your page based on the country of the user of your website. The public repo can be found on github.
The competition was fierce but we persevered and as the title already revealed we won. The course was a resounding success and many would-be developers learnt the ropes of how to create a large software project successfully.