It’s pretty easy to throw some software together. Almost anyone can do it. Simple tools, Drag&Drop screen designers, sample databases, etc. make creating a software app just a few mouse clicks away.
I used to work with a sales guy whose family owned a sheep farm that he helped out with on occasion. After getting a bit frustrated with how disorganized his family was about managing their sheep, he decided to do something about it. So after reading a couple blogs, he bought a “For Dummies” book and taught himself VB. He hooked it up to an Access database and in a few weekends he had built a sheep-tracking system. Bam, just like that. Easy. Even a sales guy with a mere hint of technical aptitude can write software.
As it turns out, lots of non–technical people dive into the software game. After all, how hard could it be? If you can’t do it yourself, you just hire some developers, tell them what to do, and they make it work. Easy.
It’s interesting in a way, that there are so few barriers inhibiting inexperienced people from launching a software initiative. In their mind, it’s just a few screens, buttons & graphics – it just doesn’t look that complicated. Even if it’s a highly-integrated enterprise system that is connecting multiple disparate systems, performing complex business queries & algorithms and accessed by thousands of concurrent users – it’s still, at the end of the day, just a few screens & buttons. Because that’s all they see.
The odd thing is, those same individuals wouldn’t dare dive into leading-up the design & construction of a 90-storey high-rise building without experience. It’s clear why: a high-rise is more visual, physical and the obvious immensity of it is intimidating. They know you can’t just go hire a bunch of cement workers, plumbers & electricians to “Go build me a High-Rise!” But somehow this happens all the time in software. Curious, isn’t it?
So, to start a discussion around this pervasive problem, I thought I’d put together my Top 5 Rookie Mistakes that both inexperienced and experienced people make in software. There are a lot more than 5, but I thought I’d try to stop there.
I have to caveat the perspective a bit. There are many rookie mistakes made in an organization that don’t have a direct relation to the software/technology areas (marketing, sales, business development, finance, operations, etc.). I’ll leave discussions around those to the experts. I also refer a lot to product and market. Regardless whether the software is to be delivered as an internal or commercial product, these rules are the same.
Also, there’s nothing wrong with being a rookie or the new guy. The rookie is usually the person with the most energy and enthusiasm for an initiative; and is driven by a vision. He/she isn’t jaded by mistakes & failure and can often become the true source of life for a project. The intent here is to help to avoid common mistakes and pitfalls of that role; not to criticize the rookie.
So, here goes. The Top 5 Rookie Mistakes in Software. I’ll stagger them out over the next few days. This is, after all, an agile effort.