LayoutTitle

Hoverable Dropdown

Sunday, September 28, 2025

Playwright with JavaScript/TypeScript – Complete Setup Guide

 

1. Installation & Prerequisites

🔹 Prerequisites

  • Node.js (≥16.x) → Download

  • npm (comes with Node.js) or yarn

🔹 Install Playwright Project

# Create new folder mkdir playwright_project && cd playwright_project # Initialize npm project npm init -y # Install Playwright Test (JS + TS support built-in) npm install -D @playwright/test # Install browsers npx playwright install

✅ This sets up Chromium, Firefox, WebKit for Playwright.


2. Configuration

🔹 Project Structure

playwright_project/ │── tests/ │ ├── example.spec.ts │── playwright.config.ts │── package.json │── tsconfig.json

🔹 Create Playwright Config

playwright.config.ts

import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './tests', timeout: 30 * 1000, retries: 1, reporter: [['html', { open: 'never' }]], use: { baseURL: 'https://www.google.com', headless: true, screenshot: 'only-on-failure', video: 'retain-on-failure', }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, { name: 'firefox', use: { ...devices['Desktop Firefox'] }, }, { name: 'webkit', use: { ...devices['Desktop Safari'] }, }, ], });

🔹 Add TypeScript Support

tsconfig.json

{ "compilerOptions": { "target": "ESNext", "module": "CommonJS", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "outDir": "dist" } }

3. Development (Writing Tests)

🔹 Example Test (TS)

tests/example.spec.ts

import { test, expect } from '@playwright/test'; test('Google search example', async ({ page }) => { await page.goto('https://www.google.com'); await page.fill('textarea[name="q"]', 'Playwright Test Automation'); await page.keyboard.press('Enter'); await expect(page).toHaveTitle(/Playwright/); });

4. Execution & Reporting

🔹 Run Tests

# Run all tests npx playwright test # Run in headed mode (visible browser) npx playwright test --headed # Run specific test file npx playwright test tests/example.spec.ts # Run with Chromium only npx playwright test --project=chromium

🔹 Open HTML Report

npx playwright show-report

5. Jenkins CI/CD Integration

🔹 Jenkins Prerequisites

  • Install Jenkins (Download)

  • Plugins: NodeJS, Git, HTML Publisher

🔹 Jenkins Job (Pipeline)

  1. Create a Pipeline job in Jenkins.

  2. Configure NodeJS tool installation (global config).

  3. Add Jenkinsfile to your repo:

pipeline { agent any tools { nodejs "NodeJS_16" // Configure this in Jenkins } stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/your-repo/playwright_project.git' } } stage('Install Dependencies') { steps { sh 'npm ci' sh 'npx playwright install' } } stage('Run Tests') { steps { sh 'npx playwright test --reporter=html' } } } post { always { publishHTML(target: [ reportDir: 'playwright-report', reportFiles: 'index.html', keepAll: true, reportName: 'Playwright Test Report' ]) } } }

6. Scaling & Best Practices

  • ✅ Page Object Model (POM): Organize locators & actions in classes.

  • ✅ Fixtures: Use Playwright fixtures to share browser/page.

  • ✅ Parallel Tests: Built-in with Playwright (projects[]).

  • ✅ Environment Configs: Create multiple configs for dev, staging, prod.

  • ✅ Dockerize Tests: For portability in CI.

  • ✅ Cloud Execution: Use BrowserStack / Sauce Labs for real devices.


7. Real-World Example

📌 Automate an e-commerce flow:

  1. Login

  2. Search for product

  3. Add to cart

  4. Checkout

  5. Assert confirmation

Run tests in:

  • Chromium (desktop)

  • WebKit (Safari mobile emulation)

  • Firefox

All in parallel via Jenkins.


✅ Summary for a Test Automation Engineer:

  1. Install Node.js + Playwright (npm install -D @playwright/test)

  2. Configure project (playwright.config.ts, tsconfig.json)

  3. Develop tests in TypeScript (preferred for large frameworks)

  4. Execute locally (npx playwright test) + view reports

  5. Integrate with Jenkins CI/CD (pipeline + HTML reports)

  6. Scale with POM, Docker, Cloud, Parallel execution

Playwright with Python – Complete Setup & CI/CD Guide

 

1. Installation

🔹 Prerequisites

  • Install Python (≥3.8) → Download

  • Install Node.js (≥16) (needed for browsers) → Download

🔹 Install Playwright

# Create project folder mkdir playwright_automation && cd playwright_automation # Create virtual environment python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows # Install Playwright pip install pytest pytest-playwright # Install browsers playwright install

✅ This installs Chromium, Firefox, and WebKit engines for Playwright.


2. Configuration

🔹 Project Structure

playwright_automation/ │── tests/ │ ├── test_google.py │── conftest.py │── requirements.txt │── pytest.ini
  • tests/ → contains test cases

  • conftest.py → pytest fixtures (e.g., browser setup)

  • requirements.txt → dependencies

🔹 requirements.txt

pytest pytest-playwright

🔹 pytest.ini

[pytest] addopts = -v --headed --html=report.html --self-contained-html markers = smoke: quick checks regression: full suite

3. First Test (Development)

Create tests/test_google.py:

import pytest from playwright.sync_api import sync_playwright def test_google_search(): with sync_playwright() as p: browser = p.chromium.launch(headless=True) page = browser.new_page() page.goto("https://www.google.com") page.fill("input[name='q']", "Playwright Python") page.keyboard.press("Enter") assert "Playwright" in page.title() browser.close()

Run test:

pytest tests/ --headed
  • --headed → shows browser UI

  • Default is headless (faster)


4. Advanced Setup

🔹 Using Pytest Fixtures (Reusable Browsers)

Create conftest.py:

import pytest from playwright.sync_api import sync_playwright @pytest.fixture(scope="session") def browser(): playwright = sync_playwright().start() browser = playwright.chromium.launch(headless=True) yield browser browser.close() playwright.stop() @pytest.fixture def page(browser): context = browser.new_context() page = context.new_page() yield page context.close()

Now tests/test_google.py becomes:

def test_google_search(page): page.goto("https://www.google.com") page.fill("input[name='q']", "Playwright Python") page.keyboard.press("Enter") assert "Playwright" in page.title()

5. Execution

🔹 Run All Tests

pytest --headed --html=report.html

🔹 Run Specific Marker

pytest -m "smoke"

🔹 Parallel Execution

pytest -n 4

6. Jenkins CI/CD Integration

🔹 Step 1: Install Jenkins

🔹 Step 2: Jenkins Job

  1. Create a Pipeline Job

  2. Configure Git repo (with Playwright project)

  3. Add build steps:

# Inside Jenkins pipeline pip install -r requirements.txt playwright install pytest --html=report.html --self-contained-html
  1. Post-build actions → Publish HTML report:

    • HTML directory: .

    • Index page: report.html


🔹 Jenkinsfile (Pipeline as Code)

Place this in your repo:

pipeline { agent any stages { stage('Setup') { steps { sh 'python -m venv venv' sh '. venv/bin/activate && pip install -r requirements.txt' sh '. venv/bin/activate && playwright install' } } stage('Test') { steps { sh '. venv/bin/activate && pytest --html=report.html --self-contained-html' } } } post { always { publishHTML (target: [ reportDir: '.', reportFiles: 'report.html', keepAll: true, reportName: 'Playwright Test Report' ]) } } }

7. Scaling Up

  • Cross-browser execution:

    pytest --browser firefox pytest --browser webkit
  • Parallel test execution: pytest -n auto

  • Cloud Testing: Integrate with BrowserStack/Sauce Labs

  • Reporting: Allure Reports (pip install allure-pytest)

  • Dockerize your test framework for portability


8. Real-World Project Idea

📌 Automate an e-commerce site workflow with Playwright:

  • Search → Add to cart → Checkout → Validate order in DB

  • Cover UI + API + DB layers

  • Integrate with Jenkins for nightly regression runs


✅ In summary:

  1. Install Python + Playwright

  2. Set up virtual environment + pytest config

  3. Write first test (test_google.py)

  4. Build framework with fixtures & POM

  5. Run tests locally + in parallel

  6. Integrate with Jenkins pipeline (CI/CD)

  7. Scale with reporting, Docker, Cloud execution

Python Test Automation Engineer: Complete Setup Guide

 

1. Install Python

🔹 Steps:

  1. Download Python (latest stable, e.g., 3.12.x)
    👉 https://www.python.org/downloads/

  2. During installation:

    • ✅ Check “Add Python to PATH”

    • ✅ Install pip (package manager)

  3. Verify installation:

    python --version pip --version

2. Set Up Environment

🔹 Virtual Environment

Always isolate projects using venv or pipenv.

# Create virtual environment python -m venv venv # Activate (Windows) venv\Scripts\activate # Activate (Linux/Mac) source venv/bin/activate

You should see (venv) in your terminal.

🔹 Install Core Packages

pip install pytest selenium requests pytest-html

Optional (for advanced use):

pip install allure-pytest pytest-xdist

3. Start with a Small Example

🔹 Web Automation Example (Selenium + pytest)

  1. Install browser driver (e.g., ChromeDriver).

  2. Create test_google.py:

from selenium import webdriver from selenium.webdriver.common.by import By def test_google_search(): driver = webdriver.Chrome() driver.get("https://www.google.com") search_box = driver.find_element(By.NAME, "q") search_box.send_keys("Python Test Automation") search_box.submit() assert "Python" in driver.title driver.quit()
  1. Run test:

pytest -v --html=report.html

👉 Generates report.html with results.


4. API Automation Example (pytest + requests)

Create test_api.py:

import requests def test_github_api(): response = requests.get("https://api.github.com") assert response.status_code == 200 assert "current_user_url" in response.json()

Run:

pytest -v

5. Build a Mini Automation Framework (Skeleton)

Project Structure:

automation/ │── tests/ │ ├── test_ui.py │ ├── test_api.py │── pages/ │ ├── base_page.py │ ├── login_page.py │── utils/ │ ├── config.py │ ├── logger.py │── conftest.py │── requirements.txt │── pytest.ini
  • tests/ → UI + API test cases

  • pages/ → Page Object Model for UI

  • utils/ → Config, helpers

  • conftest.py → pytest fixtures

  • pytest.ini → markers, test configs

✅ This is a reusable base for real projects.


6. Integrate with CI/CD

🔹 Option A: Jenkins

  1. Install Jenkins (download)

  2. Install plugins:

    • Git Plugin

    • Pytest Plugin (or Allure)

  3. Create a Jenkins Job:

    • Pull code from GitHub

    • Add build step:

      pip install -r requirements.txt pytest -v --html=report.html
    • Archive report.html as test report.


🔹 Option B: GitHub Actions

  1. In your repo, create .github/workflows/python-tests.yml:

name: Python Test Automation on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | pip install -r requirements.txt - name: Run Tests run: pytest -v --html=report.html
  1. Push code → GitHub Actions runs tests automatically.


7. Scaling Up

  • Add parallel execution: pytest -n 4 (with pytest-xdist)

  • Add cross-browser testing: BrowserStack/Sauce Labs integration

  • Add Allure Reports for rich reporting

  • Add Dockerfile to containerize the framework


✅ Summary Roadmap

  1. Install Python + pip + venv

  2. Install pytest, selenium, requests

  3. Write UI & API tests

  4. Create framework structure

  5. Integrate with CI/CD (Jenkins/GitHub Actions)

  6. Scale with parallel execution, cloud, reporting

Python Test Automation Engineer Roadmap (End-to-End Guide)

1. Foundations

🔑 Goal: Build strong basics in software testing & Python.

Core Skills

  • Testing Fundamentals

    • SDLC, STLC, Agile/Scrum

    • Test case design techniques (boundary, equivalence, pairwise, OAT, etc.)

    • Manual testing basics (functional, regression, smoke, UAT)

  • Python Programming

    • Syntax, variables, loops, functions, OOP

    • File handling, JSON, CSV

    • Exception handling, logging

    • Virtual environments (venv, pipenv)

✅ Practice: Write Python scripts to:

  • Read test data from Excel/CSV

  • Automate repetitive manual test cases

  • Generate simple reports


2. Version Control & CI/CD

🔑 Goal: Learn collaboration & automation pipelines.

  • Git & GitHub/GitLab/Bitbucket

    • Branching, merging, pull requests

  • CI/CD Tools

    • Jenkins, GitHub Actions, GitLab CI

  • Docker (Basics)

    • Containerize your test framework

✅ Practice:

  • Push a test script to GitHub.

  • Set up Jenkins to run it on every push.


3. Test Automation with Python

🔑 Goal: Automate web, API, and data-driven tests.

Web Testing

  • Selenium with Python

    • Locators (XPath, CSS)

    • Page Object Model (POM)

    • Waits, Alerts, Frames

    • Headless execution

  • Playwright (modern alternative)

API Testing

  • Python requests module

  • Postman → Newman → Python wrappers

  • API frameworks: pytest + requests

  • Validate JSON schema, status codes, headers

Database Testing

  • Connect Python with DBs (pyodbc, psycopg2, sqlalchemy)

  • Write tests for CRUD operations

✅ Practice Projects:

  • Automate login, search, checkout flow of an e-commerce site.

  • Build pytest-based API tests for a sample REST API.

  • Validate DB entries after API/web actions.


4. Test Frameworks & Best Practices

🔑 Goal: Write scalable, maintainable automation frameworks.

  • pytest (must-know)

    • Fixtures

    • Parametrization

    • Markers (smoke, regression)

    • Plugins (pytest-html, pytest-xdist)

  • unittest (legacy, less popular but useful)

  • Framework Patterns

    • Page Object Model (POM)

    • Data-Driven Testing

    • Keyword-Driven Testing

    • BDD (Behavior-Driven Development) → behave or pytest-bdd

✅ Practice:

  • Build a hybrid test automation framework using Python + pytest + Selenium.

  • Generate HTML/Allure reports.

  • Run tests in parallel.


5. DevOps + Cloud + Scaling

🔑 Goal: Run tests in pipelines, cloud, and at scale.

  • CI/CD Integration (Jenkins/GitHub Actions + pytest)

  • Dockerize Automation Framework

  • Cloud Execution:

    • Selenium Grid, BrowserStack, Sauce Labs

    • Playwright on GitHub Actions

✅ Practice:

  • Run Selenium tests on BrowserStack with different browsers.

  • Execute Playwright tests in GitHub Actions with matrix builds.


6. Advanced Test Automation

🔑 Goal: Go beyond UI/API basics.

  • Performance Testing

    • JMeter / Locust (Python-based load testing)

  • Security Testing Basics

    • OWASP ZAP automation with Python

  • Mobile Testing

    • Appium + Python

  • Contract Testing

    • Pact (for microservices)


7. Supporting Tools & Skills

🔑 Goal: Become a “Full-stack QA Engineer.”

  • Test Management: Jira, Xray, TestRail

  • Bug Tracking: Jira, Bugzilla

  • Monitoring Logs: ELK stack, Grafana basics

  • Agile QA Role: Writing test strategies, automation strategy docs


8. Real-World Projects (Portfolio)

Build at least 3–5 solid projects to showcase:

  1. Web Automation Framework:

    • Python + Selenium + pytest + POM

    • HTML/Allure reports + parallel execution

  2. API Testing Framework:

    • Python + requests + pytest + JSON schema validation

    • CI/CD with Jenkins

  3. Hybrid Framework (UI + API + DB):

    • End-to-end tests for a sample e-commerce flow

  4. Performance Testing (Locust/JMeter):

    • Load test login and checkout APIs

  5. Mobile Automation:

    • Appium + Python tests for Android/iOS app


9. Soft Skills & Career Growth

  • Documentation: Write clear test cases, automation strategy, reports

  • Communication: Collaborate with developers, product managers

  • Problem-Solving: Debugging automation failures efficiently

  • Continuous Learning: AI in testing (Testim, Mabl), new frameworks


10. Roadmap Timeline

⏳ Suggested timeline (if starting fresh):

  • Month 1–2: Python + Testing fundamentals

  • Month 3–4: Selenium + API + pytest basics

  • Month 5–6: Framework building + Git + CI/CD

  • Month 7–8: Advanced topics (BDD, Docker, Cloud)

  • Month 9–12: Real-world projects + interview prep


11. Career Path

  • Junior Automation Engineer → Automates basic test cases.

  • Test Automation Engineer → Builds frameworks, CI/CD integration.

  • Senior QA Engineer → Leads automation strategy, mentors juniors.

  • SDET (Software Development Engineer in Test) → Strong coding + testing mix, contributes to dev pipelines.

  • QA Architect → Designs enterprise-wide automation solutions.


✅ In summary:

  • Start with Python + Testing basics,

  • Master pytest + Selenium + API automation,

  • Move to framework building + CI/CD + Cloud execution,

  • Add performance, mobile, and advanced skills,

  • Build a portfolio of real projects to stand out.

Testing Models in QA

1. Conventional Testing

  • Definition:
    Conventional (or traditional) testing means designing test cases manually based on functional requirements, user stories, or test scenarios. It does not follow a specific statistical or combinatorial approach.

  • Example:
    For a login system with 3 browsers (Chrome, Firefox, Edge), 2 OS (Windows, Linux), and 2 languages (EN, FR), a tester might manually select test cases like:

    • Chrome + Windows + EN

    • Firefox + Linux + FR
      (but may miss some combinations).

  • Industry Suitability:

    • Small applications with limited input combinations.

    • Domains where human intuition and exploratory testing are crucial (e.g., UI/UX testing, small web apps).


2. Pairwise Testing (All-Pairs Testing)

  • Definition:
    A black-box test design technique where test cases are chosen such that every possible pair of input parameter values is covered at least once.

    • "All-Pairs Testing" is simply another name for Pairwise Testing.

  • Example:
    Parameters: Browser (Chrome, Firefox, Edge), OS (Windows, Linux), Language (EN, FR).
    Instead of 12 exhaustive combinations, Pairwise Testing may reduce this to 6–7 test cases, ensuring every pair (e.g., Chrome+Linux, Firefox+Windows) appears at least once.

  • Industry Suitability:

    • E-commerce (testing checkout workflows across browsers + payment methods).

    • Mobile app testing (device + OS version pairs).

    • Embedded systems where two parameters’ interactions are most critical.


3. Combinatorial Testing

  • Definition:
    A generalization of pairwise testing. It systematically covers input combinations with a defined strength:

    • 2-way (pairwise)

    • 3-way

    • … up to n-way (all combinations).

  • Example:
    Using the same login system (3 × 2 × 2 = 12 combos):

    • 2-way testing → ensures every pair of inputs appears. (~6 cases)

    • 3-way testing → ensures every triple appears. (~12 cases, i.e., exhaustive here).

  • Industry Suitability:

    • Aerospace, automotive, healthcare → safety-critical systems where multi-parameter interactions matter.

    • Telecom → protocol testing where 3–4-way interactions often matter.


4. Orthogonal Array Testing (OAT)

  • Definition:
    A statistical design of experiments (DoE) technique using orthogonal arrays (balanced matrices).
    Ensures each parameter value is tested equally and in combination with others, but in a mathematically structured way.

  • Example:
    Using an L4 orthogonal array for the login system may reduce 12 cases to 4 balanced test cases like:

    Test CaseBrowserOSLanguage
    1ChromeWindowsEN
    2ChromeLinuxFR
    3FirefoxWindowsFR
    4EdgeLinuxEN

    This ensures uniform coverage of each value without testing exhaustively.

  • Industry Suitability:

    • Manufacturing, Six Sigma, Automotive → originally from industrial quality control.

    • Telecom, Semiconductor, Embedded Systems → where statistical sampling is preferred.

    • Software QA → when input parameters are numerous but need balanced coverage.


5. All-Pairs Testing

  • Already covered: this is another term for Pairwise Testing.

  • Used interchangeably in software QA.


Comparison Table

AspectConventional TestingPairwise / All-PairsCombinatorialOrthogonal Array Testing (OAT)
ApproachManual, ad-hocCovers all 2-way pairsCovers n-way combosStatistical, balanced sampling
Test Case CountUnpredictable (can miss)Moderate (fewer than exhaustive)Higher (depends on n)Low (optimized array-based)
CoverageDepends on testerAll pairs coveredAll interactions (up to n)Balanced, uniform coverage
StrengthsFlexible, intuitiveHigh defect detection with fewer casesDetects higher-order interaction defectsOptimized, mathematically proven balance
WeaknessesRisk of missing defectsMisses higher-order (3+ way) bugsMore test cases as n increasesHarder to design arrays for large inputs
Best ForSmall/simple appsWeb, e-commerce, mobileSafety-critical, telecom, complex systemsManufacturing, telecom, software sampling

Which is Best in QA?

  • For small projects → Conventional Testing (quick, intuitive).

  • For web & mobile apps → Pairwise/All-Pairs (great balance of effort & defect detection).

  • For safety-critical/complex systems → Combinatorial (3-way or higher).

  • For manufacturing/telecom/optimized sampling → Orthogonal Array Testing.

  • 👉 Overall Best (most practical in QA/software): Pairwise (All-Pairs) Testing — because it offers the best balance between coverage, defect detection, and efficiency for most software applications.

Sunday, August 15, 2021

Project Management - Need of Human Psychology

 

Business Problem:

Project Management is an infinite subject, we cannot limit with few subjects. We witnessed a huge change in the subjects and topics in the PMBOK too. It’s the time to consider the Human Psychology as well as part of Project Management, it helps everyone to understand people thoroughly thereby there won't be any deviation in the plans and prone to failures in the execution phase. 

We see so many reasons; the resource leaves unhappily from the Organization due to his / her reporting manager (RM), dis-satisfaction on the work allocated or on the compensation that he/she getting or anything that does not fit in his/her shoe, culture, region or age differences in the team members; ultimately, he / she look for the change and that leads to increase attrition at times. Anyhow its continues; however, I see these incidences mostly with younger generation.  They won't compromise that easily hence it's one of the reason they leave the Organization more often like changing their mobile phones.

This worsened situation can be minimized to certain extent, if we could know him/her better personally than professionally. This change of nature would definitely help in both younger and rest of the generations.

We should go back to our roots, to know each one of them more than a family member; in long run, they will become extended family to us. We should maintain a friendly relationship and have frequent gatherings to spend time with one another. This change would definitely help us in reaching greater heights or milestones in our project management too without implementing any processes in place. In my view, processes are to make everyone and think in similar lines but never saw the implementation in the right way because of their individuality or nature of thinking. 

We need to realize that the process drawn by us, but we don’t follow because of so many individualistic nature of human beings. Thereby, we are curbing everyone's thought-process by implementing policies in place. The new generation is looking for change more frequently because they wanted something new (flavor / change / away from routine) in every moment of life; given a chance, they would do wonders, provided they are in a good environment and opportunities.

Introduction:

In the past couple of years, we put into practice the following subjects to overcome the past issues and  lessons learnt in the software field.

1.       Statistics for Management

2.       Commerce for Management

3.       Inventory for Management

4.       Health Management

    5.   People Management

    6.      Resource Management


All human beings have character traits based on the environment and culture they are brought up in. A few other qualities have been inculcated by us over time which are interim. 

As mentioned above, once we start considering the team just like our extended family, we would all work towards a common goal. This in-turn implies we need not monitor/mentor/request them to work on weekends or when in need. Since there is no need to show domination/bossism/power, there won't be any pressure to deliver the work. When one works without pressure then it results in ultimate and chances of getting ideas would be OUT OF THE BOX (Creative ideas won't come by any external force; it will come out of Passion/Compassion). Hence, once should know the Human Psychology. It’s a theory of science, when the human body and mind works together then only the take away would be in positive mode. 

Just to make you all understand and the topic more interesting, below shown is the SIPOC Model of Human Psychology in a pictorial representation:

You all might be aware and even specified in Project Management on the leadership styles as mentioned below. It's true and one should agree that the Human Nature as a reflection of the duties/actions that he/she performs (what that his/her HEART says on that moment of time). The working styles are unlimited and directly proportional to characteristic of the Nature again. One should understand/agree that the below leadership style never be given to any personal as a role rather it's a reflection of individualistic nature or reflects multiple styles in single human being.


Approach:

What we should include or know:

Once we live in a environment where everyone around us is treated as a family member at work then they would become our extended family and they too treat us same, Hence, we would be reaching great heights of success in the complex projects too.

We should start applying the human psychology primarily while onboarding any resource (interviewing or recruitment) in first place and second one is knowing them personally while working together and most complex thing is here would be

1.       working with them and
2.       making them work

Ultimately, the main focus is to understand the human nature. This is illustrated in the below table in order to take a wise-decision to WIN yourself and WIN as a team/organization.  


As mentioned, in the above table we need to have a similar kind of mixture in the team in order to run the show. No one is ever perfect, so why not have a correct proportion of the skillset in the team to get the pessimistic results at least by managing all kinds of minds and mindsets which is very important. 


Example: Illustrating the Nature of Human Psychology - TAMAS

The characteristics of Most Likely (M) behavior as mentioned above, we would be seeing that in those who has Tamas in nature, they are slow and steady just like Tortoise, they possess excessive knowledge, root level thinking, exhibit high patience. Another major characteristic they possess is self reliance which makes them to take maximum time.



Real time example: Most of the times, while doing estimations for any project we go with Pessimistic mode (balanced mode - unexpectedly/unknowingly we choose Pessimistic because of its nature RAJAS [ means good selection without a second thought]) but we won't go with either Most likely or Optimistic.


I would like to provide in-depth of Tamas, Rajas & Sattva, these are called as Thriguna's. These characteristics if you observe keenly you will find in you and around; means you will see in both living and non-living things as well.  Below are the details according to their nature.

1. Sattva                     =    Akaasa (Ether)
2. Rajas                     =    Vaayu (Air)
3. Sattva + Rajas     =    Agni (Fire)
4. Sattva + Tamas     =    Jal (Water)
5. Tamas                     =    Prithvi (Earth)

Guna's basic characteristics

Sattva - Symbolizes White color - Active - truth, mentally strong, self-controlled, non-violent, goodness, harmony, balance & pure intelligence.

Rajas - Symbolizes Red color - Overactive - energy, passion, dedicated to work, self-centered, achiever, desire, fear, depression, anxiety & selfish.

Tamas - Symbolizes Dark color - Underactive - Inactive, Ignorance, appreciative in nature, concerned about others, dullness, greed & confusion.


Additionally, there are other three biological forces called Vata, Pitta, and Kapha, called Tridoshas in Ayurveda and this is the basis for all diseases, and controls entire human body (Body, Brain, Mind & Heart), dominates and influences the Thriguna's(mentioned above) as well. Thereby, there will be an impact on the nature of the characteristics based on the degree of percentage of these three biological forces. 

Finally, due to these biological forces one will get any of these namely Anxiety, Depression, Stress, Blood Pressure, Insomnia, Sugar etc., even at a young age. These diseases will not subside by spending "MONEY", rather will subside "WITHOUT MONEY" only. When you live with Nature, like Nature & in Nature along with own family, extended families & friends; you will live a happy and successful life both professionally and personally.


Train Principle: Every organization should train and follow the "Train principle" to see the wonders in their journey throughout infinite successes.


"Super Seniors" are like a Train Engine (One should protect Pillars).
"Seniors" are like a Train Bogie (Strong Pillars to an Organization).
"Youngsters" are like a Railway Stations (in and out flow will be huge - which is expected [Young BLOOD should flow always - in order to have a HEALTHY Organization]).
"Travelers" are like a Projects (without projects non-exist); When all join hands (when tightly coupled) only then it's possible to travel from starting point to end without any issues, throughout the journey with joy.
Otherwise results to FAILURES with single/tiny issue or a gap.


Hence, we need to periodically be in touch with the each one of the team members knowing them better than you; then you will be knowing yourself automatically. This is secret of Human Psychology.


Conclusion:

Hence, once should know the human psychology rather having a face reading or only validating their skillset; few times this would work but not always, because we are living in the short span of software era. This subject is also very important. 

Therefore, we need to run after market needs and upgrade skills in less span to sustain in order to get bread and butter; that is the reason rather we need to have a best composition of the team of individual skillset as bundle in the team that shows alternate thinking in order to balance oneself in professional life successfully. It’s only possible with the relationship that one owns to stay for a very long period with the person or system or Organization.

COVID is the best example, it brought back the need of showing care, concern & support to the employee(s) and their immediate families too. Hence, you all should agree and understand the need and importance of knowing Human Psychology.


Humble Request to all online readers...

Please provide your valuable thoughts/comments on this post... Hope we hear this topic soon in Project Management as well.