Wednesday, April 27, 2016

Lessons Learned in Software Dev

Having experience with three software companies over the last 25 years I have seen a great deal of change in processes these companies employ to reach the market place.  Stating that the change has been huge is an understatement.  These organizational shifts or lessons support smart, connected products and fall into five categories:

1.   Shorter development cycles.  Remember back in the day where software releases were once a cycle or if really good, once a quarter.  The software industry has moved away from periodic product releases, to smaller, incremental releases of upgrades and enhancements.  This change allows software providers to  get products to market more quickly, and respond to client needs faster.   Agile product-development processes where daily collaboration between developers and marketers, weekly delivery of enhancements, continued course corrections, and ongoing testing of client satisfaction are emphasized has become best practice for the industry.

2.   Product-as-a-service business models.  Software companies are transitioning to service-oriented business models.  Clients buy software on a subscription basis, paying only for what they need when they need it, instead of buying “shelfware” that sits idle.  This turns the product into an operating, rather than capital expense, and hugely simplifies deployment (which happens via the cloud).  To support this software model companies,the good ones,have learned the value of tracking client usage and satisfaction.

3.   Focus on client success.  The advent of the software-as-a-service models has led to the creation of client success organizations inside software companies. Given the ease that clients an change vendors,  ensuring that they receive ongoing value from products is critical.  Many companies now deploy client engagement teams dedicated to pursuing that goal. and its importance has even created a new seat in the boardroom for a Chief Client Officer. 

4.   Products part of broader systems.  Most software is distributed as part of a large “stack” of business tools, whose value is enhanced by its integration.  Successful software companies often provide application program interfaces and other tools that enable easy integration of their production with third-party software.  In addition, software companies often create user communities designed to create new uses for their products.

5.   Analytics as a competitive advantage.  Software companies routinely use analytics to drive results, especially in e-commerce with companies with an ad revenue generating model use analytics to dish up ads at the right time when viewers are most likely to notice and  act.  In  addition companies are mining data to determine those bugs that are having the greatest impact on clients.

No comments: