About HALO SE
HALO, or Highly Addictive sociaLly Optimized Software Engineering, represents a new and social approach to software engineering. Using various engaging and addictive properties of collaborative computer games such as World of Warcraft, HALO’s goal is to make all aspects of software engineering more fun, increasing developer productivity and satisfaction.
HALO represents software engineering tasks as quests and uses a storyline to bind multiple quests together – users must complete quests in order to advance the plot. Quests can either be individual, requiring a developer to work alone, or group, requiring a developer to form a team and work collaboratively towards their objective.
This approach follows a growing trend to “gamify” everyday life (that is, bring game-like qualities to it), and has been popularized by alternate reality game proponents such as Jane McGonigal.
These engaging qualities can be found in even the simplest games, from chess to tetris, and result in deep levels of player immersion. Gamification has also been studied in education, where teachers use the engaging properties of games to help students focus.
We leverage the inherently competitive-collaborative nature of software engineering in HALO by providing developers with social rewards. These social rewards harness operant conditioning – a model that rewards players for good behavior and encourages repeat behavior. Operant conditioning is a technique commonly harnessed in games to retain players.
Multi-user games typically use peer recognition as the highest reward for successful players. Simple social rewards in HALO can include titles – prefixes or suffixes for players’ names – and levels, both of which showcase players’ successes in the game world. For instance, a developer who successfully closes over 500 bugs may receive the suffix “The Bugslayer.” For completing quests, players also receive experience points that accumulate causing them to “level up” in recognition of their ongoing work. HALO is also designed to create an immersive environment that helps developers to achieve a flow state, a technique that has been found to lead to increased engagement and addiction.
Our current implementation of HALO is a plugin for the eclipse IDE. We have positions available for students at multiple levels – interested students should view our project student ads.
We have positions available for students at multiple levels:
- We have positions available for introductory computer science students (with general familiarity with Java) who are creative and are able to develop game-like content (stories and to some extent, artwork). These positions will have limited programming required.
- We have positions available for advanced computer science students (with extensive familiarity with Java and J2EE) to continue to build our HALO system. Applicants for this position must have experience with EJB and Java Web Services.
Contact: Jonathan Bell (email@example.com)
Prof. Gail Kaiser, kaiser [at] cs.columbia.edu
At SSE 2011
At GAS 2011