IS YOUR CMMI ADOPTION ENSURING PRODUCT QUALITY?

IS YOUR CMMI ADOPTION ENSURING PRODUCT QUALITY?

systems/application becoming more and more complex and larger, the quality of the underlying software is essential for business success. The critical nature of software systems and also user expectations has increased enormously and become significant part of success. With increasing demands of web & cloud applications, companies are facing major challenges in fulfilling various aspects of product quality (quality attributes e.g. portability, compatibility, performance, flexibility, security etc.), which has evolved exponentially.

Following are the key expectations of a User:

  • Interactive customer software should cater to high needs of usability and co-existence (interoperability)
  • Internet and open source systems should cater to high needs of security and interoperability
  • Mission critical systems should cater to high needs of functional correctness and reliability.

The fundamental aspect of quality differs to each stakeholder as,

  • Software systems/application have many stakeholders including those who develop, acquire, use, or who are customers of businesses using these systems/application. (Refer Software Quality Requirements and Evaluation SQuaRE, defines systems’ quality as “the degree to which the system satisfies the stated and implied needs of its various stakeholders.)
  • Product specifications and quality in use of software systems/application is a key factor in ensuring value to stakeholders

CMMI defines Quality attribute as “a property of a product or service by which its quality will be judged by relevant stakeholders”.

Quality attributes are characterizable by some appropriate measure. Quality attributes are non-functional, such as timeliness, throughput, responsiveness, security, modifiability, reliability, and usability. They have a significant influence on the architecture.

Software quality attributes are the most neglected category of overall project scope on software projects, and finally result in system failure in terms of delivering the stakeholder value

During various client engagements, I observed following typical challenges,

  1. Inadequate requirements elicitation – During requirements gathering session, most focus was given in collecting and understanding functional requirements only. Though SRS template has a section for Non functional requirement, it was not populated in some projects. In some cases, nonfunctional requirements are collected at qualitative level. For e.g. we expect web portal to respond fast. This was not elicited further to understand what is fast? (6 sec, 6-mili sec, 6-micro sec etc.)
  2. Lack of Business Analysis skills – BA (business analyst) was not aware of non-functional requirements, as there was lack of domain skills and experience.
  3. Difficult to implement & test – though some project teams are aware about non-functional requirements but it was difficult to implement and even test them.
  4. Lack of acceptance criteria – customers with assumption that everybody knows and it is common sense. Do often not specify quality attributes.

Organizations, which have adopted CMMI model, and sustained best practices, have greater chance to avoid such challenges and successfully deliver systems/applications according expectations of relevant stakeholders. Refer following table showing CMMI Process areas (specifically engineering PAs) and corresponding specific practices and sub practices ensure consideration of quality attributes.

Organizations, which have adopted CMMI model, and sustained best practices, have greater chance to avoid such challenges and successfully deliver systems/applications according expectations of relevant stakeholders. Refer following table showing CMMI Process areas (specifically engineering PAs) and corresponding specific practices and sub practices ensure consideration of quality attributes.

Add a Comment

Your email address will not be published.