I participated in SAP InnoJam recently and I have to say I had so much fun, I get to meet people from different backgrounds and I had the chance to work with latest SAP technologies. However, based on my experience below, I think there is one aspect in team distribution that can be improved.
The event started strongly with presentation from product experts and after there were enough topics presented, it was time to pick a topic / team you want to choose. Everyone was free to choose the topic or team that he/she is interested in. I also noticed some participants tend to stick with people that they know of, people that (I think) have some great influence in the community, or people who have had triumphant experiences in previous InnoJam events. Well, this sounds just natural: if you want to win InnoJam, you surely want to get the right resources to work with, to deliver a working prototype for the demo at the end of the event.
Unfortunately for me, I did not know anyone except for few faces that I have seen on Twitter from time to time. I ended up in a team of 7 people: another person and I have been actively involved in technical aspects of software development, but the rest had little exposure to programming in the past or no technical background at all.
I was quite happy with my team and I did not see any problem in delivering a prototype for the demo. We also agreed to just keep our solution simple, knowing that we did not have enough technical resources. We decided that we would show a simple prototype showing our temperature sensor capturing the current temperature, save it in HCP, and display the number on mobile application developed with SAPUI5.
When it was time to assign individual task to each team member. We had to ask the non-technical members to also try tackling some serious programming tasks. Of course this is not ideal, but we had no other choice. Again, there were only two of us with previous programming experience. With a lot of help from the product experts, by the end of first day we were able to get the sensor to work and submit data to HCP. I was quite happy with our progress.
However, things did not go as we planned on the second day. We struggled in creating our mobile application and extending our HCP application. We were unable to get as much help from the product experts anymore, because understandably, they need to spend their time to help other teams as well.
By the time we had to prepare for the presentation, everything was a mess. HCP application was not working anymore, we had no backup of the working version from the first day, and we had SAPUI5 screens populated with only hardcoded values. I could see frustration and disappointment from our team members. Anyway, the show must go on, so we presented whatever we had although nothing really worked. As you can guess, our prototype was far inferior compared to others.
No, I’m not about to rant and blame the non-technical people here for what happened. You can always argue that better team management and testing would avoid disaster during our demo but even if we could get everything working, our result would still be very basic, you know, just like a simple Hello World application. However, I do think that a better distribution of technical and non-technical people in each team would reduce the risk of having such a problem. In fact, this was done at my first InnoJam. After topic leaders have been chosen, non-technical participants should be given the first priority to pick a topic/team and they should be spread out across all teams equally. After that, remaining spots in each team can be filled out openly by technical participants. As a result, the teams will have a good, equal mix of technical and non-technical people. We will also be able to avoid having non-technical participants together in one or two groups. Moreover, technical people who want to choose the topic or other persons they want to work with, can do so.
I think this would be much better for everyone. The technical members don’t have to worry over the lack of resources, and they can even help mentoring the non-technical ones. The non-technical members, on the other hand, can start small in programming. They don’t have to handle a huge task straight away. Also if anyone comes across a problem, the team will have more chance to discuss and solve it within the team, without having to hassle the product experts again and again.
If the non-technical members don’t feel comfortable with programming, that will be fine too. They can contribute in other ways such as manage design thinking process, build reports using Lumira, generate dummy data for testing, etc.
I am aware that InnoJam is a coding challenge contest and technical skills are highly required to become a serious contender. However, we can’t prevent the non-technical participants from registering for the event and I personally do encourage non-technical people to participate. Diversity is one of important aspects in effective design thinking, and this aligns nicely with the real purpose of InnoJam: finding the most innovative solution to real life problems. But again, I think more equal mix of members in each team will bring most benefit to each team and team member.
Feel free to provide any feedback and by the way, thank you to Field Management team of SAP InnoJam Berlin 2014 for all your hard work! I knew that our demo was far inferior than others and I am sorry that our demo was a disaster but I am proud of our efforts anyway. Oh, congrats for the winner anyway, you guys deserve it.