Quality Control or Quality Assurance for Software Development Startups?

Deeptesh Bhattacharya
4 min readJan 20, 2021

It is becoming difficult day by day to manage and sustain the business continuity of a software development organization in today’s competitive world of emerging technologies. From a technological point of view managing the technical capability is still easy and most of the times achievable by scaling up or down as required.

The most difficult or rather challenging task is accomplishing acceptable quality with the ever increasing demand in reduced delivery times, along with the capability to manage regular changes in the requirements as expected by the customer.

That’s where most of the project teams have shifted towards the agile scrum model in order to deliver leading edge solutions below budget and within tight timescales.

With this shift in the approach of software development, managing project deliveries over a short period of time as well as effectively accommodating requirement churns was accomplished but bared the truth of diminished quality of the software as an open challenge to many organizations.

Being a part of the quality assurance group when I interviewed different members of a group engaged in the scrum projects it revealed following facts affecting the quality of the systems delivered.

  1. Even after accommodating the requirement churn the expected results do not map with the customers requirement to the fullest.
  2. Integration testing often compromised for system/user acceptance testing hence resulting into rise in post production issues.
  3. Defects are not detected earlier hence resulting into increased rework cost.
  4. Design issues are identified post production and hence results into increase in change requests.
  5. Shortage in time decreases the morale of the team and hence affects quality due to extended work hours in managing defects.

Few organizations use some of the above revelations as part of their strategic revenue plans. But a few who recognized the severity of risk involved with such strategic planning with regards to the threat it poses to goodwill and credibility, are ready to accept changes to their prevailing system.

Challenge seeps in when a decision is required on what changes are required. Most of the companies are divided in the debate whether there is a need to improvise quality control or implement quality assurance.

Most of the organizations have shifted to CMMi and ISO compliances but still not able to resolve the above vulnerabilities. Reason being most of the QMS implementations not only eat up resources but are highly tiring and complex in terms of roll out. And if the metrics’ are not well defined most of the controls implemented do not reap the expected value. However, there are many factors which pose a challenge to the implementation of an effective quality management system. A few of them are:

  • Management does not insist on compliances to processes.
  • Employees are not convinced of the value of processes.
  • Processes become obsolete if not reviewed on a periodic basis and thereafter not followed.
  • Employees lack training of the processes.
  • Identified measures and metrics threaten employees of their job security.
  • Processes do not focus on the key performance indicators of the organization.

To make any of the QMS implementation it is necessary that the system implementation is sponsored and managed by the top management. This brings more effectiveness in the implementation of a management system.

One of the key contributors in managing Yahoo’s agile methods of engineering, Joe Arnold, Director Agile Methods and Practices has relevantly highlighted in one of his blog’s why the most successful organizations like Yahoo, Google and Microsoft are not ISO or CMMi certified. His perspective is that as these organizations are into product development and as product organizations they manage risk differently than an internal IT shop or an IT outsourcing firm. These companies plan for failure by executing multiple options — build internally or acquire. Competition from startups and other internet companies is fierce. Time to market is critical. Pursuing a CMMI level that would add any costs to product development isn’t acceptable. For example, it wouldn’t be possible for messenger.yahoo.com to catch up to meebo.com if CMMI controls in place. These organizations have to go either fast or faster than their respective competitors.

His suggestion in choosing the correct path is to look at quality assurance from a different perspective. The concept of company-wide process definition is quite different than the pursuit of ISO/CMMI certification. ISO/CMMI doesn’t tell you how to reach a level of certification; it just tells you what you need to do to achieve the desired level. Any organization can do the same by articulating the organization values in any form and percolating it down to the individual teams to figure out how they can be achieved. There is a lot management can do to articulate organization needs by defining and implementing

  • Feasibility analysis and Risk Management Meeting before Kick Offs.
  • Implementing Requirement Traceability and Verification Matrix.
  • Implementing Internal Project Calibration Meetings and Gate Reviews.
  • Automated code reviews.
  • Effective change management controls.
  • Board Review/Management Review Meetings
  • Promoting awareness on organizational objectives.

The objective of achieving quality in this fast paced converging world is not possible if the management is not focused and drives the quality management effort.

As a conclusion to the above facts in my opinion I will suggest that the startups should primarily focus on the way they manage and drive things i.e. they need to have better control over the processes followed for business realizations. Hence, the shift should be towards Quality Assurance.

--

--

Deeptesh Bhattacharya

A DevOps practitioner looking for Sponsored Visa Opportunities in Europe.