Mind mapping for Software Engineering management and beyond


In a previous post a few years ago MIND-MAPPING IN SOFTWARE TESTING: INCREASE THAT TEST COVERAGE, ITS ABOUT TIME! – I delved into the power of mind mapping as a transformative tool in software testing. Since then, my career journey has taken a remarkable turn from the technical trenches to the strategic pathways of management. As I navigated this evolution, so too has my use of mind mapping, morphing from a mere testing tactic to a comprehensive instrument that intertwines quality and software engineering management. Today, I’m excited to share how this versatile tool has adapted and thrived in a broader context. Join me in my latest webinar I did once again with the BiggerPlate team (linked below) where I explore the refined art of mind mapping through the lens of an evolved career in software and quality management.


https://player.vimeo.com/api/player.js

Test Automation uncovered : podcast feature for Xray App podcast series

I was fortunate enough to be a guest on the QA therapy series sponsored by Xray. Sergio Freire and Cristiano Cunha, Solution Architects and Testing Advocates at Xray chatted with me extensively on the topic of Test Automation. The actual podcast is sponsored by Xray – a native quality management app for Jira: listen here to the full podcast https://hubs.li/Q01sq5x-0

QA Management – Tips for leading Global teams (my post featured on the LambdaTest blog platform)

The events over the past few years have allowed the world to break the barriers of traditional ways of working. This has led to the emergence of a huge adoption of remote working and companies diversifying their workforce to a global reach.
Leading teams in an ‘in-person’ setting can have its challenges but these challenges and complexities can be multiplied once you work with, lead and manage global or remote teams. 🌍
Read more on the thoughts I shared on the LambdaTest platform regarding QA management: tips on leading global teams here : https://www.lambdatest.com/blog/qa-management-tips-for-leading-global-teams/

Refining Your Test Automation Approach in a Microservice Architecture World

As the software development industry moves forward, one thing that never stops is the ever-evolving introduction of new concepts and/or buzzwords. Some are literally just buzzwords wrapped around something that previously existed in the industry in some form or the other. However other concepts go beyond just buzzwords, and need to be taken seriously as it potentially becomes a key factor in influencing how software is and will be built going forward.

Failing to keep up with the concept or trend could mean that previous tried and tested approaches might not be as effective and even worse, might put major question marks against an individual’s relevance and marketability in a thriving, fast paced industry. One such concept is that of “Microservices” or a “Microservice Architecture.” With this concept/approach in mind even more questions come to mind regarding Development, DevOps and other areas, however what does it mean for previous quality engineering, testing and test automation approaches?

I wrote this article on “Refining Your Test Automation Approach in a Microservice Architecture World” for the Applitools blog platform. – – As the Software world evolves, so too should your Test Automation approach follow a similar path. Have you or your company evolved your test automation approach?

https://applitools.com/blog/refining-test-automation-microservice-architecture/

Transitioning into QA Leadership: Take the leap

I recently had the pleasure of being offered the opportunity to share some blog posts for the Applitools blog platform at https://applitools.com/blog/

My recent article on making the transition to QA leadership has just been published.

A quick intro into what my content addresses on this post:

I have seen QA Engineers go through what I call ‘mid-career crisis’. It’s not directly synonymous with a mid-life crisis, however there are some glaring symptoms which pop up across those who face it. Some of those include questions or thoughts like:

  • Is there a future for me in the QA space?
  • I’m just using QA and Testing as a stepping stone to something else within the tech world
  • Testing is great, but where to from here?
  • I will never be a VP of Engineering or even move to a CTO or C-Level
  • Is growth in a test automation path enough to move me to a lead or manager role?

Whether you have asked yourself these questions or have had similar thoughts, you have come to the right place… read the blog post further below and make sure to subscribe for more content on anything Testing and Test Automation related.

Go ahead, make the transition.

Follow the link below to read the full post:

Shift left testing-The Right Way (video)

I recently did a talk at the Ministry of Testing Abu Dhabi Meetup on an area of Testing that I am really passionate about. Some of the points covered in this talk include:

-What are the current challenges in Software development and testing

-What is shift left testing?

– What are the key enablers for shift left testing to be effective.

-What are the key benefits when once chooses to shift left.

-Tools that companies/people can use in order to facilitate the move to shift left.

– Practical examples that can be used to enable more effective shift left test approach.

Here is the video link below. Please share your views.

A reflection, not a goodbye: Tracing the path to job longevity

It has been a tremendously busy period with many major developments and changes happening on the work, personal and test community front. I will share another blog post shortly regarding the work on the test community side.

This post is slightly different from my normal posts as I reflect on the end of a rather rewarding and a proud journey personally.

This post is as much a personal “Thank you” message as it is a reflection (in my view) on what could make a workplace increase employee loyalty and job longevity.

This is a message highlighting the end of a rewarding job, a goodbye to a valued workplace and a ‘until we meet again’ to my work friends who are now more like family. I am hoping that what you and workplaces in general can take out of this post is a path to creating a happy, engaged and challenged workforce, who thrive on giving of their best daily to make personal, team and company wide impact, by increasing job tenure. Something that as a Test Leader or general leader you can try to enforce within your company culture.

A reflection rather than a goodbye

20191014_213435

As I near the end of my almost 12 year journey at my current company, to now take up a position internationally at a multi-national company, I reflect back on what has made me so loyal, engaged and dedicated to my employer. Tenure and job longevity is something that is considered very, very rare in today’s rapid changing, competitive world, so naturally the topic of staff retention or employee job satisfaction is something that most companies share a vested interest in.

*For a more detailed account leading up to my career moves over the years check out my two posts on https://toyerm.wordpress.com/2017/05/22/wait-how-did-i-get-here-time-for-reflection-part-1/ and https://toyerm.wordpress.com/2017/06/08/wait-how-did-i-get-here-time-for-reflection-part-2/ *

So after being considered a job hopper walking into my current employer was not an easy task, but after a solid tenure I reflect back on what is it that has kept me here for so long? Is this something that you as a leader can look to adopt as part of your company or team culture?

The people

Apart from amazing offices in one of the trendiest places in Cape Town, South Africa, the people of the company is something I value the most. To be surrounded daily by talented, knowledgeable and innovative colleagues makes one give of their ultimate best every step of the way. The relationships one gains from people and colleagues over time can have an impact not only on what one does but also what resides in their hearts as well. This was 1 of the major key factors for me. Celebrate achievements and have time to bond as a team every now and then.

Each conversation, interaction and relationship is what I take with me as a building block to what the future throws at me regarding challenges and interactions.

20191014_222522
Taking time as a team

Space to do what you love

As an automation tester coming in to the company, I was given the opportunity to do exactly what I love doing, I was given the space and responsibility to drive solutions relating to particular problems. Playing to my strengths and knowing what made me tick were master strokes in giving the best for the company at the same time, giving whats best for me, the individual. Leaving a lasting legacy on test automation and performance testing is something that prides me as I move forward to take on a new adventure abroad.

As my role evolved, with it changed my needs and what I loved best at a given time. The evolving hunger was met by the opportunity to contribute to a space that I was passionate about, for example growing my leadership skills when I felt I was ready. More on this below.

Growth on multiple levels

I am and will be ever so grateful for the multiple growth opportunities, from a personal growth perspective and a career growth perspective.

I have so much to be thankful for to the company where I spent over 1/4 of my life at. Over the years I was fortunate enough to be sent on many courses, development programs and conferences.

Courses ranging from ISTQB and Certified Agile Tester from a career and testing perspective

Then development programs including Leadership development which not just helped to grow leadership skills but focused on helping me shape myself personally. A blog post will not be enough to count and state the many ways here.

20191014_213513

Conference participation: the opportunity to attend both local and international conferences was another aspect that I am grateful for, obviously this is something that one earns based on performance- but also the push to earn it yourself, I could try to attend subsequent conferences if I had the courage to get up there on stage and represent. Something which I grabbed with both hands.

20191014_213349749819927013350322.jpg
Presenting on the international stage with fellow colleagues

Empowering others

One thing that I personally valued was empowering others, this for me goes both ways. The ability to be taught and the ability to teach.

There is a great feeling of accomplishment when one shares knowledge for the greater good of other individuals and for a company. A culture that embraces this is a space is bound to prosper. Encourage this!

Also look at allowing the space to challenge and have the confidence to speak up if needed. Creating a safe space is what its all about

Screenshot 2019-10-14 at 22.37.24

https://www.linkedin.com/posts/toyer-mamoojee-595356a4_automation-learning-activity-6585236132047405056-aOBm

 

Exposure to multiple systems and tech

Over the years I have been exposed to so many systems and technologies that there was no room not to be challenged. There was also encouragement to rotate and try out other systems or domains within the IT space if there was ever a feeling of ‘oops I’m heading to comfort zone level‘ , this meant there was so much of opportunity to keep building on knowledge gained. At the same time sharing knowledge of other systems to your new space. The sphere of knowledge rotation between teams and systems was another factor that constantly sparked my interest. Never a dull moment as they say 🙂

Listen to this podcast for more on this.

https://testingpodcast.com/toyer-mamoojee-thebusinessoftesting-com/

Culture: Values, empathy and a sense of belonging

Finally another key aspect for me is the foundation of the culture, something that is ingrained into a workforce is very hard not to take note of. Aspects that stand out for me is the array of values and principles on show in almost every individual at the company. You know you are dealing with sheer professionalism at all times.

Caring for another individual is also right up there, there were some ups and downs over my time at the company, to have others genuinely show compassion, empathy or even share in an excitement gives me comfort in knowing that the working world can be a happy place.

A sense of belonging is something that I can never take for granted. Whether its the combination of all of the above points or just an intuition or gut feeling, I always felt part of the cause, a place where it was more than just work, a place where the heart and mind said yes, we are aligned!

20191014_213534

https://www.linkedin.com/posts/toyer-mamoojee-595356a4_passion-career-influence-activity-6523818081658109952-fXkW

End of a chapter

So can you or your company trace some of the ingredients in increasing employee tenure and longevity?

As Iron man so famously said in a recent Marvel Avengers movie- “Part of the journey is the end”  – while I am excited to tackle my new job and the new role and challenge that lies ahead of me, I am thankful and grateful for all the opportunities received and the lasting connections made. So thank you to all of you who was part of the DNA composition of this magical journey.

Ralph Waldo Emerson Quotes

“What lies behind you and what lies in front of you, pales in comparison to what lies inside of you.”

20191014_213417

 

Bolstering your Leadership Armoury-Part 2- Leadership series

One of my previous posts kicked off the Test Leadership series on my blog, if you missed it, please catch-up here :THE TEST LEADERSHIP LEAP! AN INTRO (PART1-LEADERSHIP SERIES), at the end of that post I did mention that there were layers and layers of aspects behind leadership- so in this post I would like to dive into a few more aspects that could help shape your leadership skills. Today I will touch on these important points:-

-The art of listening in leadership

-Receiving feedback

I will try to focus on the above points firstly in generic terms and then try to bring it back specifically to the testing world and how this could be implemented practically.

The art of listening

Has your partner ever told you “But you never listen to me?” – sometimes this statement can have serious repercussions to a relationship and sometimes its just a frustration. However in a professional context especially when you are told this as a leader, it could potentially have a negative impact , possibly even lead to mistrust between individuals, leading to the resignations of individuals. Ultimately leaders (and managers) who listen effectively create much more trustworthy and open relationships. This also builds your image as being a more empathetic or compassionate leader. Finding the perfect balance between tech, testing and people is not always the easiest but it goes a long way in building a team of people who follow a common vision.

So how can we apply this concept to the testing field. Firstly all testers are people (sorry automation tools :-)) and no testing leader or manager will be dealing with people who are immune to personal issues. Whether it be to due personal relationship matters, health issues, financial matters or anything else of a personal nature, the leader has to rise up to factor this when delegating or assigning any task/project or deliverable. Whether that deliverable be a short term sprint level goal or even a company wide goal one has to take into account what impact external influences have on achieving a task before evaluating when a task has not been met.

One aspect I recently changed after starting my leadership journey in the recent months was to tackle this element of ‘active listening’ by setting up recurring one on ones (or catch-ups) with those I am leading. Not only doing that but changing my approach on how I go about tackling these one on one sessions by starting of conversations to have a personal touch rather than going into robot, work mode. I will elaborate on the frequency and approach change below.

setup time and space to listen:

Being in a tech space I found myself constantly working across multiple technologies and looking to implement new tools, type of tests etc. This made time to catch-up with my reportees and mentees much less and very unfair to them. If they had certain expectations in a team and broader context which were not being achieved, by me not knowing the circumstances around these non-achievements is not a fault on them but rather on me as a leader.

Managing expectations based on real-world circumstances around individuals is so key to maintaining effective output in a workplace. Unrealistic expectations usually leads to frustration, disengagement and a feeling of going with the flow. Never let this happen to those you ‘lead’. By increasing the frequency of catch-ups from monthly to bi-monthly and also open the door to impromptu private chats (when needed) has made a massive difference in my relationship with those that I lead. Its amazing what you get to hear from others if you just set aside time and space for them to share what experiences, challenges ,celebrations and impediments they are facing – both in a private and work context.

Some initial concepts around my approach to enhance listening included the following:-

  1. Start catch-ups with ice-breaker or comments funny/interesting events happening currently to make the mood/setting relaxed and comfortable
  2. Leave the stage open for the person to tell you how things are going for them in a personal and work context.
  3. As a leader its important to maintain proper body language and show genuine level of caring in what they are sharing (put yourself in their shoes)
  4. remove or put away distractions like smartphones etc during the catch-up
  5. try to let them tell their full story , do not interrupt unnecessarily
  6. give suggestions if a problem or issue has been highlighted. A suggestion based on practical implementation is valued way more than something blue-skies or unreasonable.

This then equips the leader with a mental map of how to tread when dealing with a specific individual. From Test Automation task to General test tasks I now know better the boundaries or barriers regarding achievement of these tasks by each one of the people I lead, also ‘hopefully’ 🙂 gaining their trust in having a genuine interest in their lives

1352866072leadershipandthepoweroflistening

source: https://www.visionroom.com/leadership-and-the-power-of-listening/

Receiving feedback

If you are doing feedback as a leader which is one directional (leader>lead) you might want to revisit or open yourself to feedback the other way too (lead>leader). With any relationship, open and honest two way communication is critical to the success of that relationship.

leader-receiving-feedback-effectively

(image source: https://connect.edgetrainingsystems.com/blog/tips-for-receiving-feedback-effectively)

Usually to most people let alone leaders eliciting and requesting feedback can seem like a daunting task. But in my view this is imperative for one to have sight of their ‘blind-spots’ and help them grow as a leader.

Even when a leader musters the courage to request frequent feedback, how one goes about requesting it, usually requires a measured approach.

  1. Be specific. For example in your catchup or emails to those whom your lead, don’t just state “do you have any feedback for me?”. Usually the person you lead will feel scared or uncomfortable to speak his or her mind. Ask questions like “right now do you feel as if there is anything more I can do on the UI automation side to make automation easier for you?” or “do you feel like you received enough support from me when that Dev challenged you on that bug that you logged”
  2. Don’t become defensive if you hear negative feedback. Rather gather your thoughts and try to think it through, then let the other person know that its a potential action point which they can hold you accountable to try rectify or action in future
  3. find peers or people on your leadership/management level to give you feedback on how you can be more effective or areas where they feel you need to improve on.

The ultimate goal for yourself is to look at negative feedback as something constructive and help find out where it fits in helping you to become a better leader.

More layers to come…

As I keep writing these posts I realize there are many avenues one can go down in this leadership journey, most overlap so its extremely tricky to put these down as a step-by-step guide to leadership. In reality leadership is a mash-up of various ingredients which only gives the best flavor when mixed and applied correctly.

Bolster your leadership armoury!

delvv.io+-+Ken+Blanchard.jpg

Approaching your automation – with measured awareness!

The following is a blog post personally written originally for PractiTest

https://qablog.practitest.com/approaching-your-automation-with-measured-awareness/

Just as money makes the world go round, automation makes the testing world go round.

Automation has gone beyond just a buzz word and has now become a critical part of most organisations backbone to software releases. But the question remains, is Test Automation being done the right way? or an even bigger question should be, is there a right way to do Test Automation? The answer is usually it depends…it depends on so many different factors that come in to play regarding the application under the test, an environment, data, architecture and tons of other factors.

With any major project or task one does need a plan or a sort of strategy to get going with Automation. Many people use Quadrants, pyramids and other models to use as references to get the wheels in motion when deciding on an Automation approach for example for some awesome detail around some great models (including an Automation triangle model by myself). check out this link.

In my 16 years+ experience in the Test Automation world, my observations and experiences has led me down a path of putting down some of the key elements that goes into consideration when developing a Test Automation Strategy. I will discuss a few of these below.

1. The case of the test case – Test management tools or similar

Lets take it all the way back to the start. Whether you are using a specific Test Management tool or checklists/mind-maps etc in an Exploratory Testing world, there is an underlying aim. The aim to bring some sort of planning aspect or structure to how you tackle a testing task. At this stage believe it or not, is the first place where Test Automation ideas and thoughts should come to mind. You should identify typical automation candidates during the defining of your test cases/scenarios.

The other aspect around a Test management tool or similar is the key element of visibility and transparency that it provides to all. Test Automation should not happen in isolation and the better a tools ability to provide full on transparency, traceability and visibility to the team, the more relevant it will be to your test automation effort. Never under-estimate the power this element brings, especially to a developing Agile universe- where team play is critical to the success of any organisation. Everyone should be on the same page regarding your teams automation effort. Visibility seen in the terms of test coverage, test results, test trends and all sorts of fancy automation stats comes to mind here.

A further point which can be related to a test management tool in some cases or possibly an external tool like CI/CD supported tools like Jenkins or Gitlab is the ability to executethese automation tests/scripts in batches or in a pipeline, scheduled or on-demand. This is a far step forward from the good old days of scripts residing on a specific machine and executed rather tediously sequentially by opening each test before execution

2. Where to automate- Show me where!

Another key element regarding an automation strategy is ‘Where’ and ‘What’ to automate. Well in a way the ‘What’ to automate is tackled above, the ‘Where’ to automate in this context is not referring to a specific test environment but rather speaking to the layer of the application to automate. Are we talking automation of Front-end or Back-end, are we talking API or UI or possibly even DB. And then the question of E2E testing comes in to play and even further to that Multiple cross- system E2E tests. As you can see automation involves a lot of thinking before doing. So typically inter-Team and tester discussions are vital to get right before deciding on ‘Where’ to focus your automation efforts

3. Tool selection- choose wisely

It doesn’t get any easier you know

Now that we have an idea of ‘What and Where’ to automate the even tougher task of choosing the right automation tool for the job becomes key. In some instances a tool is already purchased at a company and automation has to now abide by this pre-selected tool, that scenario provides its own challenges which I wont get into in this post. If destiny was in the testers own hands a then the choice of a tool should span multiple areas. Some quick points that come to mind regarding tool selection are as follows:-

a.) Tool to technology —> can the tool automate our web application? can the tool automate our desktop application? Does it support API automation? How about mobile platforms?

b.) Tool support —> is there support to aid with assistance regarding problems, crashes or tool maintenance. How often are newer versions of the tool released?

c.) Language support —> what coding language does the selected tool support? Does it support multiple languages like Java and/or Javascript. This question also becomes relevant when doing recruitment and hiring.

There could be many other points to consider in your eco-system that would be relevant regarding tool selection but the above points are some of the first things to keep in mind.

4. Environment Stability- keep it tidy

This is one area which is often over-looked yet negligence or instability in this area could almost nullify all you test automation efforts. Think about this, imagine having the flashiest, beautifully crafted new age Yacht! But you take it to the most rockiest waters to sail on. What an epic fail that would be!

This is exactly how it feels or would feel if there is environment in-stability. Questions around environment up-time, dependency availability (whether local or external) needs to be address here. An example that comes to mind here is something like a google API dependency to test log-in feature of an application. If there is interrupted connection to external services and your tests depends on it, then how reliable or trustworthy is your automation.

Finding ways to weed out problems in your environment and coming up with ways to make your environment more stable as you grow your automation efforts becomes critical.

5. Data, data and more data

Data is another concept which is so key to an automation approach. Data is complicated and can bring many challenges, this is mostly down to the numerous permutations that could exist per any given scenario. Hard coding automation test inputs and variations are almost frowned upon and rightly so in many instances as the power of your scripts reach to find defects is greatly enhanced by feeding it random data per execution. You chances of finding defects per unique data scenario greatly increases with this approach. In a way this can be seen as a form of automation exploratory testing which is a win-win situation.

So focus on finding ways to randomly generate or obtain different combination of data inputs to strengthen your automation efforts, whether this be in the form of sourcing data from tables, files or api’s, it is definitely worth investigating. Some thing to keep at the back of your mind here is the speed aspect. Would sourcing this data slow down your scripts? By how much will it slow them down? These are calls you would need to make as a team when considering how to approach the data vs coverage topic.

In closing

To summarise, It all starts with with how you start. For a well thought out automation approach one has to keep in mind that automation does not just happen. Early automation candidate identification, visibility, team interaction and general planning is imperative to have a solid foundation. Once this is established the other key factors like tool selection, level of automation, data and environment issues need to be addressed to make your automation a success in your world.