As I discussed in an interview with a local internet marketing agency, in our experience, there are 5 common software development mistakes people make when managing software projects. If people try to develop software with these misconceptions in mind, often their project will end up failing, by either not meeting the need, going over budget, missing deadlines, or simply never getting done at all.
Common Software Development Mistake #1: “Software is Easy”
Many people think that developing software is sort of like building a bridge. That means that if there is a person out there who is a “software developer”, it’s sort of just like hiring a civil engineer to build your road. Pretty much any engineer out there does a pretty decent job at building roads, or else they would not be in the field. So all you have to do is find the engineer, and he’ll make that road – no problems. Said another way, people think that “Software is Easy”.
But software projects aren’t easy at all – even when you find a good software developer (and believe me, that’s not a given – there are a lot of “Secretly Terrible Engineers” out there), they still might struggle to complete a project, because of a few key problems.
Firstly, software development is ever changing. Developers live in a world of changing needs, and users that don’t know what they need until they see it. It’s part art and part science, and just like any art, it’s hard to put into practice what makes “good art”. Also, every project is unique. With bridge building, there certainly are some special needs where building one bridge is harder than others, but there are many well-established best practices for how you need to approach dirt, sand, bedrock, etc. Software development isn’t always this way – every time a person starts a project, they’re starting from scratch, often with little advice as to where they’re going to end up.
This nature means it is very hard to guess what it’s going to take complete a project. This leads to late nights, which leads to more bugs, which leads to more cost. It can be a vicious cycle.
The truth is, “Software is Hard” (which is a famous quote by Donald Knuth). It’s not easy, and just because you’ve got ten years experience as a developer doesn’t mean you can walk into a project and make it work.
You can’t assume that just because you hired a developer with a decent background, you can throw him into the lion pit and he’ll come out unscathed.
The trick to beating this “hardness” is by managing software the right way. Even the best software developers need a regimented, controlled, and structured approach to developing software. That’s why you need a team with the right approach and tools to manage those projects to success. It takes a planned approach to success, or else it’ll all fall to pieces.