Enterprise gamification for Software development companies
Join the DZone community and get the full member experience.Join For Free
Software development is a sophisticated work which demands lot of control on the time and cost parameters for success. It’s often surprising that software companies follow best practices, have quality certifications like ISO, SEI etc, use PMBOK®, have an array of techniques for controlling quality, risk, budget, schedule, and scope but still their projects fail due to cost and time overruns. As per HBR survey, the average project overrun in IT is 27%, 17% projects have a cost overrun and a schedule overrun of almost 70%.
Enterprise gamification could help software companies make their software teams more engaged & collaborative to save time & resources and build better products. Here are the areas it could add value…
Not reinventing the wheel again/ Code reusability
Everyday thousands of lines of code are written by software engineers in diverse platforms and languages. Software techies study, spend hours and days to build ‘logic’ and write codes. Once the project is over all these resources become a part of the colloquial ‘dump’ spread across locations & geographies. A major challenge for the software companies is how these resources could be reused in future. Software developers have to reinvent the wheel often as finding the right algorithms and piece of code is difficult. This challenge could be addressed with gamification and big data. Gamification could motivate people to share their inputs on how they solved similar problems in the past. Big data analytics could further identify specific codes/resources from petabytes of old projects data. A collaborated effort to reuse both code & knowledge could save time, resources and reduce cost.
Building powerful technical community
Agile methodology proposes collaboration between self-organizing, cross-functional teams for better results in software development. However, software engineers in companies (even with more than 50k of head count) often search Google, LinkedIn groups, books, external forums for their technical queries when the knowledge is very much available within the enterprise itself. The participation in the internal technical communities in most of the software companies is quite low. Problem is people get paid for only what they build and there is no recognition for what they share. A gamified environment could motivate people to share, participate and engage better. This would help a developer get his queries resolved/ get new ideas from geographically dispersed teams within the enterprise.
Following best practices
Software development is a process driven work. It involves various best practices across the analysis, design, coding, testing and maintenance phases. It’s critical that software engineers follow the best practices, process frameworks and development models to ensure quality in software. Especially areas like quality & change management are critical for project success as rework/ modifications are difficult and costly. Gamification could motivate engineers follow the process and be aligned to standards. They could be rewarded when they adhere to & follow the steps defined in the framework. For instance ‘points’ could be awarded to all employees who have watched the ‘video’ and signed the “BYOD security guidelines”. Gamification could help a software company become highly process oriented and compliant to standards.
Building a ubiquitous Learning environment
Software development and learning go hand in hand. Software engineers have to sharpen their axes on the latest in technologies regularly.They have to master new technologies, refresh the existing ones and learn all that is necessary to deliver the right solutions. This is possible through a ‘gamified social learning platform’ and not by the traditional classroom training. Gamification could motivate the software developers take the right training courses and also share & recommend courses for others.
Making the knowledge portals work
IDC estimates that the average worker spends up to 35% of his time just looking for information. Software companies too have communities, portals and the ESN for the engineers to access relevant content which they may need during software development work. The portals and content ‘box’es within the organizations often lack relevant material.
That’s the reason people prefer to get such content over email from others instead of searching them internally. Since no value is seen, employees hardly share anything on the portals/ communities. Enterprise gamification could motivate teams to submit and share content for all to use.
Recognizing & identifying technology/ domain experts
While expertise is critical, there are usually no formal/ proven ways to identify experts in a software company. Much is based on generic certifications, word of mouth or personal perceptions. Badges & leaderboards could help experts get recognized so that they could be identified and roped in for new projects/assignments.
Recognizing the unsung heroes
There are many who contribute in the success of a software project but are often left unrecognized. Gamification could help in recognizing and motivating such people. Remember the ‘techservices’ guy who solves your problems (even during the wee hours) when you are at the customer sites. He too deserves a small medal on his lapel. This will motivate him to do a better job next time.
Gamification could help in building the ‘engagement loyalty’ much needed for success in software project management. Gamification could help barrel through problems related to stakeholders disengagement. Gamification is “the use of game elements and game design” in non-game contexts. Business challenges like customer retention, employee engagement, enhancing productivity & revenue etc. could be effectively addressed using enterprise gamification.
Opinions expressed by DZone contributors are their own.
8 Data Anonymization Techniques to Safeguard User PII Data
IntelliJ IDEA Switches to JetBrains YouTrack
How To Scan and Validate Image Uploads in Java
How to Optimize CPU Performance Through Isolation and System Tuning