In July 2012, I’ve had the pleasure of mentoring Team Virtual Dreams, winner of the Windows 8 Metro Challenge and Azure Challenge on the Imagine Cup 2012, the Microsoft-sponsored technology world cup for students. As a Microsoft MVP, mentoring a finalist team is a unique experience. However, what is the Imagine Cup and what does it mean to mentor a team?
The Imagine Cup is a competition sponsored by Microsoft and it’s now in its 12th year. It has many competitions, in the technological area: software development, IT and digital media (until 2011 there were video and photo competitions). Each year, there’s a citizenship theme, besides competitions for business innovation and game development. With this kind of theme, the competition stimulates the students to find solutions for many world problems: health care, education and environment are some of them.
The project must be developed by high school (ages 16+), college, grad or post-grad students. The students are completely responsible for their projects and they own their projects (Microsoft doesn’t own anything after the competition – many teams, after the competition, become new startups with great success in marketing their projects).
Each year, the competitions change and the only one that has kept its format is Software Design. This is the main competition of the Imagine Cup. The winners, besides the normal trophies, take the cup to their country and have their names printed on it.
Software Design has a different format than the other competitions: while the other competitions have their preliminary rounds on the web, and the finals are on the hosting country, Software Design has regional preliminary rounds and the winners of each round, from 72 countries, go to the finals (this has changed a bit in the last years). In the hosting country, there are three final rounds: in the first, 20 teams are chosen, in the second, six and, after the last round, the champion is chosen.
The other competitions have preliminary rounds on the web: the projects are sent to the organizing committee that judges them and chooses the finalists. Each competition has a different format in the finals: the games competition have preliminary rounds and the teams must do a hands-on with the judges to show their game. The IT competition (that doesn’t exist anymore) had a project that should be developed in 24 hours: the contestants receive a new project and they must develop it in 24 hours. Other competitions don’t have any presentations: the winners are chosen in the preliminary rounds and just the results are known in the finals. This changes from year to year, every year the competitions have a different format.
Undoubtedly, the benefits are many: the finalists go to a new country with all expenses paid (yes, you only have to pay for the souvenirs you bring home J). You can know countries like India, Egypt, France, Poland, Australia, and go on cultural tours (in Australia, the contestants could climb the Harbour Bridge - http://www.bridgeclimb.com/ and go to the Sydney Zoo - http://www.taronga.org.au/taronga-zoo), go to great opening and closing parties (in Egypt, there was a stage near the pyramids and in France, the closing was at the Louvre). This year, the party will be in Redmond, at the Microsoft Campus!
Let’s not forget of the “small” gifts: beyond shirts and backpacks, in Australia every contestant won a Nokia Lumia 800 and a Windows Tablet.
But this is just the beginning, there’s more: you will get to meet people from the whole world and network with them. This friendship will last for many years and you will have the opportunity to share knowledge and experiences. Your projects will be judged by judges with a lot of experience and this is a great feedback for you and your team. At the end, you will have the opportunity to show your project in a showcase to reporters and executives from the whole world. That’s a great push for your project, isn’t it?
These are a few of the direct benefits. There are some indirect benefits, much larger; creating a viable project is not an easy task and the competition teaches you things that are not thought in any school:
· Commitment – you have a commitment with the competition and with your teammates. You must obey deadlines and restrictions. If you don’t, your team will be disqualified.
· Create a viable project – the competition theme is open enough, so you can have freedom to choose a good fit. You must find a project that makes sense and be feasible: there is no meaning in finding a fantastic plan to save the world if you can’t build it. The project must be viable and profitable – beyond all software engineering, you must also do all the business planning to assure it will still be alive after some years.
· Presentation – you must pitch your project to the judges and they must buy it. This is similar to what you will do your whole life: sell your ideas. That way, you must learn to present a project, usually with a very strict time: each team has 20 minutes to present its project. This is not different that when you have only 20 minutes to sell your project to an investor.
· Timelines and limits – every competition has a set of documents and videos that you must deliver. For example, in the Azure competition, every team had to create a web project running on Azure, a document with a maximum of 15,000 characters and a video with at most 5 minutes. These are well-defined rules, with no deviations: documents with 15,001 characters or videos with 5.1 minutes disqualify the project, no matter how good it is. You must deliver the docs until a determined date, midnight GMT. That makes you to read the competition rules with care and have a special care with dates: midnight GMT is 5PM in Redmond or 9PM in Sao Paulo!
· Study new technologies and break barriers – many competitions force you to study new technologies. For example, to participate in the Windows 8 competition you have to study how to develop for Windows 8, even before its launch (at the time of the Australia competition, Windows 8 was in beta, but the competitors had to figure out how to develop for it)! On the Kinect competition, the competitors had to use a development kit that didn’t allow voice control of the program. Even with this restriction, the team found a way to control the program with the voice, which probably brought some extra points that were crucial to win.
After the competition, you have a project. You passed by all phases to create it and, at the end, it is yours, so you can do what do you want: put it in production, sell. Many Imagine Cup projects became success startups and the Imagine Cup gives you a hand on that, with the Imagine Cup Grants (http://www.imaginecup.com/CompetitionsContent/ImagineCupGrants.aspx). With all that, why are you still asking if it is worth to compete in the Imagine Cup?
The work of a team mentor is similar to a football team coach: he or she shows the tactics to win, makes play schemes, and tells how the game rhythm must be, but doesn’t play. As a development MVP, my will is to enter the project, get into work and develop the project. However, as much as I want so, I don’t do that, this is not the mentor’s work. Being outside the development work, I can look at the project with another perspective and see its direction. The mentor’s work is just to guide the project, support the team when everything seems to be lost, and brainstorm to seek new ways, new solutions or new ideas…
The project begins with the team formation. The team must be multidisciplinary, because the project requires multiple abilities: a team with four great developers don’t go very far, because a team must have much more than developers. Usability is key, so the team needs good UX (User Experience) designers. You need to have well written documents and attractive videos. Some categories need specialized hardware, so the team might need someone who knows electronics. Others, like games, need designers to create good game characters, scenes and interesting music. English is fundamental. All documents and presentations are in English and you need a minimum of fluency in English to sell your project.
When the team is formed, you must go to the next step: what is the project? The theme is wide enough and can open many opportunities. Some brainstorming sessions, where ideas are thrown, can be very good. With time, the ideas are improved and you come to a good project. It’s time to detail the project, see its weak and strong points, and analyze the viability, both from the execution and business points of view. If the project is not a great fit, get back to discuss it again.
With the idea in hands, it’s time to share responsibilities. Usually the timeline is very short, so it’s very important that every participant have well defined tasks, to optimize development. It’s useful to determine the “owners” of each task, to avoid discussions. For example, in the Virtual Dreams team, Roberto is responsible for the application development and Eduardo is responsible for the design. When there is a design issue, Eduardo will have the last word, while Roberto will decide how to develop the application. They discuss and evaluate the points in common and the mentor is there to guide and give his opinion.
The development of an application has many phases: prototypes, user interface analysis, development of the many applications that make the product, tests. You will need to discuss if the UI project will work, if the interface can be developed in a simple way, if the system architecture works. There are many reunions, and sometimes things can get really hot J, but at the end you must reach a consensus.
With the application ready, you must validate it: how do the users see your project? Is it good? Is it easy to use? Does it satisfy the user’s needs? Is it missing something? You must evaluate all this and make changes to improve the project and adapt to the user’s needs. The users test and evaluate the project, giving their suggestions. At the end of this phase, it’s time to create the documents and videos. It’s important that you give special attention to the rules of every competition: each one has different specs, both regarding content and sizes. You must produce the videos, showing carefully what the project does. In Australia, all competitions asked for videos, so you should have extra care in their production.
Finally, upload and relax: the die is cast. You only have to wait for the result. If you go to the finals, great – you have already won a great reward for your work. If you don’t go to the finals, you have also won: you’ve learned to create a project, participated in a high level competition and, most of all, you are already infected. You will want to participate in the next year and learn from your mistakes – next year, your project will be better than this one, as you may already have had the judges’ feedback.
Mentoring a team in the Imagine Cup is a very rewarding task. For a technical person like me, the impulse to work in it is huge, but the coordination and orientation work is also very rewarding and if your team becomes the champion is an unforgettable experience.