Overcoming Barriers to Effective Communications in Agile Teams

Communication is the foundation of success for an agile team. Agile teams need to set up effective communication channels and have a culture of constant communication for complete transparency.

However, there are often several challenges that act as barriers to productive communication and may lead to people problems as well as delayed or failed projects. In my article for TestRail https://blog.gurock.com/agile-barrier-communication/ , I have discussed some of the most common barriers to effective communication for agile teams, as well as how you can overcome them.

  • Physical Barriers
  • Cultural and Language Barriers
  • Emotional Barriers
  • Perceptual Barriers

Read the complete article here ->

Agile teams require constant communication, so it immensely benefits the team to recognize their barriers to effective communication and take some measures to overcome these barriers. Every step taken in this regard leads the team farther down their path to true agility.

Speaking at the DevOps & Agile Testing Summit – 8Nov’19, Bangalore

I was invited to speak at the DevOps and Agile testing Summit organised and conducted by 1.21GWs on 8th Nov 2019 at Bangalore. It was a great event which brought together many keen minds as delegates and many inspiring speakers. https://1point21gws.com/devops/bangalore/

My talk was on “The Building Blocks of a Robust Test Automation Strategy”. As we know testing teams are faced with a number of questions, decisions and challenges throughout their test automation journey. But there is no single solution for their varied problems! In this talk I outlined a number of strategies that agile teams can follow– be it their selection of what to automate and how much, what approaches to follow, whom to involve, and when to schedule these tasks so that the releases are of best quality.

I am grateful that my talk was so well received and led to great discussions later with many participants. I enjoyed the day and am always glad to be invited by the 1.21GWs team.

A peek into the event – pictures from my session

@Sahi Pro was also a knowledge partner at the event and delegates also got a peek into Sahi Pro via video and brochure handouts.

Looking forward to many more successful events! 🙂

The Agile Mindset: Cultural Changes for Successful Transformation

Agile transformations can be a challenging undertaking, and many organizations struggle with what is probably the hardest part of the transition: adopting an agile mindset. It is imperative that teams embrace the agile culture before they can fully embrace agile.

Let’s discuss the major cultural shifts needed for a successful agile transformation. Full article-> https://blog.gurock.com/agile-mindset/

Collaborating to Make Decisions

As I always like to say, agile is more a mindset than a process. It guides you to a better way of working and collaborating in order to deliver the most value to your users. But how you choose to implement those guidelines is up to you, and most teams coming from a traditional style of software development find this aspect the most challenging.

Teams are left to find ways to work together rather than having a process forcing them to do certain actions, follow certain processes, or organize specific meetings. There are no templates or techniques to adhere to and no rules to follow strictly.

This may come as a surprise and leave teams guessing since they are used to being told what to do and how. Agile drives them to think on their feet as they plan and replan their way through the development process. Read More–>

Being Comfortable with Visibility & Exposure

Agile gives everyone a voice and values every person’s opinion. Many teams have been used to only the manager speaking for them or having one representative in most meetings. As a result, some team members may feel flustered now that they’ll occasionally be in the spotlight. People who are not used to voicing their opinion are expected to speak in all forums. Hiding behind the team is no longer an option in agile.

This also means team members are valued as individuals and everyone’s contribution is recognized. Agile treats all team members as equals, whatever their role or designation. They are expected to estimate their own tasks, pick things to work on, collaborate with other team members, and provide value by the end of each iteration. Continue Reading–>

Increasing Communication and Collaboration

Communication is a big factor in agile teams. Developers and testers are always expected to be co-owners of their features and user stories, so they need to collaborate constantly. Business analysts and product owners also need to collaborate with the team to ascertain requirements, answer questions and get clarifications.

Single-scheduled points or meetings during the day are no longer enough. Teams need to learn to collaborate rather than handing off work from one person to the next. The tester-developer relationship sees a new dynamic of working toward the same goal rather than against each other. This may be the toughest of all cultural shifts, so it needs proper grooming from the managers and product owner.

We can no longer rely on metrics like the number of defects logged to find which tester performed the best, or defects logged against a feature to find developers’ efficiency. These are not useful measurements for agile teams and are not good for promoting collaboration.

Managers must encourage team spirit. Instead of pitting developers and testers against each other, managers should promote collective ownership of a user story by a developer and a tester. Continue Reading–>

Embrace the Agile Mindset

Ceremonies and meetings can be organized and repeated easily, but the culture and mindset that are needed to succeed in your agile transformation journey do not come in a single day. Time and patience will be required to resolve people issues, answer questions and doubts, and schedule multiple types of training and team activities to get everyone on board. But these small steps can go a long way toward making teams understand and embody the spirit of agile.

Please read, comment and like my article at TestRail blog https://blog.gurock.com/agile-mindset/

3 ways Agile testers can use Walkthroughs

A walkthrough is a great review technique that can be used for sharing knowledge, gathering feedback and building a consensus. Typically, walkthroughs take place when the author of a work item explains it in a brief review meeting — effectively walking the team through the work — and gathers people’s feedback and ideas about it. These meetings may be as formal or as informal as needed and may also be used as a knowledge-sharing session with many relevant stakeholders at once.

In my article published at https://blog.gurock.com/tester-agile-walkthrough/ , I have discussed three ways agile testers can make use of this type of review for their sprint- and release-level test plans and test cases to get the entire team involved in the quest for quality.

I have also discussed how I have used walkthroughs in my agile team as a mechanism to review our sprint test scenarios with the entire Scrum team. The main areas of application are-

  • Defining Scope
  • Generating Test Ideas
  • Building a Consensus

Click here to read the complete article–>

Walkthroughs are a quick and easy review technique to adopt, and they can be especially useful for testers on an agile team to get reviews on their test plans, test cases, and scripts. Give this technique a try, even if in an informal sense, and see how beneficial it can be!

I am speaking at ‘Targeting Quality 2019’ , Canada

I am super excited to be speaking at this grand event TQ2019 being organised by KWSQA on 23-24 Sep in Canada!

On top of that I get to present not one but 2 talks!! My topics are

“The What, When & How of Test Automation” 45 mins

In this I will talk about preparing robust automation strategies. Agile means pace and agile means change. With frequent time boxed releases and flexible requirements, test automation faces numerous challenges. Haven’t we all asked what to automate and how to go about the daily tasks with the automation cloud looming over our heads. Here we’ll discuss answers to some of these questions and try to outline a number of approaches that agile teams can take in their selection of what to automate, how to go about their automation and whom to involve, and when to schedule these tasks so that the releases are debt free and of best quality.

“Gamify your Agile workplace”    15 mins

In this I’ll present live some innovation games and have audience volunteers engage and play games based on known scenarios. Let’s Play and learn some useful Innovation Games that can help you gamify your agile team and workplace, making the team meetings shorter and communication more fun!

Both these topics are close to my heart and I am looking forward to sharing my thoughts with a wider audience.

I am also excited to meet all the awesome speakers at the event , as well as get to know the fantastic team of organizers behind this event!

Check out the detailed agenda here – https://kwsqa.org/tq2019/schedule/

Follow me at @testwithnishi, @KWSQA and #TQ2019 on twitter for more updates on the event!

Also check out & support other initiatives by KWSQA at https://kwsqa.org/kwalitytalks/

Wish me luck! 🙂

What can you learn from the defects you found?

The bugs we find during testing can tell us a lot about the application, the state of its quality and its release-readiness. Bugs can also provide insights into our development processes and practices — and lapses therein.

How can we study bugs to improve the overall state of our project? In my article published @Gurock TestRail blog, I have described three things to learn from the bugs you find. https://blog.gurock.com/three-learn-bugs/

 The location of defect clusters

Defect clustering is one of the seven principles of software testing, and keeping an eye out for these clusters is the responsibility of a good tester.

As we log defects into a tracking tool or portal, teams generally follow the practice of measuring relevant modules, components or functional areas against each defect. When tracked over time, this information can be real gold! It helps us track which areas of the application are having more bugs.

We can plot these area metrics against the number of defects raised and find the defect rates over time. We can also create filters to raise concerns whenever the defect rates go over a certain limit in any specific area or component. This can help us combat defect clustering by doing a fresh analysis, revisiting the tests being performed and focusing more of our exploratory test efforts in those areas.

Overall, knowing about these defect clusters, keeping an eye out for them and regularly revisiting the areas will help us keep the quality of the entire system in check.

Frequency of defects (and their resolution)

The frequency of defects being found and logged tells us a lot about the maturity of the product.

In the beginning of construction sprints, defects are supposed to be frequent and plentiful. We may not go by numbers here, but the relativity of them. As we progress toward a release, the number of defects generally declines, indicating that the system is now more mature and sturdier after withstanding multiple test cycles. Some teams even use the metric of mean time between failures as an exit criterion for testing, indicating that they will only finish testing once they cannot find any new defect for a certain number of days.

As defects are raised, triaged, resolved and verified, there is a typical turnaround time that we expect. Most defects will go through this lifecycle within a reasonable stipulated time or will be postponed with a reason or business decision. Some defects may linger in the system for longer.

There may be a variety of reasons for these decisions:

  • A defect requires more information, and the developer is awaiting confirmation or details from the tester who raised it
  • The defect was misunderstood and there are comments going back and forth between the tester and developer about the expected behavior
  • The assigned developer was on vacation for a week and the defects have not been fixed, leading to a plateau in the defect-fix-rate graph
  • Defects are awaiting triage by the product owner and do not have priorities or the correct people assigned to them

Whatever the reason, knowing the cause of defects remaining open, in progress or unresolved for longer than a stipulated time is important. We may have to fix people issues or communication gaps, or may just need to schedule a short triage or discussion with the team to decide on the fate of such issues. But understanding any delays gives us a much-needed insight into team dynamics and helps us smooth out the process.

The reasons behind rejected defects

The number and type of defects getting rejected — and the reasons behind the rejections — can also tell us a lot about the state of the product and psychology of the team. If you see a high number of irreproducible defects, it may mean that some data or information is getting lost when reporting, or that the testers do not have enough time or perspective to reproduce the defects.

A high number of duplicate bugs may show that testers are unaware of the system’s history, or maybe they are new to the team and need to get a little more background. It may also be a case of the same bugs reoccurring, which might have been fixed and closed in previous releases.

Incorrect defects marked with “Not a bug” or “Working as designed” tell us about a lack of understanding of the system on the testers’ side. Or it may be due to a lack of communication among the team members, leading to different perceptions about the features that were designed or implemented.

Our findings from these types of defects can help test managers or project owners plan measures like internal trainings and knowledge sharing, which can enhance communication among team members and introduce prerequisites to fulfill before logging any issues.

There is a world of information that your defects can provide. If you take a good look at your bugs and talk about them as a team, you can find ways to use that information to your advantage.

Read more–> Click here for the full article

Happy Testing!

Scrum, Kanban & Scrumban – What’s the difference?

Agile is a big umbrella that covers a number of different approaches, and there is always scope for more. There are so many flavors because agile is a mindset that allows flexibility in its processes. Two of the more popular approaches are Scrum and Kanban.

Scrum and Kanban apply agile principles in their own way to empower effective delivery cycles. “Scrumban” is a term coined for a hybrid approach making use of both Scrum and Kanban principles.

In my article published at Testrail , I have explore the differences among the three methodologies – Scrum , Kanban and Scrumban. Check it out and see which of these methodologies may be right for you. https://blog.gurock.com/scrum-kanban-scrumban/

Here is a brief about the 3 methodologies –

SCRUM

Scrum is the most popular agile framework. It is iterative and incremental in nature and focuses on tight delivery timelines. The release time frame is split into small iterations called sprints. Work items are planned for each sprint in the form of user stories and tasks, which are prioritized based on value. Teams are small, cross-functional and self-organizing, with a product owner, a ScrumMaster and the development team.

Scrum provides channels for communication through ceremonies such as the sprint planning meeting, the daily standup meeting, the sprint demo, and the sprint retrospective, all of which contribute to the overall pace and a flexible approach to software development.

Scrum Task board

KANBAN

Kanban is focused on continuous delivery based on lean principles. It’s based on the flow of work and just-in-time delivery and promotes process improvement. Kanban aims to eliminate waste, increase productivity and efficiency, and have flexibility in production. The main goals are to limit work in progress (WIP), avoid multitasking and recognize bottlenecks.

The Kanban board essentially consists of three phases: Input, Work in Progress and Output. Columns under each designation can be used to signify more important tasks and priorities. The tasks in backlog are added to the board with small descriptions and are assigned to team members using the “pull” principle, based on priorities.

Here is a useful sketch I found to illustrate the difference between Scrum & Kanban–

Differences- Scrum vs Kanban

SCRUMBAN

First introduced a decade ago by Corey Ladas, Scrumban was intended as a transitional state for Scrum teams moving to Kanban but later emerged as a framework of its own. It now leverages elements of Scrum and Kanban and focuses on continuous work with short cycles for planning.

Fundamentally, Scrumban is a management framework that emerges when teams employ Scrum as their chosen way of working but use Kanban as a way to view and understand work and continuously improve their processes.

Tasks are taken up using the “pull” principle from the backlog of items on the board, so people can decide to take up the task they want. WIP limits are used to avoid bottlenecks and delays. Once all current backlog items are done and the backlog column is empty, it is a trigger for the next planning, so planning happens on-demand as needed.

Scrumban board

Please click here to read the full article — > on the Gurock TestRail blog site.

Please like, comment and follow the blog for more interesting articles!

Thanks

Nishi

4 ways Task boards can help Agile teams

A task board is a physical or virtual chart containing all current team tasks at hand and their progress over time. For an agile team, all sprint tasks can be represented on the task board, and their flow over various stages can be tracked in the daily standup meeting. Task boards are a great way to visually representing pieces of work and their status.

Besides helping to organize and track work and being the focal point of the iteration and relevant meetings, task boards can have numerous more benefits for an agile team. In my article published @Gurock, I have discussed four additional ways in which Task boards can help an agile team-> https://blog.gurock.com/agile-task-boards/

Different styles of Task boards

Main points discussed–>

  • Customize the process
  • Visualize their Scrum
  • Improve Commitment and visibility
  • Facilitate Team interactions

Click here to read more ->

My talk @Playscrum Meetup by Leanpitch- 20 July’19

I was invited to present a talk at this month’s @Playscrum Meetup at Bangalore, hosted by @Leanpitch technologies on 20th July

It was a small event with a great set of delegates who gathered to hear me talk about Gamification in Agile teams. Agile teams rely heavily on communication and collaboration among all team members. In this session, I talked about about ‘Innovation Games’ which help make all agile meetings and ceremonies shorter, crisper, more visual and open involving all team members.

It was an interactive session wherein we played many Innovation Games with the audience volunteers, which was a big hit with everyone. There was good participation, many great ideas and discussions in the group. Overall a good experience at my first Playscrum meetup in Bangalore. Would love to collaborate again soon!

Here is a glimpse of the event-

https://www.meetup.com/PlayScrum-Bangalore/events/262475507/

Four Questions to ask yourself when planning Test Automation

Test automation poses its own challenges different from manual testing. Teams struggle to get the most out of their test automation due to many hurdles along the way.

Good planning can act as a solid foundation for your test automation project and help you fully reap the benefits. Consequently, there are many things to consider and discuss prior to jumping into test automation to ensure you are following the right path.

In my article published at Gurock TestRail Blog, I have discussed four main questions to ask yourself before starting with test automation-

  1. What is your team’s goal for test automation?
  2. What about implementation?
  3. What is your execution strategy?
  4. Who will focus on maintenance?

Read the full article here to find more on each of these questions and how these help to finalize on a test automation strategy which will help lead your team to success!

Please give this article a read and share your thoughts!

Cheers

Nishi