At Inverted Software we often help our clients manage offshore and onshore development teams.
Our proprietary processes and unique experience helps us evaluate and correct software development practices that have proven inefficient and instill practices that insure productivity and success.
Below we have compiled the 3 most common issues developers tend to generate when left unsupervised and ways to mitigate their impact:
Checking code at the end of the day
“But it worked on my machine” is the most common answer from any developer that ever “broke the build”.
From individual files that were not checked in as a part of a changeset to configuration or dependencies that only work on local machines, lots of things can go wrong when a developer checks in code to a repository.
Unfortunately, most developers tend to check in code at the end of their work day.
I once had a developer that finished his day at 3PM. He routinely checked in his code and then left for the day. He would often break the build, so around 3:15PM the entire development team would start getting warning emails and would be unable to deploy. The unlucky ones would miss the emails and accidentally get the latest code base into their local machines. Off course now they were unable to compile the software locally and were forced to blindly code until the end of the day.
Confronting the developer did not solve the issue, so we started calling him back into the office to fix the build, which when you live in Los Angeles, is about a two hour drive.
By the time he had made his way back to the office for the second time, the problem had resolved itself.
He had started checking his code 30 minutes earlier and have verified the continuous build still compiled successfully before he left for the day.
Experimenting with Bleeding Edge technologies
Developers love to experiment. They learn and try new frameworks and technologies and often get excited about the possibilities of incorporating technology they deem cool into their code.
This can create some serious issues for you as most new frameworks out there never make it past a Beta stage or version 1.0. Security, scalability and support are not a priority for their creators and might never be.
It’s easy to get caught up in a hype about a new slick product. Its harder to insure this product can successfully power parts of your software and business for years to come, be compatible with future updates and can be maintained by different developers.
A good Software Architect should be able to perform the due diligence, research each technology deeply and come up with a recommendation that is specific to your needs.
Miscalculating Financial Data
This might be the most major issue developers inadvertently create, but, ironically is the hardest to detect.
Imagine your sales reps getting underpaid, or even worst, overpaid on their commissions because of a developer neglecting to convert one data type to another or rounding a temporary result variable when they needed to round the result at the end of the calculation.
Imagine your customers getting invoices that are off by just a few Dollars or Cents. How would that effect your bottom line?
This can be the difference between a winning business and a losing one.
How would you detect and correct such a development issue?
There is no replacement for good Quality Assurance. In fact, Inverted Software is often hired to perform QA in our customer’s systems.
If you are utilizing software development teams and are encountering timeline delays, budget overflows and quality issues give us a call at: 818.262.8552 for a free consultation and let us help you get back on track!