Article Preview
Top2. Background Context
Software development is a highly complex endeavor (Clarke et al., 2016) and for many small and very small software companies, implementing controls and structures to properly manage their software development activity is a major challenge (Larrucea et al., 2016). Administering software development in this way is usually achieved through the introduction of a software process. All software companies are not the same and vary according to factors including size, market sector, time in business, management style, product range and geographical location. For example, a software company operating in India may have a completely different set of operational problems when compared to a software company in Canada, Mexico or Ireland. Even within a single geographical area such as Ireland, the range of operational issues faced by a small local Irish-owned firm can be radically different to those affecting a multinational subsidiary. The fact that all companies are not the same raises important questions for those who develop software process and process improvement models. To be widely adopted by the software industry, any process or process improvement model should be capable of handling the differences in the operational contexts of the companies making up that industry. But process improvement models, though highly publicized and marketed, are far from being extensively deployed and their influence in the software industry therefore remains more at a theoretical than practical level (Coleman & O’Connor, 2008a).
In a time when software quality is a key to competitive advantage, the use of ISO/IEC systems and software engineering standards remains limited to a few of the most popular ones. Research shows that small and very small companies can find it difficult to relate ISO/IEC standards to their business needs and to justify the application of the standards to their business practices (Laporte et al., 2008) (O’Connor & Coleman, 2009). Most of these companies don't have the expertise or can’t afford the resources - in number of employees, cost, and time - or see a net benefit in establishing software life-cycle processes. There is sometimes a disconnect between the short-term vision of the company, looking at what will keep it in business for another six months or so, and the long-term or mid-term benefits of gradually improving the ways the company can manage its software development and maintenance. A primary reason cited by many small software companies for this lack of adoption of software engineering standards, is the perception that they have been developed for large software companies and not with the small organization in mind (Coleman & O’Connor 2008b). To date the industrial reality is that Very Small Entities (VSEs) have limited ways to be recognized, by large organizations, as enterprises that produce quality software systems within budget and calendar in their domain and may therefore be cut off from some economic activities.