Thursday, 15 October 2020

Down underdogs and servant leadership

I recently watched the docu-series Down Underdogs on Sony LIV. If you are a passionate follower of cricket, then this four-part docu-series is definitely worth a watch. Experts like Harsha Bhogle, Ayaz Memon and players from team India take you through their rollercoaster journey of Border-Gavaskar Trophy 2020-21. Down underdogs takes you through the debacle of the first test match to an extraordinary India's series win by a rag tag team (mostly players from the bench and no big names).

While reliving the test series what stood out for me was the captaincy of our Indian captain. Not Virat Kohli, but Ajinkya Rahane. What Ajinkya displayed as a captain in the the series, was according to me the perfect demonstration of servant leadership.

What is servant leadership, you may ask?

To put it simply, servant leadership is a decentralized and democratized way of leadership where the leader acts as a facilitator to help his team succeed which in turn attributes the success of the leader. The phrase 'servant leadership' was coined by Robert Greenleaf in an essay published back in 1970. Greenleaf defines servant leadership as "a non-traditional leadership philosophy, embedded in a set of behaviors and practices that place a primary emphasis on the well-being of those being served."

The key characteristics that make a good servant leader are:

  • Leads from the front: Expect from the team what the leader expects and can do himself.
  • Be a facilitator: Understand what hinders others from performing and remove the impediments for them to be effective.
  • Always focus on true north: Know what your team goal is and keep steering the team towards the same.

Coming back to the docu-series, captain Rahane truly imbibes the characteristic of a good servant leader and shows how it is brought to action throughout the test series.

In the first test match at Adelaide, India gets into the match as the favorites. With a formidable team (at least on paper) fancying their chances of a series win outside India, especially in Australia after a long time. What happened instead was shocking to say the least. Indians witnessed an embarrassing performance by their team folding for mere thirty-six and losing a winnable match. All hopes crushed the team was written off by the fans. Adding to the pressures of the team was the decision by captain Kohli return home for the birth of his first child.

As the captain departs, the vice-captain is called in to take up the responsibility of a demoralized team. And there steps in or rather steps up vice-captain Ajinkya Rahane. A stark contrast to his predecessor, Ajinkya was a calm, low-key silent operator on filed. Unlike the loud, bombastic and in your face Virat Kohli. Ajinkya's style of leadership gave the team the space for introspection. He never overwhelmed the team with his presence, rather stepped out of their way to let the players do their own thing. He huddled the team to convey a message which most likely would be something like this I imagine. "Each one of you is an expert in what you do. I will not tell you how to do your job better. Rather tell me how I can help you do your job better".

Team India entered the second test trailing by a game. Rahane showed his intent and girt right when it was needed in the first innings by hitting a ton. This century by Ajinkya, created a solid base for the team to win the second test giving them hope of a revival.

The third test starts with both teams at par with one win to their name. Taking inspiration from their new captain resolute knock in the second test, Cheteshwar Pujara with a determined hundred and Jasprit Bumrah with his six wickets haul, won India her second win of the series. Now one up in the series, all India needed was a draw to secure a series win in Australia. Ajinkya stayed in the background to steer the team, never stealing anyone's thunder.

In the final test, when Australia put up a three hundred plus total in the last innings for India to chase. Ajinkya could easily have settled with a draw, the series was already in India's bag. But he led the chase from the front and set the tempo for his team to go for the win. I still remember his shot straight over long on for a six, that was as clear a message as it could get to, for the team to go for the win. With the rains playing a spoilt sport both teams had to settle for a draw.

Thanks to Sony LIV's Down underdogs, I didn’t just relive the exciting moments of the Border-Gavaskar Trophy 2020-21, but also was inspired to pen this article. Today, I touched upon the merits of servant leadership. I will reserve the flip side of this leadership philosophy for another day.

Wednesday, 14 October 2020

A story of convoluted goals

Executive staff of a large corporation settled down in the board room for a planning meeting for a major program that the company was about to kick start. The program they were about to embark on was quiet complex and had several sub-projects which required to be executed by multiple vendor teams in unison  for the overall success of the project.

As expected a smart executive at the meeting, possibly from one of the top MBA colleges, stepped up to flaunt his smarts. He brought up a area of concern which any diligent program/project manager would have brought up "This project is complex, high visibility too. It has lots of vendors involved. And to ensure we cross the finish line on the planned timelines, its important that none of the vendors slip on deadlines.". "Excellent point" said the CEO "We need to put a mechanism in place right from the start, so that there is a deterrence for vendors to slip.". The CEO even thumped the desk with his fist as he said the deterrence.

Another executive promptly said, "Lets incentivize early delivery and penalize the delay." "Good Idea!" said the CEO and continued "lets form an executive team to lead our team of vendor managers and lets come up with a detailed rules of the game.".

Soon after the kick off meeting, a taskforce was setup from amongst top minds in the company to oversee the vendor managers to draft the guidelines and calculate the quantum of incentives for vendors for early delivery and penalties for delays. After a couple of intense meetings, debates and discussions. It was determined by the committee that incentivizing the vendors too much would mean higher cost to company and also it might tempt vendors to do shoddy jobs, just to claim bonus for finishing ahead of time. The committee also settled on the fact, that exorbitant penalties should not be levied, or else vendors will shy away from bidding for the project in the first place. In the end a watered down structure of incentives and penalties was finalized.

A few months later, the management team, regrouped to take stock of the project. One by one all the managers responsible for their sub-projects came up and presented the progress of their projects. As with any large program, some projects were on target, while some weren't. Out of all the sub-project, there was a particular project that was clearly going to delay. The vendor employed for the project had already informed his inability to hire the right people for the job. He had communicated the expected delay to the company. The CEO quickly called upon his taskforce to take action.

The taskforce wrote a stern warning letter to the vendor. They warned him of invoking the penalties clause from the contract they had signed with him. The vendor managers called for a meeting to discuss with the vendor how they could possibly seek resolution on the impending issue and possibly avert delays.

The meeting between the taskforce and the vendor convened. Calling what transpired next a classic case of  the book smart versus street smart would be a cliché. What it was, was a perfect case study of negotiating to win.

The executives of the taskforce in there pinstriped power suites, with fancy degrees walk into the board room. While at one corner of the board room's table, sat the vendor. An older man in neat and unimposing attire. He had not been to college, but had earned his seat at the table, by working long and hard at his trade. He spoke with clarity and confidence.

Without beating around the bush, the vendor got straight to the point as the meeting started.  He explain clearly the reasons for delay. He accepted his inability to mitigate the issue and avoid delay. But he was sure and that all he now needed was an extension by a month to finish. The discussion dragged for sometime, because the taskforce got busy over analyzing this particular situation, rather focusing on the larger project goal. As they say too many cooks spoil the soup, it took for ever for the taskforce to determine what they really wanted to do in this case. 

What happened next was amazing. At the first mention of the word penalty, the vendor bent down to reach for his briefcase. He pulled out a cheque book. He calmly wrote a cheque for the amount of penalty. "Here! Now do I get a month" he said as he pushed the leaf towards the taskforce.

The tables were clearly turned on the taskforce. The taskforce was completely disarmed by the actions of the vendor. They had never fathomed that the vendor would pull out his cheque book on them. All the work the taskforce had put in, to prepare for the meeting was to device ways to make the vendor pay. But now that the vendor just offered them what they wanted up front, the taskforce didn't know how to react. The vendor was excused for a while as the taskforce deliberated on what to do next. Finally, everyone regrouped in the boardroom. The decision was communicated to the vendor. The penalty was revoked, the vendor was given an extension and a warning to finish on the next agreed date of delivery (which clearly felt more of a formality at this point).

Now with this anecdote one may sense my slight disdain for snooty executives in organizations and college degrees. But I assure you that I understand, appreciate and value formal education. And also, admit that not all executives are cast in the same mold as the ones depicted earlier. You may consider that I may have taken liberties to exaggerate the contrast between the executives in the taskforce and the vendor.

The point I am trying to drive with the above anecdote, is to have clear objectives and then going for it without a flinch. The taskforce was setup with a simple goal, but the executives convoluted the task to finally came up with a meek structure, that had no substance to meet the goal. No good reward for the vendors to finish job early nor a significant reprimand for the delays. To make matters worse, at the negotiation table the taskforce were indecisive. They swayed between being perceived as good or bad if the penalty was or was not imposed. Their nervousness would have been quiet evident.

On the other hand, the vendor was absolutely clear about he wanted, which was to keep the business with the company.  And to do that all he needed was an extra month and he was ready to pay for it if need be. In the end, what will be remembered, is that the vendor completed the job and not the specifics of how he did it. The opportunity cost of loosing the business was far more for the vendor than to pay a small penalty for the extra time. If required to pay a fine, he would make peace with the deal, by simply writing off the penalty as discount to customer. 

After all, less profit is always better than no profit!


Wednesday, 22 April 2020

Count on AQM to deliver.

We had quiet a laugh when our client installed a wash station at office gate, and made it compulsory to wash hands and apply sanitizer before entering office premise. Truth be told, when the early news on COVID19 started to make headlines, no one including my team could fathom the gravity of the situation.

On 22nd March our Prime Minister announced the 'Janta Curfew', and we got a glimpse of what was to come shortly. Our client by that time had already instructed teams to start working on minimum staff basis. Soon, I was contacted by our RMG and leadership team, checking on arrangements and availability of AQM staff at client office.

For the few days before the lock-down, our AQM team came together to draw out a plan by way of which we had no more than the most essential AQM team members at client office, and yet ensuring that no project was impacted. Our client was evaluating options for all its staff including the vendors to work from home. Our client tried to procure laptops and other connectivity devices. But, with the sudden surge in demand for laptops and other devices, our client's vendor/suppliers could not fulfill the demand. Wasting no time our client quickly switched to next best alternative and created VPN access to all its staff.

I wish I could say that that took care of everything and AQM team worked its way to success. But, our success wouldn't have been sweeter had it not been for the niggles we face along the way.

We found out that one of the staff had no personal computing device. Just few of days before the lock-down, I managed to meet up with this team member to handover my AQM laptop for him to use. Next challenge we faced was connectivity. One of the team member connected to internet using his mobile hot-spot (only if he could ever get network at his home). But where this is a will there is a way, the team member literally set-up his work station on his house;s terrace so that we could get better connectivity. Another, team members staying in Navi Mumbai, faced power outages due to load shedding. To mitigate this the resource worked  beyond the working hours to ensure work was not impacted. Unfortunately, due to budgetary reasons our client asked me to ramp-down a test team member. I ran pillar to post trying to retain my team. But finally had to let go of one team member. I am proud to say that even this did not demotivate the team and we continued to push on with unwavering focus on our team goal.

In the end, AQM test team, created more that 500+ complex test cases.We conducted at least two runs with the test suite and detected more than 150+ defects and rejecting more than 3 builds for poor quality and stability issue. We did multiple rounds of regression testing as required. We are now trying to incorporate functional automation to increase efficiency of our team.

 AQM team is ensuring the highest level of quality of service to our client with our solid work ethics and expertise in digital software testing.

Our team: Omkar Pendse, Pawan Poptani, Rohit Wani, Ashok Tripathi, Komal Raool.

Wednesday, 8 April 2020

Full-stack tester: A new breed of software quality experts

Its appalling to say the least, to see people use their LinkedIn account as if it was their Facebook timeline. A few days back I came across a a meme shared on LinkedIn. Now, while I was angry of the misuse of LinkedIn, I have to admit the meme sure was indeed funny and reflected the conundrum faced by job seekers(especially a certain set of IT professionals). The meme went something like this.

Source: https://www.linkedin.com/feed/update/urn:li:activity:6612626328481083392/
As funny as it sounds, but the reality is that the recruiters are indeed asking for multiple skill-sets from candidates. Job creators are demanding more from their workforce. And when hiring they want the most bang for the buck, for every buck they spend on their prospective employees.

The biggest contributor to this is the advent of Agile methodology and its extensive adoption as the goto methodology for developing software today.

Gone are the days of compartmentalized linear sequential development models, where individuals could specialize in specific roles, through the application's development life cycle. The Scrum Guide a manifesto for Agile, proposes a smaller, leaner, self-organizing and creative teams equipped and empowered to do everything that is required to create a potentially deliverable product. The Scrum Guide, recommends a development team of 3 to 9 members. As teams get smaller there is no room left for specialist coder, tester, DBA etc. In Agile teams, literally everyone is expected to do everything. And hence, everyone on an Agile team is called developer, a general title devoid of any specialization.

Software developers have smartly adapted to this change by reinventing themselves as full-stack developers. Someone who can come in and do whatever that it takes to build the software. If changing times have demanded software developers to re-skill and redefine themselves to be relevant to the job market. There is no surprise that software testers are also feel the need to re-skill and redefine themselves.

Gone are the days when organizations had large test factories, with dedicated functional testing teams focusing on particular business vertical/function. Test automation teams, software performance testing teams, software security testing teams were maintained over and above the functional testing teams. Agile organizations can no longer sustain the luxury of such elaborate setup. Organizations today are hiring automation testers who when required can double as a functional testers.

Taking cue from developers, its about time that the software testers up-skill and re-brand themselves as "Full-stack Testers" to differentiate themselves from the masses and stay relevant to the job market. Just like the full-stack developer, a full-stack tester should act as a one stop shop for anything concerning software quality.

Now that we have addressed the who, the what and the why of full-stack testing. Lets look at the How, cause it would be silly to answer the when. A simple answer to when is now.

The Big Five

A full-stack tester should have the capabilities to demonstrate 'The Big Five'. What do I mean by that, a full-stack tester should not just have theoretical knowledge of, but be able to put to work, his expertise in five key knowledge areas which are listed below. Knowledge of each of these constituent areas will equip test engineers to contribute to the overall quality of product and teams developing software solutions.

  • Functional Testing
  • Non-functional testing
  • User Experience
  • Software Quality Assurance
  • Project Management

Functional Testing

Developing functional knowledge of product, industry or domain is not easy. Building functional knowledge is an experiential process. For example, an test engineer, who starts out his career working on financial services product, over a course of multiple years of career, having worked on similar products or breath of products spanning across the industry, can build deep understanding of the subject matter. Though one can start by learning from experts in the field. Professional courses or certifications from industry/professional bodies also play a big role in building knowledge base. They not just help in acquiring domain skills but also help substantiate your learning.

Non-functional Testing

A functional tester ensures that the product/solution being developed conforms to these business requirements. A non-functional tester on the other hand focuses on other essential areas for e.g. performance of the system, security or recovery after a malfunction, just to name a few. A full-stack tester should be able to recommend the acceptable performance levels and then be able to strategize a plan to measure the performance of the application. He should be able to identify the right tool for job and then apply them to measure outputs, to ensure that the system works in an acceptable thresholds. There are several open source and commercial off the shelf tools available which a tester can use of non-functional testing. An expert test engineer should be well versed with these tools and know how to apply them. The key ability to understand and interpret the outcome, to prescribe a corrective action, is highly valued by clients/product owners.

Over span of the product lifecycle a substantial size of test suite gets created. Each time a new enhancement is made to the product, it becomes necessary to ensure that the previously tested product is retested to ensure that the new development does not brake the existing working product. Similarly, in Agile product development, each sprint is an increment to the earlier, and hence for each new sprint its necessary to test, what was delivered in earlier sprint is working as expected. This is called regression testing. Employing a team of testers to do this work manually is a waste of the time/efforts of the team. This is where automation testing comes to play. Automation testers employs the right tools to capture the exact steps carried out to perform testing in earlier sprints. Automation testing helps reduce test efforts and improves productivity of the team. Its thus imperative for a full-stack tester to have knowledge of automation.

User Experience

An amazing software solution, is not the one that just conforms and caters to every business requirement documented by the product owner. An amazing software has, customers/clients/end user as the focal point, while designing business requirement for the product/solution. A software tester can be the closest version of the end user that the developer can get. It is thus important for an aspiring full-stack test engineer to learn to put themselves in the shoes of the end users and give qualified inputs to the developers and product owners at every stage of the solution design to ensure an exceptional user experience.

Software Quality Assurance

Knowledge of business functionality, non-functional tools and user experience would help a full-stack developer contribute to quality of product. The last to areas that the full-stack tester should be well versed with is quality assurance and project management. Sprint Retrospective is an essential ceremony in Scum focused on finding areas of improvement that can be incorporated by the team to improve development processes, which in turn lead to better product. With knowledge of quality audit, peer reviews, checklists and test processes a full-stack tester can add the most value to the agile team.

Project Management

Agile Scrum does not have a designated project manager, yet the qualities of a project manager are essential for success of any project. It is thus necessary for a full-stack tester to know and be able to perform tasks such as stakeholder engagement, managing project timelines/resources, dashboarding/reporting, staffing, vendor management etc. Most of these skills could be learnt by an individual on job, handling this areas first hand or through consultation of experts in this subject. Though a certification from a reputed industry body could elevate a full-stack testers stature amongst his/her peers and also in his team.

In the pursuit to acquire 'The Big Five' there is a good chance that a test engineers become as the phrase goes "Jack of all, master of none." One should bare in mind that being a full-stack tester is not a generalist role. Mastering all 'The Big Five' is surely not easy. And hence, an individual should strive to become "Jack of all, Master of some."

In today's day and age, change is the only constant and those who adapt to change will evolve and learn to keep themselves relevant to the changing world around them. Rather than resisting change, lets embrace it. Its time to evolve to make larger contribution to the team as a "Full-stack Tester".

Monday, 23 March 2020

Robotic Process Automation(RPA) success story

Recently faced a business challenge to demonstrate tangible benefits of RPA to key management stakeholders for one of my clients, to achieve a larger buy in to broaden the scope of RPA implementation in the organization.

With limited resources at disposal and aggressive timeline to deliver, I am proud to share our journey of team building, up-skilling, delivering, and all this staying well within the timelines.



Do check it out and share you thought on it.