January 16, 2013

Six Resolutions for Software Companies

What's New

happy new year 2013The new year brings with it a chance to step back and take a look at the good and the bad, and make appropriate adjustments (or at least try for a few weeks). This annual re-examination, of course, not only applies to people but companies as well. To help guide this process, we came up with six resolutions for software companies to maintain well organized codebases and improve development practices in 2013. From taking Agile cross-functional to thinking before leaping to the cloud, here are some things for you to consider.

  1. Deliver like Facebook: Facebook leads its industry because it delivers improvements to its site daily. Replicating this strategy is recommended, and easier to do now that the software tool stack can match that velocity. Even if companies are not building a Software-as-a-Service (SaaS) offering, product can still rapidly evolve internally without being formally released to customers. Harnessing the ability to deliver enhancements quickly will buy companies a considerable competitive advantage in their respective sectors. Added bonus: nothing keeps developers happier than seeing their code show up as live improvements in the product.
  2. Take Agile cross-functional: Agile isn't just for developers anymore, and companies should not limit its use to their software teams. DevOps was all about bridging the gap between development and operations, and companies will find greater success if their entire team is responding as quickly to new requirements as the development team. Consider introducing agile project management to non-techies such as Sales, Marketing and Human Resources teams.
  3. Get everyone on the mother ship quickly: A software company's two most valuable assets are its employees and its intellectual property. Do not operate them in silos. Instead, reuse IP 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. Let them keep using the tools they are accustomed to, even if it means running something more enterprise-ready in the background.
  4. Look before leaping into the cloud: 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. If employees are asking for a cloud-based solution, figure out why. Do they want Dropbox because there is no decent place to store their design documents and test plans? That can be fixed without cloud services.
  5. Be realistic: Engineers are practical people. Lay out clear goals with a reasonable time frame. If current delivery cycles are a year, they cannot be shortened to a week overnight. However, reducing the timeframe from a year to three months is indicative of significant progress and achieves buy-in for the next step.
  6. Study the America Invents Act: A major change to U.S. patent law is going into effect in March 2013. To 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.