QA–QC Arena – Software Testing Home for beginners and experts

Quality is everyone's responsibility.

 
Generally, it’s observed that the Software Testers are the ones who held solely responsible for the Software Quality. However, this mindset needs to be changed as everyone (Product Owner, Scrum Master, Developer, Tester, and other stakeholders including Business Team, Change Control Team, Security Team, & Architecture Team) can contribute to Software Quality in several ways.

Product Owner –

  
By doing below tasks religiously Product Owner can contribute to Software Quality.
  • By having a clear understanding of the User requirements (this is highly important as this drives the whole Software Development and Testing Life cycles).
  • By prioritizing the Product Backlog items (with an appropriate thought process).
  • By providing the detailed and clear requirements/user stories (again; this is very important as requirements are the baseline for Developer and Tester to understand the System).
  • By making sure that requirements are not confusing and they are conveying the correct messages.
  • By clarifying all the doubts appropriately in a timely manner and keeping everyone in the team on the same page.
  • By executing some critical business workflows in the Test environment and providing the inputs to the Development Team (Developers and Testers).

Software Developer –

 
By doing below tasks religiously Software Developer can contribute to Software Quality.
  • By making sure that they have a clear picture of the System and all their doubts are addressed by the Product Owner.
  • By making sure that all the technical challenges are discussed and solutions are in place.
  • By doing the impact analysis appropriately; especially in the Maintenance projects.
  • By following the coding standards and guidelines, performing code reviews.
  • By focusing on Unit Testing and at some extent Integration Testing.
  • By executing some business workflows in the Test environment (which will be certainly helpful to gain the confidence in the system as well as increasing the Product knowledge).

 
Scrum Master – 
 

Besides the regular responsibilities (i.e. being a servant Leader, Facilitator, & Coach for the Scrum Team); by doing below tasks religiously Scrum Master can contribute to Software Quality.
  • By making sure that each individual in the team is following the Processes (as if there is Quality in the Process then it is easier to enforce a Quality in the Product).
  • By executing some business workflows in the Test environment (which will be certainly helpful to become comfortable with the system workflows and to address any impediments that Scrum Team has).

Software Tester –
Of course; Software Tester plays a vital role in Software Quality. However; regardless of the methodologies (Agile/Waterfall) if the other stakeholders (as mentioned above) are also contributing to the Software Quality then Software Testers effort becomes more meaningful and they indeed value add to the Software. Remember; Software Testing is a journey to achieve the Quality.

Working as a Scrum Master?


In the real business scenario most of the times it happens that Scrum is not followed appropriately. Organizations start customizing the processes as per their needs (sometimes for valid business reasons). Below are some of the examples.
  • All the Scrum Team members are not aware of Scrum theory, practices, & rules.
  • Product Backlog items are not prioritized appropriately.
  • Product Backlog items are not clear and concise.
  • Development Team is not having all the skill sets required for a Project.
  • Scrum Events are not time-boxed. E.g. a Daily Scrum meeting takes more than 1hr. instead of 15 minutes.
Remember; either you follow a process or you don’t follow a process, there is nothing in between. So if you are looking for the benefits from a specific Process or Framework or Methodology being used to achieve Project success; then it is highly important that you understand, adopt, and practice the respective Process or Framework or Methodology.

If you are working as a Scrum Master and want be a true servant Leader, Facilitator, & Coach for your Scrum Team; then you should be answering below questions frequently.
  • Does your Scrum Team understand and adheres to Scrum theory, practices, and rules?
  • How do you help the Product Owner in identifying effective Product Backlog management techniques?
  • How do you ensure that the Product Owner has prioritized the Product Backlog items?
  • How do you ensure that the Product Backlog items are clear and concise?
  • How do you ensure that the Development Team is self-organizing and cross-functional?
  • How do you help the Development Team in identifying an Estimation Technique?
  • How do you rectify the impediments to the Development Team’s progress?
  • How do you ensure that the Scrum Team has a productive work environment?
  • How do you help the Development Team to create high-value products?
  • How do you facilitate the Scrum Events and ensure that they are time-boxed?
  • What you do to maximize the value created by the Scrum Team?
Answering above questions will remind you about your responsibilities being a Scrum Master. It’s a kind of checklist that you can refer to.

Quality Assurance–Quality Control – Certifications (Part 1)


As we make progress in Professional Career it is highly important to keep ourselves up to date with the industry. Learning new Tools and Technologies, attending Meet ups, Conferences, joining discussion forums, taking Certification exams and having essential credentials are a few of the ways to accomplish it.
Identifying an appropriate Certification is as important as becoming a Certified professional. In general; below are a few of the reasons why people want to become a certified professional.
  • To get good Appraisal
  • To get Promotion
  • To increase job opportunities
Everyone has one or all of the above goals while taking a certification and nothing wrong with it. :) However; there are more things we should keep in mind while planning for a Certification.
  • Area of interest (Technical/Functional/Management)
  • Career goal and relevant plan for next 3-5 yrs.
  • Total yrs. of experience
  • Which Certification is really in line with area of interest, career goal, and experience?
These points are definitely helpful to ensure that we adhere to our career goal. We shouldn't plan for a Certification just because someone is suggesting for it or someone has done that Certification.
Below are the Certifications a Software Testing professional can go for. Every certification mentioned below has certain features, requirements, and benefits.  

Certifications by ISTQB (International Software Testing Qualifications Board) –
Foundation Level Certification –
Agile Tester Extension –
Model–Based Tester Extension –
Advanced Level Test Manager –
Advanced Level Test Analyst –
Advanced Level Technical Test Analyst –
Expert Level Test Management –
Expert Level Test Management –

Certifications by QAI (Quality Assurance Institute) –
Certified Associate in Software Testing (CAST) –
Certified Software Tester (CSTE) –
Certified Manager of Software Testing (CMST) –
Certified Associate in Software Quality (CASQ) –
Certified Software Quality Analyst (CSQA) –
Certified Manager of Software Quality (CMSQ) –

Certifications by IIST (International Institute for Software Testing) –
Certified Software Test Professional Associate (CSTP-A) –
Certified Software Test Professional Practitioner (CSTP-P) –
Certified Software Test Professional Master (CSTP-M) –
Certified Agile Software Test Professional Practitioner (CASTP-P) –
Certified Agile Software Test Professional Master (CASTP-M) –
Certified Software Test Automation Specialist (CSTAS) –
Certified Mobile Software Test Professional (CMSTP) –
Certified Software Quality Manager (CSQM) –
Certified Test Manager (CTM) –

Certifications by ASQ (American Society for Quality) –
Certified Software Quality Engineer (CSQE) –

Certifications by iSQI (International Software Quality Institute) –
Quality Assurance Management Professional (QAMP) –
Test Maturity Model Integration Professional (TMMi) –
Mobile App Testing - Foundation Level (CMAP) –
Mobile App Test Automation (CMAP) –

In my future post (Part 2 of this); I will address Tools, Process specific Certifications.