• ITVidya.com One Purpose...One Dream...One Vision..One Mision..Your Wealth Creation through Knowledge, Networking and Opportunity

Why do we need Standards in Software Development

Why need Software Standards...?
[Copyright © DEEPAK JAIN]

According to Martin Fowler (Editor IEEE Journals), Modeling methods in past were not very formal affaires. Definitions were left to intuition, and there were many gaps. People with a formal methods background criticized these methods for software projects. They argued that the lack of rigor meant to too much ambiguity. But the reality is that many people found that despite this lack of formality, the informal methods were generally more useful and fast resulting than the formal methods. In practice it seems that informality is an advantage.

But for development projects of increased complexities and huge size, informalities proved to be major reasons of failures. When the work was distributed in multiple teams, they could not interrelate and integrate their individual work products because of uncommon assumptions and bases of developments. Not following standards of work and strategically themes threw them into pits of failures and crisis. Slowly, the developing industries realized the need of formal processes of development and they developed these processes as per their experiences in their fields.

Further, the ongoing increase in size and complexities of the software projects forced them to come on a common platform to work. Now, when the development processes have crosses the boundaries of continents, organizations found need to work with some formal standard definitions and development criteria in order to be able to integrate their individual efforts at any level or step of the project. It led to redefining of processes into new improved standard processes. ‘Standard’ also creates a comparison of measurement of the software for ranking it for its quality and also to solve the disputes of delivery hence provides a better control over the product and process.

Many software organizations today are endeavoring to improve their software development processes to improve product quality, project team productivity and reduce development cycle times, thereby increasing their competitiveness and profitability. Software Engineering Institute (SEI) sparked the awareness regarding software process improvement, with the release of its original software process maturity model. Following the advice of the SEI, many software organizations initiated software process improvement efforts to improve the quality of their products by improving the processes that produce those products.

According to Kevin Hyde and David Wilson, CMM-based software process improvement may deliver both tangible and intangible benefits to an organization. Survey-based research was conducted in the development organization during the early 2000s to find out from software professionals if they believed the intangible benefits were being realized. The survey results showed that the organization had experienced improvements in the quality of work life, organization communications, organization learning and efficiencies, the ability to attract, retain and develop software professionals and the coherency of its organization culture.

All these results indicate towards the prominent need of a standard for development and measurement of the software for its size, complexity, costing, and quality attributes. A formally defined standard is also required to control the development-process so that if a group violates the standard, a release could be 'prepared' by another group.