While they may be creating software programs for the 21st century, the legions of computer programmers cobbling together tomorrow's 0s and 1s, affectionately known by some as code monkeys, frequently find themselves slaving away in a software development environment from the dark ages. Experts think it's time for them to upgrade their decoder rings.
"The new year is an ideal time for every organization to take an inventory of what is working well and find ways to improve — and there’s no better place to start than at the very foundation of the code," said Randy DeFauw, technical marketing manager at Perforce, a company that provides software version management, a notorious thorn in the side of most developers.
"In my experience with our customers, employing these software practices not only results in fewer issues down the road, but a more manageable codebase as well,” DeFauw said.
Software developers should start out by revamping the way they deliver to be more like Facebook, he said. Facebook leads its industry because it delivers improvements to its site daily. Delivering enhancements and updates quickly will buy companies a considerable competitive advantage.
It's also good for staff morale — nothing keeps developers happier than seeing their code show up as live improvements in the product.
As your company scales in size, it's important to get everyone on the mother ship quickly, DeFauw said. A software company’s two most valuable assets are its employees and its intellectual property. Do not operate them in silos, he said. Instead, reuse intellectual property wherever possible and make sure teams can work with each other. If talent is being acquired by purchasing a startup, ensure their past work can be incorporated into the existing system in a week, not a year.
While the cloud is rapidly become the platform du jour for many developers, look before you leap, DeFauw cautions. The low costs, infinite scalability and minimal administration requirements make the cloud seem appealing to any company. The reality, however, is that performance, ownership and reliability issues need to be considered before deploying to the cloud.
And ward off potential future litigation by studying the America Invents Act. A major change to U.S. patent law is going into effect in March 2013, DeFauw said.
To prevent potential intellectual property lawsuits, it is critical to study and fully understand the nuances of first-to-file, prior use and other looming changes. Have a plan in place for adjusting software processes (from initial design through market introduction) to meet the changing legal framework.
Companies using open-source software should take particular care to ensure they are in compliance with all the licensing and copyright provisions.