One of my good friends recently changed jobs. For several years he was working with a fairly large software developer that loved to boast that they always had positive margins, always showed growth. I guess it isn’t too hard when you create nearly fixed cost products that can be resold over and over.
From my conversations with my friend I learned two things that I found very odd. The programs they created were never based on a researched business need or market analysis and none of the programming they did was based on documented requirements. Sometimes they created programs just because a sales person for a group said that he would buy it if someone made it. The worst of the stories involved having him program an add-in for an accounting software suite to integrate with an online sales platform. That doesn’t sound bad, except that they were going to charge for this add-in when the makers of the accounting software already offered the same product for free. I still can’t fathom how they weren’t losing money by just creating software for anything and everything, that they never made a business case for these programs. One of his ‘perks’ was that he had customer interaction by doubling as a customer support specialist for the software he created. Whenever he completed his sprint tasks ahead of time and was working with customers to fix bugs, he would get bored and ask them what they wanted the software to do. Then he coded it in. Otherwise, the customer’s needs never really got documented. However, he now works for a video game company here in Austin. A funny side story is that he actually had some fans of the company come up to him and ask if he worked for them and if he worked on their favorite game because of his company hat.
Several days into his employment he called me up and asked a few questions that made me chuckle.
“Hey, so what is this user story everyone is talking about?”, “Oh man we have a ton of meetings to decide what our programs do before we code them”, “So this is what you do? I love what you do!”, or “These wireframe things are awesome, I’ve never used them before!” The juxtaposition of his two roles is amazing.
Now when I relax on the weekend by playing a game or two I can’t help but think about all the requirements and documentation that went on in the background to make this piece of fun entertainment. Just like all the e-commerce websites, logistics systems, and loan originations software I have documented that was real serious business. Yup, even the game makers get it.