In my experience working with ISV’s, product development companies, and Software Service ProvidersĀ I find that 90% of the time there is no well defined software development process. This leads to inefficiencies and it costs money and time to correct these inefficiencies. A well formed software development process is a key contributor to the success of the product and the company.
I believe that there is no one process fits all. A process needs to be customizable to fit the organizations product needs and also needs to be aligned with the marketing and sales strategy. The last thing you need to have is a process that becomes a bottleneck. A process that is not customizable and flexible is as good as not having a process.
Characteristics of a well formed process is to be flexible and should be able to be customized to suite the companies development and release strategy which should be aligned with the marketing and sales. I find that early stage software product companies do not investĀ time in formulating a well balanced process and I have seen over and over again this lead to inefficiencies and it costs time and money to the company to correct these later on.
Software service providers can benefit by having a well defined process to efficiently deliver high quality software services to their clients. A well defined process not only improves efficiency it also improves the overall quality of the final product or delivery.
I am a strong believer that a process should also contain industry best practises and conventions. These best practises and conventions will help the software development life cycle and also will produce higher quality software with less bugs in a short period of time. Investing on a well defined process will pay off in the long run.
I am a firm believer that the software industry can achieve the efficiencies of an automobile manufacturing company with a well defined process. I have seen true success stories where a well balance process has lead to better productivity and higher quality. Investing time and money on a process is critical and this can save time and money in the long run.