I now make games, but I have a background in software development with a specialization in usability design for huge software projects. Porbably because of my long standing love for games, I guess I've always thought of software in terms of gamification, but I have a simpler view. It looks a bit like this:
Watch carefully. What you see is a bunch of people working hard to create something great. Pretty much like work should be, don't you think?
The difference, however, between building amazing things in Minecraft and actually going to work and manifesting your skills in a professional team is that the Minecraft players are having fun. All of them. And if you think about it a little, Minecraft's creative mode is a sortof 3ds Max for newbs with a bonus for collective use.
I have always perceived work as a professional manifestation of my passion, where I get better at precisely the skills I most love to use in my life. I know I am one of the few fortunate people who do exactly what they want to do, but in the end, they say "choose your career" for a reason and that's a different topic anyway.
My point is that I have never excluded fun from work, in fact I expect and promote it, but it seems to me that the real world somehow has a different view. Business is mainly not fun. Most professional software can take years to learn and has a tendency to provoke serious headaches when first accessed.
My little Minecraft example depicts a community united by a common goal, one - I'd bet - they all dream of, one that cannot be accomplished by one person alone. It is a simple vision accomplished through a complex process and, trust me, what they do is tedious and hard and not always as clear as it seems.
In a work environment, I wouldn't like to question the vision of a product and the willingness of everybody to accomplish it; I sort of take that for granted. But HOW you get there as a community with different skills, personalities and job responsibilities - it needs to be simple, accessible by all, helpful, clear, and to show progress in an upfront manner. And I believe you can unite a group with the help of a tool just like the people in my Minecraft example are united by the game.
Games are designed with ease of use in mind (well, some are, and all should be). You do not expect a gamer to work hard in order to learn and master your game, but instead you plan things up with ease of use in mind and carefully designed difficulty progression, so that when stuff gets "serious", you can be certain your player is "equipped" with everything he needs to know in order to overcome the challenge.
As a bonus, you ponder various reward mechanics to let the player know he's doing good, or help him if he's doing bad, and take any opportunity you can to congratulate and encourage him to explore your game farther.
So why shouldn't professional software be designed with the same philosophy in mind? You can call it gamification if you will, or peekaboo if I will, but any software developer should consider their users like a game dev considers his players, and should present his product in a easy to use manner, progressively.
Unlike games, software developers have an ever bigger incentive to do that: any professional software that is easy and pleasant to use saves time and allows its' users to actually concentrate on the end result of their work, on that single, precious vision. Upfront shown progress and clear, visual feedback are ways to tell your user whether he is getting the most of the things your software can offer. And they can also offer an opportunity for fun. Don't you want your users to feel good when they use your software?
With this in mind, I want to argue that many game developers take the hat of tool developers sometimes in their career. And this is the first software branch I'd expect to see this mystic gamification applied on, yet, surprisingly, the development tools I came in contact with are by far the most fearsome, grey and cryptic pieces of software I have seen. Most of them are developed on the go and quickly, because The Game always takes precedence, so the reason for their ugliness is obvious.
But how much money and time would a good, easy to use, fun tool would save for any studio? How cool would it be, for example, to implement trainig mechanics for an internal tool that would make the first days of a new hire a pleasant experience? How much more would the collective creativity gain if everybody had a better understanding of everybody else's work? Shouldn't game developent primarily be fun?