LayoutTitle

Hoverable Dropdown

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.

 

 

Thursday, July 1, 2021

Automation Testing Projects - Estimation Guidelines

 

Background:

Estimation helps you to estimate or guess. It provides you an approximate in numeric value; it could be number of person days or hour’s etc. It is a pre-planning activity on any type of automation projects, which helps or puts Manager or Lead in ease to manage the project and complete the activities on time as per the agreed estimation.

It helps project management if there are any deviations; revisit the estimation at any point in time during project management life cycle as per the agreed frequencies.

Project is typically has the major phases like requirements, planning, coding , testing and production; in these lines we will have scope changes, issues /risks, delay in time and resources unplanned leaves,  infrastructure/Environment outage etc.,. The outcome of the unexpected changes in any of these lines will have an impact on project. Hence, making good estimates is very crucial. Decision making on the estimations varies from the project to project. One should not do overestimate to overcome the obstacles, in fact it is a wrong approach.

In my experience, making estimation should be closure to actual means genuine / realistic and accurate. We cannot predict any issues that comes in between the project execution so one should have frequency parameters to revisit the estimations defined or agreed; it increases the transparency between the Client and the Vendor. Hence, we will produce estimates with highly optimistic mindset. Adhering to agreed estimation is very important to build a good reputation and relationship with the client and results to longer and stronger bonding.

Agreed frequency parameters, few examples:

1.       Change in scope

2.       Resource ramp up & down in size

3.       Change in Regression size

4.       Decrease in dependency on the teams


Introduction:

There are so many estimation techniques like Agile COCOMO, Poker, Three Point Estimation, Proxy Based Estimation; Wide band Delphi, Function Point Analysis and popular FP Variants in software testing but it is true that no estimation model exactly fits to the similar requirements too.

This document outlines and highlights to collect the basic information that is required to estimate the automation testing efforts / automation projects.

Here with summarizing the ways to collect the raw data for the estimation, the ways to map the requirement with the available data and estimating the efforts for the project.

NOTE: Do not go by the historical data and provide that estimation, as each project is unique. Historical data gives you an idea but do not rely on them. Always, suggest you to understand your project and strength of your team and other supporting teams (Example: infrastructure including tools and management support)

Touchpoints to consider while doing Estimation:

  1. Define the Regression Size (Ex: Number of Manual Test Cases)
  2. Define the size
    1. Manual Test Cases Count (Manual Test Cases Count = Regression Size - Automation Not Feasible)
    2. Automation Test Case Count (Automation Test Case Count = Regression Size – Automation Feasible Test Cases)
    3. Define the complexity for derived automation test cases

                                                               i.      Functionality Complexity (Complex, High, Medium & low)

                                                             ii.      Automation development Complexity (Complex, High, Medium & low)

    1. Automation Skillset (Resource Capability) (Expert, intermediate, novice & beginner)
    2. Automation code Re-usability percentage (NOTE: if the re-usability is less than 30%, I suggest not to automate such feature or module or project, which won’t give best ROI )

                                                               i.      Derive Existing Automation code Re-usability percentage

                                                             ii.      Derive Newly Automation code Re-usability percentage

    1. Development Effort – derive the development effort for one test case based on the following factors

                                                               i.      Code complexity

                                                             ii.      Functionality complexity

                                                           iii.      Resource skillset / experience

                                                           iv.      Technology of the application – efforts might varies again each of the following and percentage of code re-usage

1.       Web Services

2.       Web applications

3.       Mainframes

4.       Windows

5.       .Net

6.       Angular JS etc.

    1. Also, including the efforts for the following automation code dependencies

                                                               i.      Functionality understanding (KT)

                                                             ii.      Test Data creation

                                                           iii.      Automation Feasibility study (Analysis)

                                                           iv.      Clarifications delays

                                                             v.      Code Debugging & Dry run for few test runs (to validate code robustness)

                                                           vi.      Code reviews & corrections

                                                          vii.      Any other dependencies

                                                        viii.      Technical challenges if any

    1. Execution – if the automation execution time is less than manual execution then only consider the automation feasibility study prior to automation development.


Approach:

Automation Estimation - Provided simple 3 Points for easy understanding

Point 1: 

Grade the efforts required in hours to develop the single automation script among the resource capability; that you have in your team (Refer the below table). The Efforts required/script may vary from application to application. The given efforts are not industry standards, it should be derived from your historical information or experience

NOTE: Similarly, you can grade the efforts for single automation script execution to calculate the efforts


 Point 2: 

Now, you Grade the complexity percentage from your Regression suite size and derive the test cases count by calculating rightly (Refer the below table). Here, the percentage may vary from organization to organization or application being tested. These percentages helps in deriving the test cases count itself.


Point 3: 

The above two table provides you required inputs to calculate the development efforts against resource capability. 

Here, given 5% as Buffer that includes technical challenges only. The Total Days required here is purely the development efforts. Additionally, you have to include the efforts required for the other automation activities listed below.

NOTE: Similarly, include the additional activities while doing calculation efforts for execution effort estimation as well.

     Calculation for your understanding

            Complex (Hrs.) = Test Cases Count [12] * Complex (Hrs.) [ 4 ] 

                                     = 48 (Complex (Hrs.)) for Expert Resource


A Typical Automation contains the following activities – Work Breakdown Structure (WBS)

1.       Feasibility Study (Analysis) – Here executing the manual test case at least once and verify the data management is easy and have no dependencies.

2.       Framework design and development

3.       Script Development

4.       Integration of re-usable components

5.       Self execution / Dry Run – to make sure functionality is working fine

6.       Code Review

7.       Execution Review

8.       Sign – Off

 

Benefits:


  1. Now we are able to communicate facts clearly with proper estimation model.
  2. Able to track and monitor the activities well.
  3. Finishing the activities on time with transparency.
  4. Able to display clearly and confidently to the Client if there is any deviation from the given timelines well in advance.


Summary:

Initially, identify the feasible test cases for automation. Understand the project requirement correctly and map with the estimation experience that you have and with the existing techniques that are available. Create your own estimation framework that makes you comfortable in tracking and monitoring the activities.

If we encounter any issues due to any cause in between the project execution, you can communicate and give clarity on the delays to direct & indirect stakeholders with estimation deviations with valid evidences.

This will help you to improve the existing approach and gives add value to the customer in the long run too.

Monday, May 24, 2021

New age of Test Automation - Role of Data Science (DS) and Artificial Intelligence (AI) to Software Testing


New age of Software Testing - in near Future

New age of Software Testing is moving towards various changes like the way new mobiles are pumping into market with new software's, features and styles (look & feel) and so on. In the similar spirit even in Software Testing we are witnessing the new changes and bringing new challenges with respect to the Test automation bootstep too.



To inline, with the speed market is growing, we testing family has to think or move towards in the same direction to compete with.

Hence, here I would like to portray my experiences and also how the new age of Testing Automation look like in near future. Hope you all would be ready to face these challenges in no time with compassion and readiness before the challenge falls as a requirement on your table.

The Problem Statement



Initially, the challenges would hit more on Test Automation as one would depend on the tools that are supporting in the current circumstances. As the requirements comes with more of unstructured data conditions the automation test coverages would drastically come down and the prominence of the automation might come down as there shall be more of manual intervention would require for the same repeated tasks is concern.


Data Science & Artificial Intelligence Role in Automation Testing

Background:

The Test automation is mostly running with the test coverage on the structed data requirements and with the new trends of technologies are throwing challenges as there would be a demand of enormous unstructured data requirements. 

Unlike data in traditional or early ages, the current and future style or format data is going to be very huge and un-structured and biggest challenge here is the sources of the data would be uncountable and would be pump in trillions of such data in a single fraction of time period.

For example, refer below:

1. Text files or batch files that with unlimited columns and with unlimited types and formats of data

2. PDF automation - background, foreground layouts, tabs, sections, duplicate data validations, similar content, image validations

3. OCR - check book validations, written check validations, movie validations, unreadable text validations, vision validations

The future automations might be in these format, with which current automation tools definitely would not cater these kinds of similar needs. 

                        

Hence, the necessity of changing the MIND SET is needed to cater our services in future as well - WIN-WIN mode of living.

What is Data Science?

Data Science, is not new to anyone who studied SSC in schooling days or Intermediate in college days. Just re-memorizing for the need of our future only. As said, above in the background section, Data Science helps us to take or make a wise decisions and correct predictions with the help of Statistics with which we can do our own causal analysis and solutions for the future benefits.  

What is Artificial Intelligence?

Using the available tools/algorithms/techniques and Machine Leaning (ML) and Deep Learning (DL) principles and with the helps of computer science intelligence, will come up with activities that human think and react that includes recognition, observation & learning.

What is our Role in Future !!!



Automation Testing, would require our experiences and change of mind set to serve the future needs of Software Testing requirements as family working together for ever by competing with the market in any circumstances. Its a WIN-WIN or GIVE & TAKE policy one should not forget and it is a continuous learning should always remember and educate same to our NEAREST & DEAREST as well.






Monday, May 10, 2021