Only 52% of enterprises state that Agile works well across their organization. These statistics underscore a common challenge faced by businesses worldwide: the need to optimize Agile and DevOps processes to realize their full potential and strengthen their competitive advantage.

In response to this hurdle, we present four actionable tips, allowing companies to streamline Agile and DevOps practices, drive greater efficiency, and attain desired outcomes.

Understanding Agile and DevOps

Agile methodology emphasizes smaller, more manageable sprints to allow businesses to swiftly adapt to changing requirements and accelerate the delivery of high-quality IT products aligned with customers’ expectations. The iterative nature of Agile also enables organizations to rapidly course-correct, reducing the risk of failures and increasing the overall transparency of the project.

DevOps, in its turn, encompasses the entire software delivery lifecycle. By integrating development, operations, and QA teams, DevOps helps companies release new software features and updates more frequently.

Unleashing value: benefits to reap with Agile and DevOps

Embracing Agile and DevOps methodologies goes beyond mere process optimization. They help companies unlock a multitude of other benefits. Let’s look at them!

  • Hastened velocity

By streamlining development processes and automating time-consuming and repetitive tests, Agile and DevOps assist businesses in reducing the release time. This accelerated pace helps organizations to stay ahead of competitors and expand market share.

  • Increased software quality

By integrating rigorous QA practices and test automation into the development process, Agile and DevOps help ensure that the IT solution undergoes comprehensive evaluation at every stage of development. Thus, companies detect and eliminate defects early in the SDLC while launching a product of higher quality and greater reliability. Ultimately, this fosters customer loyalty and enhances user satisfaction.

  • Optimized budgets

Agile and DevOps contribute to cost reduction by minimizing expensive rework after going live. This results in improved efficiency, lower overheads, and higher ROI throughout the software delivery lifecycle.

  • Enhanced cooperation

Agile and DevOps methodologies promote a culture of open communication, breaking down silos between teams and fostering a sense of shared responsibility. This collaborative environment encourages knowledge sharing, facilitates alignment on project goals, and empowers experts to work towards common objectives.

Optimizing Agile and DevOps processes: 4 tips to follow

In this chapter, we suggest four actionable tips designed to streamline workflows and drive continuous improvement in Agile and DevOps practices.

Tip #1. Rely on test automation

Faster delivery, higher-quality software, reduced test cycle time, and increased efficiency – all achieved with test automation. In addition, according to the World Quality Report 2023-24, automation helped businesses mitigate risks (54%), reduce life defects (51%), and improve customer experience (50%).

Source: The World Quality Report 2023-24

Test automation serves as a linchpin of Agile and DevOps, enabling teams to eliminate manual efforts and time-consuming tasks while focusing on core activities. Applied within flexible methodologies, it allows companies to detect defects early in the SDLC, conduct continuous app updates, expedite feedback loops, and deliver software increments more rapidly.

Tip #2. Choose the appropriate toolset

To attain the desired outcomes in the Agile and DevOps environments, organizations should choose the right test automation toolkit. To do this, it’s essential to evaluate several factors, including:

  • Compatibility — to ensure that the tools are aligned with the technologies and frameworks used in your software development ecosystem and offer seamless integration with CI/CD pipelines, version control systems, and bug tracking platforms.
  • Ease of use — to minimize the learning curve for team members and facilitate the toolset adoption.
  • Feature set — to guarantee it meets your specific testing requirements, including support for various testing types be it functional, performance, or security QA.
  • Costs — to assess licensing fees, maintenance expenditure, and any additional expenses associated with training, support, and infrastructure requirements.

Tip #3. Invest in training and skill development

Allocate resources towards training programs to empower team members with the knowledge and expertise needed to excel in Agile and DevOps environments. By providing access to comprehensive workshops and certification programs tailored to Agile and DevOps practices, companies foster a culture of continuous learning and cultivate a highly skilled workforce.

The experts, in turn, are better equipped to deliver high-quality results in less time and respond more effectively to changing market dynamics, providing the organization with a competitive edge.

Tip #4. Adopt a DevSecOps approach

By treating security as a core component of the development process rather than an afterthought, businesses strengthen their overall safety level, enhance resilience against cyber threats, and protect sensitive data. To identify and mitigate vulnerabilities before they leak in production environments, businesses should integrate security into all phases, from design and development to testing, deployment, and operations.

Conversely, neglecting security measures can expose companies to data leaks and other issues. This can lead to severe consequences, including legal liabilities, financial penalties, and loss of customer trust, which can have far-reaching implications for long-term viability. Therefore, leveraging a DevSecOps approach is imperative to protect their assets, maintain regulatory compliance, and maintain a positive reputation.

To sum up

To release high-end software products at speed and excel in today’s competitive IT landscape, businesses should streamline their Agile and DevOps processes.

For that, they can rely on test automation, choose the appropriate toolset, invest in training and skill development, and adopt a DevSecOps approach.

If you need support in improving your Agile and DevOps workflows, reach out to a1qa’s team.

Whether your business is navigating cost-saving endeavors, striving to generate more revenue, or on the brink of a transformative pivot, the role of QA is paramount to achieve these results.

By employing software testing trends that will shape this year, companies can tailor their unique pathways and efficiently attain the desired goals.

Let’s get to the point!

Trend #1. Shift beyond traditional test automation to maximize the benefits

By reducing costs, streamlining testing efforts, and improving accuracy, test automation has become a cornerstone in modern software development and QA processes. Moreover, the respondents of the World Quality Report (WQR) 2023-24 state that with automation 54% of them mitigated risks, 52% — enhanced test efficiency, and 51% — decreased the number of live defects in the previous year.

By leveraging test automation, businesses can rapidly execute repetitive and monotonous tests, thus saving hours of manual effort. This accelerates QA workflows, allowing for faster releases of high-quality software and rapid adaptation to changing market demands.

While traditional test automation brings plenty of benefits to the table, companies can maximize them by implementing additional toolsets, namely AI-based and low code/no code.

With AI-driven test automation, organizations have a possibility to:

  • Enhance software testing processes. By leveraging machine learning algorithms, AI-based automation identifies complex patterns of IT solutions’ behavior and can predict potential defects at the initial SDLC stages.
  • Refine test maintenance. AI-powered automation can adapt to changes in the software and adjust test scripts as the IT product evolves. This capability aids businesses to reduce the labor hours required by QA experts for script updates, ensuring that the testing process remains efficient in the face of continuous development and modifications.
  • Optimize test execution. By intelligently selecting and prioritizing tests based on several factors, like code changes and historical defect data, AI algorithms streamline test case execution. Thus, companies speed up test runs, focus on high-impact areas, and pay attention to the weakest parts of the software. This approach makes it possible to identify bugs early in the SDLC, contributing to faster releases and shorter time-to-market.

Although AI-driven test automation holds tremendous potential in revolutionizing QA workflows with enhanced speed and efficiency, there are notable nuances to consider. For example, AI models require ongoing monitoring and refinement to adapt to evolving software changes. In addition, implementing AI-empowered automation involves significant upfront costs related to infrastructure, training, and tool adoption.

Low code test automation provides organizations with:

  • Simplified project start. Low code/no code automation provides a streamlined starting point for projects, allowing teams with diverse skillsets to seamlessly introduce test automation. This accessibility facilitates a smoother onboarding process, accelerating the integration of automated testing into projects without the barriers posed by complex coding requirements. Moreover, its out-of-the-box structure simplifies test creation and execution, reducing the time and efforts required to initiate and manage QA activities.
  • Accelerated test script development. With no code/low code automation at the core, businesses can create and execute test scripts without the need for extensive programming skills. This speeds up their writing, allowing teams to faster respond to changing requirements and tight deadlines.

Low code automation still requires QA automation specialists to assist from a technical perspective, including the execution framework support. In contrast to traditional test automation solutions built on open-source free toolsets, codeless tools often come with a price tag, potentially offsetting the perceived budget savings.

By adopting modern test automation methods in 2024, organizations will be able to launch a high-quality IT product at speed while meeting (or even exceeding) end-user needs, reducing operational expenditure, and minimizing risks. However, to attain these goals, companies should carefully consider both the advantages and challenges associated with evolving testing approaches and align them with the specific requirements of the project.

Trend #2. Continue embracing Agile practices to strengthen competitive edge

A staggering 80% of companies worldwide are now leveraging Agile practices. The driving force behind this surge lies in the business benefits it brings, with 52% of respondents accelerating time to market and 31% mitigating risks through Agile implementation.

However, this transformative journey isn’t without its challenges. A significant hurdle for many organizations is a skill gap: 60% of the 1,750 IT executives interviewed for WQR grappled with a lack of coding abilities and 57% of them faced a lack of knowledge of Agile techniques.

Source: World Quality Report 2023-24

To address these issues, companies should:

  • Invest in training programs to empower QA teams with the right skillset, enhance their coding competences, and improve their ability to effectively contribute to Agile processes.
  • Introduce a shift-left testing approach to identify and rectify software bugs at the nascent SDLC stages, thereby eliminating expensive post-launch defect fixes and refining the overall IT products’ quality.
  • Integrate with DevOps/DevSecOps to foster a seamless CI/CD pipeline, execute automated test scripts on different environments, ensuring faster delivery of reliable applications and the adoption of security practices throughout the entire software development lifecycle.

Trend #3. Prioritize value over speed to drive strategic business outcomes

Since many companies are already moving at a fast pace, their priorities have shifted from speed to identifying risks and minimizing them, maintaining financial stability, and securing organizational reputation.

To shift towards a result-oriented mindset and focus on client-centricity, 71% of companies incorporated value stream mapping (VMS) in 2023, as per WQR 2023-24. This approach helps analyze, streamline, and optimize business workflows (from initial idea to final software launch) to boost customer experience.

In part 2 of the article, we’ll explore more QA and software testing trends, helping you attain the desired business objectives in 2024. Stay tuned!

To get professional QA assistance in enhancing your software quality, reach out to a1qa’s team.

Agile quality assurance is a term which many technology teams have heard. In the following statement, I will be sharing what QA in an agile team looks like, and how you can release at pace with the same software quality.

Firstly, when a team details that they would like to be more agile and deliver updates more frequently, it can scare a QA team. They will envisage that they will need to test a code base that changes daily with no breaks and not enough time for each.

Is it so? Let’s answer this question together.

What about Agile manifesto?

dileep-blog-1

You may have also heard the myth that companies get rid of QA when they are trying to move towards agile. This is incorrect. You will need to focus more on quality if you are adopting agile.

In an agile team, everyone is responsible for quality. The goal is not just finding bugs and defects, but also preventing them during the development cycle.

How can QA meet the agile manifesto?

4 key aspects that I have used to follow QA in an agile form include:

  • Add QA documentation where it brings value.
  • Always look for automation opportunities.
  • Always look into automation tools, thus making your testing more efficient, repeatable, and easier-to-track.
  • Understand your customers and ensure that you know the quality level they expect. Also, the double bonus, you will be automating smartly — the right things.

I have touched on automation in the above — automation is key as you have guide rails, so a good opportunity to react quickly to changing priorities and have a constant quality measure.

QA should be involved throughout the whole agile process. They should be a part of the team. The key to this is pairing on a task and discussing how a story should be tested. If we involve QA earlier, why not then shift QA left and have more of a chance to meet the delivery at high-quality considerations?

8 key tips for QA members working in an agile team

1. Join the agile team and work together

  • Standup, retros, demos, planning sessions.

2. Focus on the existing methodologies

  • Learn how your customer uses the product and prioritise what you test.

3. Automate your key tests

  • Black box testing and working with engineering so you pair on automation.

4. Test manually for the right reasons

  • Exploratory testing and always asking the ‘What if’ questions.

5. Continually improve

  • Build maintainable and non-flaky test suites.

6. You must have excellent product knowledge

  • Collaborate with your product team and learn about the product.

7. Shift left

  • Test as early as possible and in smaller chunks.

8. Shift right

  • Look to monitor, identify, investigate and remediate based on real-world scenarios and conditions.

The QA team is not the gatekeeper of the quality of a software product. The whole TEAM is responsible.

The agile QA process: 9 steps

QA should be involved in all of the above and think of ways to implement them with more automated processes or faster feedback loops.

Summary

What is important? To reflect, refine, improve, and progress with enhancing processes. Following agile is never easy, though, my advice is — by adding more value with, let’s say, automation it will make a massive difference.

The agile working style is disrupting traditional approaches to delivering software quality, allowing organizations to keep up with the fast development pace, ensure business continuity, and improve operational efficiency. A specific role in this process is dedicated to quality assurance.

Through the mature culture of excellence, it’s easier for companies to ride the wave of innovation, accelerate time to market, and minimize production failure risks. But how to build this true culture of quality? How do we seamlessly embed QA practices into the Agile environment, and how can automation enhance testing capabilities?

To answer these and many other topical questions, we took an interview with Dileep Marway, an experienced QA engineer in the past and VP of Engineering and Quality at SHL ― a world-known developer of data-driven talent acquisition and talent management solutions that help businesses maximize their people’s potential by building agile, highly flexible teams.

With around 13 years of contributing to the QA field, Dileep regularly gives back to the IT community by writing content to show the value of QA for releasing sound software. This time he produced the series of articles “Agility and speed: Supercharging your business strategies with QA” for a1qa that we’ll talk about today and share with you all very soon!

Dileep, please tell our audience some words about yourself and how you got to the position you are in today.

I’ve worked in a multitude of roles, and quality assurance is where I started. Essentially, I’ve been doing digital transformations at different scales, and a lot of that has had quality at the heart of everything that we do. Making sure that customers are getting the right type of quality and what they expect has been vital.

If I look at my journey in my previous role, I accomplished digital transformation for a startup-type team in central Birmingham, UK, and most recently, I’m doing a digital transformation for an enterprise-type organization at SHL.

Thank you for introducing yourself. Why did you choose to contribute to the quality assurance field?

I started as a graduate tester, and the main reason for that was generally I was very structured in my approach. I initially studied pharmacy at university, then I moved to Computer Science. I always go back to that structured scientific approach, as it has suited the quality assurance realm well.

I was very passionate about quality when I first joined, but for me, to be more rounded as a QA engineer, I needed to understand the other areas of the software development life cycle.

In my career, I have worked in production support, in product, in delivery, and I was Head of DevSecOps. As a QA engineer, it’s good to understand the other areas very well because it’s good to collaborate and improve processes as a whole.

Quality cannot be achieved just by one person; quality has to be reached by a team.

We know that you give back to the IT community and write content to raise the awareness of QA value for the business. Could you, please, briefly introduce the series of blog posts for a1qa that you’re working on right now?

Sure. Luckily a1qa gave me this opportunity, and it’s very kind of them. I enjoy blogging, writing, and helping others. I’d like people to help each other because that’s how we all level up ― and everyone can get to their destination.

The first blog that I did was on Agile QA. And this is a very important subject because everybody wants to go fast. But essentially, it’s key that we go at a speed and follow users’ expectations. As an example, if a client wants a car and they want it to be red, they expect the car to be red at the end of the week, not for it to be blue. In this article, I’ll share tips and good ways of working that a QA member can contribute to being Agile and contribute to the output in a team.

The second article was about the culture of happiness. Why is this important? It’s key in any type of digital transformation, whether it’s quality, engineering, or DevSecOps, culture should be at the heart of everything that you do. I always say: “If you are in a happy team, you have a good output of work.” And if somebody wants to go to work, they are happy and will be doing a good job.

And then the last blog is on automation. This is essentially talking about automation, what is the value, why people automate, and also what aspects you need to do before you jump into automation.

What I’ve seen in my experience is that everybody wanted to automate but wasn’t quite ready. There are certain things that they need to do before starting to automate because otherwise, once you do, it’s a bit like if you buy a house that has leaky plumbing. And you are just trying to fix the pipes all the time, whereas you should be checking them before you buy the house in the first place. So, that’s a nice analogy that I like to use. And in the article, I’ll be covering that.

Good examples. Thank you! In your opinion, why should companies go for independent software testing instead of in-house?

My experience is that firstly, it depends on the type of journey the team is on. Initially, it’s good to know where you are in the transformation. Are they experienced or not in their QA practices? Is there a collaboration between engineering quality and product?

For me, where you’ve got a team, which is performing poorly, it’s great to bring in experts, learn from them, and say: “Look, I’m monitoring this team, but I’ve got bias because I’ve been looking after them for so long.”

That’s where I found great value in getting independent services. The experts can come in and independently review your company, provide an unbiased view, and make recommendations on what they would do because they know best practices and worked with other companies, maybe in a similar area.

In addition to telling you what is right, they can also say, “We can give you expertise in this area, which can fill that gap.” Whereas recruiting yourselves in-house, you have to go through a transition of training. Even before recruiting, find the right candidates, and then actually go through a transition. Maybe, if the time is there, it’s good to do both in parallel.

So, work with a testing partner, hire internally, and the two work together. But generally, where deadlines are short, stakeholder wants things quickly, stakeholder wants to see the value from the project quickly.

I think it’s a good idea to get specialists’ help – that’s where a testing partner really can excel.

Absolutely. As you’ve mentioned, one of the blogs is devoted to culture. In your opinion, how should the company train its employees to build a true culture of quality nowadays?

Firstly, there’s the culture on the people’s side, and that should be set throughout the company.

If you go to the top from bottom or bottom to top, everyone should have the same vision. They should talk to people with respect, give constructive, not destructive criticism, and respect your peers.

And there should be a level of psychological safety. If you make a mistake, you can learn from this mistake. That’s the first side that is very important. From a quality perspective, engineering, QA, and those in product roles need to work as one team.

What I really like is that QA isn’t just owned by an isolated QA team. You can run your automation pack, you’ve got engineers who are following TDD and unit tests – and that gives time for QA to specialize. For instance, QA is very good at exploratory testing, and you can add this niche skill, and the team can work together.

In a good culture of QA, they would say: “As a team, we’ve dropped the ball, but to learn, we’ll do this better.” That’s what I mean when I say a culture of QA. It’s more of a collaborative team effort to get something right.

Thank you for such good points. If you speak about Agile, from your professional experience, does Agile need QA, or does QA need Agile to ensure high-quality software?

It goes both ways. To operate in a DevOps culture, you need quick feedback. But how can we get it? The answer is QA.

You need test automation, great performance, and security tests. There’s always going to be a quality need, and the team requires processes in place at speed so that they can move in an Agile way.

For me, when people say that to go fast, they don’t need QA, I’d say, “QA is as important as having engineering in Agile. You need all your key team members there to succeed.”

If you turn to digital transformations, can they be successful without an Agile approach today?

For me it depends on the organization type and its maturity.

For instance, I worked on major projects where you need such a structured approach that operating in an Agile way is quite hard to do if you haven’t got the skills, the team, the right architecture, and processes.

What I found recently is if the architecture has been created from scratch or the engineering has been built from the ground up, then you can go with Agile in mind. But when you have legacy systems, sometimes you have to take a more pragmatic view.

And your advice on how to embed QA in Agile to ensure confident and secure digital transformation?

I’d say you do want QA to be introduced as early as possible. What I find very important is how QA gets involved in Agile ceremonies, so is QA asking the right questions? Asking the “how,” asking the “what.”

What would I do if I was in a session? I’d ask what the impact analysis is. I sit with the engineer and say, “Can you show me, which other areas of the application are impacted by this change, how are you making the change at a code level?” At the same time, I’d start to run my test cases, and I’d think outside the box.

As an example, if I’ve got a username and password, would I just put the right username and password in? No, I’d put characters in the username, I’d put emojis in it, I’d probably put some SQL code injection in it. So, for me, it’s the initial mindset and the investment that you put at the start of the software development life cycle.

When you get to the part where you’re running, you can meet the Agile processes because you’ve thought further ahead of the game. Initially, it’s difficult because it’s still slow but once you start understanding what to test, and what’s a high priority, then you can start to use automation.

Automate the high-priority test cases that matter to a user first. And then run these test cases in an automated manner regularly. The more you run, the better, because you get fast feedback. You find out how flaky your tests are, and whether there are any false negatives in the tests. The same is with the code, the more regularly you run it, the better because you know that something is broken.

So, if you’re a part of a DevOps culture to your engineering and your QA processes, essentially, the team will start to move in an Agile manner.

What should companies consider before introducing test automation, and why does this accurate planning matter?

The mistakes I’ve seen in the past have been automation for the sake of automation.

  • But why do you want to automate?
  • What are you going to automate?
  • What business value will this give to your customers?

First, assess what you are automating. In general, if you don’t have your test cases listed or you don’t know what they are and what your first priority test cases are, you’ll probably automate a piece of rubbish. And then you’ll just be maintaining that forever with no value. Once you know what you need to automate, collaborate with the product team.

They can help you and say: “I don’t think that’s important, why haven’t you thought about this?” Or “You put it as a priority three, and it’s actually a priority one.” So, collaboration is the key.

Now, when it comes to implementing automation, the framework and the programming language, for example, should be in your sweet spot. If there’s a unison of the language, then everyone in the team can contribute.

Multiple people engaged is crucial, because your automation pack should be seen as a product in its own way. If an engineer created it, it can still be of the same type as a QA engineer or automation engineer.

Once the programming language and framework are set up, there would be a roadmap to say, “I’m not going to implement this.” Then it’s important to run automation as frequently as possible to give you data to ascertain whether you’ve automated the right things, whether they’re giving you the right results, whether the tests are flaky, and whether they are finding any problems. It’s the initial transition.

What I normally find is people jump into that last step which is to write code. But people need to walk before they can run, which is what I would recommend.

As we know, test automation cannot fully replace manual testing. From your point of view, is it possible to determine the percentage of QA activities that should be automated?

I think it’s hard to put a percentage on it, mainly because it depends on the priority. If people are doing so, they would start to automate concepts that don’t add any value.

As an example, if we automate something and it takes 2 seconds to do it manually, why not test it manually as it takes far longer to automate it, and it will take longer to get the value back?

Or if we’ve got very complex functionality where a piece of code has dependencies in 20 other areas – if we automated it, what confidence would we have that it actually tests everything? That’s where the value of manual testing comes in. And the value of somebody doing this priority testing will come in.

I don’t really like to put a value on it. For me, it’s more for what you’ve automated, why have you automated that percentage, and why you’re not doing the other 40%. If somebody can answer those questions, I believe that’s the better way of answering it rather than just a value.

Dileep thank you very much for this interview!

We are witnessing flexible methodologies gaining momentum. Today, 94% of companies practice Agile; 74% of them implement DevOps. And to keep up with the high tempo of these environments, many businesses choose test automation.

In this article I am going to tell you

  • Why automated testing lies at the heart of Agile and DevOps
  • What advantages it brings to the table
  • Why it’s necessary to bear in mind manual testing
  • How to efficiently set up test automation processes.

Test automation in Agile and DevOps

Before the advent of Agile and DevOps and still in Waterfall, testing was always the last step in software development. Is it time-efficient? Absolutely not. Flexible methodologies helped provide businesses with more flexibility, greater speed, and better communication between project members.

However, is it possible to keep up with the fast-paced Agile environment by focusing on manual testing? Probably, it is pretty challenging. The app features receive updates at lightning speed, which requires putting test automation at the heart of Agile.

As Agile comes in numerous iterations, it allows testing the IT product more frequently from the initial SDLC stages. This is how experts identify more bugs from the get-go and timely eliminate them.

And what about test automation in DevOps? By supporting continuous development, deployment, and testing, DevOps aims to increase the velocity and frequency of the product release (and within the next two years, it’s expected to reach 58%). Again, it’s so hard to do without test automation if the company strives to deliver quality at speed. Let’s look at the picture below — software testing is not a separate step as in the traditional development model. In DevOps, all specialists work in a single flow.

Test automation in Agile

If you introduce manual testing, DevOps pipelines may slow down, leading to more bottlenecks and taking extra time and expenses to fix them.

So, automated testing comes to the forefront within these methodologies to help organizations boost release cadences while rolling out a high-quality IT solution that meets end-user needs.

3 values of test automation within Agile and DevOps

Let me walk you through the details of main values of automated testing integrated into Agile and DevOps processes.

Value #1. Accelerated testing and go-to-market time

As testing takes place at every sprint of the project, the company effectively detects and eliminates software glitches earlier, reducing testing time, decreasing costs for fixing them, and speeding up the IT product release.

Value #2. Enhanced software quality

According to the 15th State of Agile Report, 42% of organizations reaped this benefit by implementing Agile. The earlier you start verifying the system features, the lower the risk of missing critical bugs. This allows you to produce an IT solution that operates seamlessly, mitigate the risks before the app goes live, and make sure it complies with requirements.

Value #3. Reduced QA costs

Imagine a situation. The company missed a critical defect early on but discovered it at the last SDLC stage or in production. Downtime, loss of clients, damaged reputation — these are some possible results. In 2018, this is exactly what happened to Microsoft Azure when a bug in the code update caused a service outage that lasted for 16 hours and hindered users’ authentication to Teams, Office 365, and other Microsoft cloud services.

According to Gartner, the cost of downtime is $5,600 per minute. Not the best scenario, right? By introducing automated testing within Agile and DevOps processes, businesses enable early and cost-effective bug fixing, helping significantly cut QA expenses.

Is there a place for manual testing in Agile and DevOps?

Does manual testing fit in Agile and DevOps? Or should it be completely replaced by automation?

Agile and DevOps primarily focus on automated testing to maintain their fast-paced rhythm. However, this doesn’t require eliminating manual testing entirely, as in some cases, it is illogical to substitute it with automated checks.

Exploratory testing, for example, allows deviating from typical scenarios, examining the software themselves, and relying on intuition to discover system hidden vulnerabilities.

Or ad-hoc testing. QA specialists don’t have to follow a clear plan, create test cases and documentation, they just find the app flaws by conducting random checks and adopting non-standard software testing methods.

Setting up test automation for Agile and DevOps: 3 tips to follow

I will give my top 3 tips for efficiently setting up automated testing within Agile and DevOps.

Tip #1. Choose the right tools

The variety of test automation tools is vast, ranging from free and open to fee-based and customized. If picking the wrong one, it may negatively affect QA processes, requiring more time and money for testing or even re-starting all procedures from scratch.

As there is no one-size-fits-all test automation tool, it might be easier to consider the following aspects before selecting the most appropriate tool: types of it, ability to maintain DevOps and Agile tool integration, purchase and support cost, technical skills, and experience necessary to handle the tool, etc.

Tip #2. Onboard the experts with the required skillset

Working in fast-paced environments, test automation engineers should have excellent time management skills to effectively organize their work, accomplish all tasks on time, and meet project deadlines.

In Agile and DevOps, QA experts maintain ongoing collaboration with developers, managers, and product owners during regular retrospectives, iteration planning, sprint reviews, and other meetings. This requires proficiency in communicating and reporting to establish robust interaction between all project members and quickly respond to changes and updates.

Coding expertise, including the in-depth knowledge of Java, JavaScript, Python, and others, is pivotal for both Agile and DevOps engineers helping them enable effective writing, execution, and support of scripts.

Tip #3. Don’t overdo test automation

To succeed with Agile and DevOps environments, test automation should come first. But not 100% as some types of tests simply cannot be automated, such as exploratory and ad-hoc. Or if you face one-time tasks, then it is time for manual testing, which is faster and much cheaper for this case.

When planning to automate, ask yourself these questions to understand whether it is reasonable or not. How frequently will these checks be run? How much effort does it require? Will it help cut QA costs? And if you know that the tests are repeatable, monotonous, and time-consuming, then test automation is of help.

Wrapping up

To maintain the high speed and flexibility of Agile and DevOps environments, companies put test automation at the core of them to accelerate testing time, enhance software quality, and reduce QA costs. However, businesses still turn to manual testing to conduct one-time tasks as well as exploratory and ad-hoc tests.

You may follow 3 tips to set up a well-tuned test automation strategy within flexible methodologies: choose the right tools, onboard QA experts with the required skillset, and don’t overdo automated testing.

In case you are facing difficulties in effectively adopting test automation within your Agile and DevOps processes, feel free to reach out to a1qa’s specialists.

Why do today’s eCommerce apps need to be extremely fast and efficient?

Obviously, consumers don’t like waiting. Like they say in the song, “I want it all, I want it all, I want it all, and I want it now.” To win their trust, it’s vital to provide them with a high-quality and reliable IT product.

But how to achieve this and at the same time make the testing process more effective and transparent? One of the proven options is to implement Agile and DevOps, which is not always that easy.

In the article I will show you how Agile and DevOps help reimagine eCommerce software, and what advantages companies receive from their implementation.

Flexibility and speed: supercharging eCommerce apps

According to the 15th State of Agile Report, the overall number of organizations practicing Agile methodology is 94% while the State of DevOps Report 2021 shows that 83% of companies implement DevOps.

But what about eCommerce: Is it enough for businesses to apply classical QA approaches for endless but essential software changes? Definitely, not.

Being flexible as never, Agile and DevOps help create a close-knit team where developers, QA engineers, product owners, and other members interact constantly to meet the common business goals. With a high focus on end users’ needs, of course.

When the pandemic struck, the demand for online shopping increased dramatically and the rate of online purchases surged to 16.1% from 11.8%. Not that much but still that impacted a lot the behavior and buying habits of consumers. Thus, close cooperation between the specialists helps respond quickly to changing customers’ requirements, prevent delays in the product launch, enhance its quality, and reduce business risks by constantly receiving the feedback.

People rate their favorite apps, giving 5 stars on Play Market and App Store, etc., recommend them to friends, become brand advocates, and keep up with all the new products of the brand. A perfect scenario.

3 “yes!” to say to Agile in eCommerce

To get positive results from implementing Agile, it’s essential to clearly understand how it works and what you want to obtain in detail. The 15th State of Agile Report shows that the main reasons for adopting Agile include managing constantly changing priorities, accelerating software delivery, increasing team productivity, enhancing IT product quality, and reducing project risks. Please, have a look at the picture below.

15th State of Agile Report 

Though the pool of Agile strong points is ample, I think it’s necessary to mention some more key benefits that are indispensable in reaching the desired business outcomes:

Increased velocity and flexibility

I beleive that agile probably stands out among other methodologies as it helps release the app faster and more frequently by close and strong collaboration between business, management, and engineering teams that help react on constant changes and manage the quality faster.

Given today’s fast-paced IT landscape and high end-user expectations, it allows gathering consumers’ feedback after the product launch and gradually modify the eCommerce software. To make it so, continuous testing wins out, ensuring high speed of flowing processes while gaining more accurate results and timely fixing bugs.

Business analysis, in its turn, assists QA teams in understanding end-user needs implemented in the new-feature requirements. Moreover, specialists exchange essential updates on regular sync-ups to ensure transparent vision on project’s status and directions.

Enhanced market interest

Guided by their needs, consumers are subconsciously looking for software that meets their requirements and provides a wide range of options. All-in-one. Let’s admit it’s pretty much easier to have everything there — from making online transactions via multiple payment methods to selecting different colors and sizes as well as tracking products’ availability at all stores.

Let’s look at Amazon and eBay — their apps instantly process all incoming requests and provide the customers with all the information and products at lightning speed. And they succeed.

How? Performance testing, for instance, helps evaluate whether the IT solution withstands heavy loads and will not crash on New Year’s sales or Black Friday due to a large influx of customers, so end users continue e-shopping instead of getting error message on their displays.

Being aware of the expected number of users and the desired software capacity, QA teams organize the correct systems performance by detecting the actual performance indicators in advance and comparing them with desirable ones. Close cooperation helps QA experts pass all the details as well as improvements areas to the development team. The result of such interaction is the reduced implementation time and improved system’s capabilities.

Mitigated business risks

The flexible approach, divided into several sprints, brings project transparency by passing all processes step-by-step while forecasting possible hazards and gradually addressing them. It also improves project management processes, handles unwanted risks, and provides greater flexibility, allowing companies to deliver high-quality IT products faster and more frequently.

In case you want to reduce business risks even more while bearing in mind the number of cyber incidents is increasing each day, introducing cybersecurity testing may be of help with that. With software being extremely sophisticated, the hackers have more opportunities to penetrate it, so rigorous testing allows find the pain points and timely prevent the leakage of sensitive users’ data.

DevOps in eCommerce: yes or no?

The 15th State of Agile Repost highlights that 75% of respondents find this methodology essential for their organizations.

While Agile focuses on ongoing changes, DevOps aims at constantly testing and delivering IT products to the market while enhancing the quality and reducing the number of bugs.

Primarily concentrating on ongoing communication, improved performance, and better cooperation, DevOps methodology leverages fast deployment while closely complying with clients’ requirements.

To get all the benefits that DevOps provides, why not leverage eCommerce processes via introducing several up-to-date practices:

Smart automation

When implementing DevOps methodology with test automation, companies make the testing process more effective. The right automation tools and a wise automated solution contribute not only to speeding up the process by reducing test cycle time but also to improving software quality, maximizing ROI, increasing release velocity through CI/CD approach. It’s easy to integrate test automation with the development activities, so the Dev team performs checks when needed by triggering automated tests build.

Continuous innovations

With Waterfall, the defects are possible to fix after releasing the product. No agility, no mobility. DevOps helps address it with confidence by providing improvements within small iterations, ability to perform changes following retrospective and audience feedback.

For instance, one of the pressing problems of modern apps is the poor UI. According to the latest World Quality Report, 46% of respondents put an emphasis on CX validation and usability testing.

By performing UI testing, it’s possible to verify multiple components, like UI workflows, calculations, buttons, etc. As a result, all app’s functions operate smoothly and correctly while ensuring comfortable users’ experience.

Summarizing

Within today’s IT market, retail companies adopt flexible approaches that assist them in delivering upscale apps, satisfying end users’ needs.

Agile and DevOps are pioneering among other methodologies as they bring enough flexibility, provide constant team members collaboration that help release software faster and more frequently, getting the leading positions in the IT market and enhancing IT products’ quality.

Feel free to reach out to a1qa’s experts to get QA support on implementing testing in your Agile and DevOps business strategy.

We are witnessing that companies keep on combatting the “black swan” impact on people and operations while ensuring business continuity.

This is why the market players are facing the crisis with a spirit of reinventing business strategies — speeding up digital transformation and introducing Agile-based processes.

So let me tell you a bit about what to do to streamline achieving business resilience and discuss a three-phase strategy to make the most of Agile.

  1. Implement Agile values
  2. Reap benefits of flexible methodologies
  3. Apply Agile best practices

Let’s get this sorted out.

Phase #1. Implement Agile values

While intending to address the uncertainty through Agile practices, ask yourself a question, “What set of values should I apply to the IT projects?”

Agile Manifesto provides the following ones:

Put individuals and communication over tools and processes

The thoroughly chosen team with the right skillset is one of the clues to business success, as the best possible tools in the wrong hands are worthless.

Another point here is providing smooth communication between the project’s members. With right-skilled people relying on mutual support and a sense of cohesion, one can move heaven and earth on the projects contributing to solving almost any issue.

Being correctly motivated, the team cares about results and considers business objectives as their own a true team mindset in action.

Focus on working software rather than the documentation

Time passes, priorities are changing, and bureaucracy with a massive volume of paperwork is taking a back seat. For now, proper software operation allows companies to maintain business resilience and enhance brand image, so ensured high quality is amid top priorities.

That doesn’t mean tech requirements, software specifications, test plans, quality reports, etc. are not relevant. It means that by constantly optimizing documents handling, specialists apply fewer efforts while enabling total transparency and visibility of the project’s activities helping effectively organize and monitor IT processes.

Collaborate with clients more than the contract stipulates it

Interacting with clients is more than just a legal agreement. Delving deeply into customers’ needs, their working approach and mindset — these all are about fruitful relationships. And a long-lasting partnership.

What’s more, this value focuses on continuously developing and testing to release software faster and more frequently while keeping ongoing collaboration between a customer and a project manager.

Apply dynamic roadmap instead of static plan

Adaptability. When everything is shifting drastically in a matter of a second, then strictly following the plan can be pointless, especially in terms of uncertainty.

Unstable market conditions and swift changes in customers’ behavior patterns mostly determine the actions the C-board performs while defining a strategy in case of an emergency.

This is where IT managers apply Agile practices with short iterations and continuous software delivery at the core that help speed up time to market, manage priorities, and meet ever-evolving market requirements and end-user expectations.

Please have a look at some drivers of introducing Agile shared by the 14th Annual State of Agile Report.

14th Annual State of Agile Report

Source: the 14th Annual State of Agile Report

Phase #2. Reap benefits of flexible methodologies

Time zips along and technologies are constantly evolving. So, it’s getting more difficult to satisfy customers — high software quality and stable functioning are taken for granted, of course.

Agile practices allow companies to add newly developed features into the IT product at short notice while contributing to strengthening customer loyalty and enticing new users.

Having become a concurrent part of the software development process, software testing enlarges the SDLC and, in some cases, slows down the delivery time. Despite that, adaptable methodologies accelerate t2m by streamlining IT and QA activities. It assumes the possibility to promptly respond to emerging issues, change priorities, and adjust to the ever-changing IT market.

Within sustainable software development and testing and continuous support between project’s associates, Agile is an exceptional assistant in winning the competition that enable early and frequent releases of IT products.

Phase #3. Apply Agile best practices

With the steady evolution of the IT market and the merging of software testing and development, Agile is also modifying and providing new approaches for the needs of any business.

The World Quality Report (WQR) 2020-2021 states that a higher percentage of respondents over last year have shifted to flexible methodologies while allocating 30% of their overall project efforts to QA.

Why so? To delight end users.

For instance, DevOps assumes continuous testing with the concepts of testing early, testing as often as possible, and testing at all stages of the life cycle with automation excellence. With that, it provides regular code updates, enables quick code roll-out after that, and reduces the testing cycle time while helping avoid expensive bug fixing after going live.

Tending to detect defects from the very project start, companies are applying shift left testing. More than half of the WQR respondents onboard QA specialists at the early SDLC stages and embark on QA activities at the planning phase. Preliminary reviewing documentation helps fix possible discrepancies before the code is prepared.

SAFe, for example, provides not only alignment between teams, but also to all levels of the enterprise that are involved in solution development. With that, the framework drives faster time to benefits, increased software productivity and quality, and higher customer engagement.

Therefore, by introducing any of adaptable practices, one ensures cost-effective software development while guaranteeing high quality of IT solutions and building trusting relationships with stakeholders, customers, and team members.

The takeaway points

In unstable times, it’s my opinion that agility as a mindset helps concentrate on people, provide early feedback, tune interaction, and deliver regular course adjustments.

By introducing this Agile three-step game plan — implement values, reap benefits, apply best practices — companies undergo the difficulties as well as strengthen competitive advantage.

Contact us to discuss how your company can improve the software quality through Agile.

By making literally everyone shift to online ecosystems and reimage IT strategies, 2020 has turned the tide in the telecommunications industry. What to expect in 2021 and how to get prepared for it?

The answer lies in keeping with times and implementing tech trends that help sustain and strengthen competitive advantage.

Welcome to our overview of 6 emerging trends in telecom and how to introduce them with ease and confidence through QA and software testing best practices.

Top 6 trends of the telecommunications industry

By easing people’s lives and shifting operations to a virtual space, customers’ habits have changed and made their behavior more meticulous.

The telecom industry is no exception, as today, stable network connectivity is an inevitable part of any IT product. To delight end users, companies implement novel opportunities by turning to tech trends. Let’s have a closer look at the top 6 trends of 2021 in the industry that may help win the competition.

Trend 1. Applying total digitalization

Due to digital transformation happening globally, telecom companies benefit from modifying traditional services. For instance, having entered the media and entertainment industry, telecom-based OTT (over the top) media has become more common than traditional TV packages.

Moving to online ecosystems has also triggered enabling cloud possibilities that help keep up with the swift alterations in the IT market.

Trend 2. Implementing hyperautomation

Since 2019, the global automation market has grown by $28.3, and companies are embarking on digital operational excellence to a greater extent. This is where hyperautomation comes into play while covering entire business ecosystems as well as creating fully automated value chains.

Once having optimized the documents, functional tasks, work in production, etc., businesses become ensured of both the total digitalization and operational resiliency of an organization.

Trend 3. Spreading 5G network

Quarantine and lockdown measures have drastically restrained ubiquitous 5G usage. However, 2021 will be the year of this technology’s prosperity. Thanks to its low latency and strengthened throughput, this tech trend may cover 45% of the world by 2025 encompassing more than 1.7 billion devices (according to PwC report on the Global Entertainment & Media Outlook).

With such potential, 5G can turn into a classic means of connectivity. Once having implemented 5G, some telecom services vendors are already working their way into 6G technology.

Trend 4. Distributing edge computing

Applying innovative 5G networks, cloud storage, and numerous smart devices attribute to rapid data growth. The volume of data is increasing, and central processing servers can no longer cope with that.

Thus, telecom companies are drawing more attention to distributed computing with local assets allowing optimizing throughput and reducing response time.

According to IDC’s predictions for the worldwide IT industry in 2021, organizations will direct 80% of their capital to the advanced capabilities at the edge of the network in 2021. Despite 2020 having already become the year of the edge computing breakthrough, the future of innovation has no limits.

Trend 5. Supporting a new era of IoT

Global telecommunications coverage makes the concept of IoT more accessible. According to Statista, the worldwide IoT market size is expected to grow by over $1,500 bln in 2025. By uniting gadgets into a common network, they provide users with the next generation of services — combined communication networks.

Market size of IoT solutions

Source: Statista 

In 2020, Gartner’s analysts coined the term “Internet of Behaviors” (IoB) in their report of Top Strategic Technology Trends for 2021. It is related to continuously connecting people to virtual ecosystems.

In the past few years, creating a smart network was simply a feature of gadgets, but today, it is available for real users. This global communication format requires an advanced and secure technological base owing to its complexity.

Trend 6. Discovering benefits of total experience

Total experience combines traditionally disparate disciplines like multi-experience (MX), customer experience (CX), employee experience (EX), and user experience (UX) as well as links them to create a better overall experience for all parties.

Previously, companies were developing business tasks based on individual user experience. Now, the practice of general experience allows for developing more flexible interactions between consumers and businesses. Due to this unification, one may reduce the long-term costs of project development and maintenance.

4 QA hints to implement telecom trends

Providing a high level of software quality is another cornerstone of enabling business success. As the rigorous race in the market, time and budget limits have become common issues on telecommunications projects, companies need to include QA to a much higher extent.

We’ve prepared a one-stop playbook of QA hints that may address the challenges and contribute to business growth.

Hint 1. Strengthen QA practices

By being strongly focused on satisfying end users’ needs, telecom companies strive to enable flawless customer experience and secure data flow. To provide impeccable quality of IT solutions with complex business logic and infrastructure, organizations should introduce smarter and more automated QA and software testing practices.

More noteworthy is the ability to maintain and empower the QA culture. By realizing the necessity to enhance QA activities at both company and team levels, one can reach desired outcomes at short notice.

Thus, more than 80% of the World Quality Report (WQR) 2020-2021 respondents are careful with the necessity to improve QA teams and take a more responsible attitude to the software quality.

Hint 2. Apply Agile

Suitable methodology meeting all modern market requirements are amid the core principles of performing software testing successfully. Flexible methods are especially beneficial for telecom companies having solutions dealing with complicated business logic.

According to the WQR, telecom players choose DevOps and shift-left methods for their effectiveness and ability to rapidly adapt to the changing market and timely manage priorities.

Hint 3. Automate wisely

Companies still face multiple difficulties in selecting the necessary test automation tools as well as search for specialists with a suitable skillset: only a third of WQR telecom representatives get ROI by automating checks.

If you are expecting your test automation to optimize test coverage, build a robust QA strategy and identify what test cases need to be automated before executing it. This helps provide better control and transparency of testing processes, reduce human errors, and others.

With that, automate-first approaches may be of help by identifying the features likely to change in several weeks and being checked frequently while planning their further automation without manual testing efforts.

In addition to automated testing, it is essential to pay attention to security testing as well as functional and regression checks after introducing any new functionality.

Hint 4. Introduce next-gen QA

AI and ML. They help with balancing out QA activities, predict test quality, prioritize test cases, classify defects, verify voice messaging and data entry, and many more. These advantages of smart systems are becoming especially important in unstable conditions.

AI- and ML-based testing can be handy to be one step ahead and keep the lead in the market in unstable conditions by contributing to improving overall efficiency on the project, reducing risks, and increasing team flexibility.

Summing up

Bearing in mind further computerization and ever-growing optimization of user experiences, relevant telecom trends for 2021 would be 5G networks, edge computing, hyperautomation as well as applying total experience and “Internet of Behaviors.”

However, implementing tech trends falls short to reach planned business outcomes. To deliver top-tier telecom software and win the race, open-minded companies should also consider improving QA practices, applying wise test automation, introducing next-gen QA, and building a strong QA strategy.

Need QA support to enhance your IT solution quality? Get hold of a1qa’s specialists.

The expiring year has brought in a novel, unexpected aspect affecting literally every sphere of our lives. Of course, we are talking about the “black swan”, pandemic, outbreak, and more terms defining the “what shall not be named.”

In 2020, companies have en masse embarked on digital transformation journeys, educational facilities and gyms have launched online sessions, travelers have switched to sightseeing in virtual reality. And a way more examples may be provided.

What do they have in common? Sure, technology lying at the heart.

Reversed business landscape has triggered out-of-the-box thinking, which often goes hand in hand with implementing innovations.

This is where QA comes into play. Introduced early in the SDLC, it helps avert product recalls or shrinking revenues.

But how to effectively organize your quality assurance ecosystem in 2021 to address the economic recession and still win the game?

In the article, we’ve focused on 5 main QA trends to consider for moving toward an optimistic business forecast:

  1. Evolve Agile and DevOps landscape
  2. Count on AI for continuous quality improvement
  3. Keep automating to support increased development pace
  4. Transform test data and environment management
  5. Rethink your QA budget to act wisely.

QA trend #1 – Evolve Agile and DevOps landscape

With the advent of a pandemic era and a great choice of apps to help get through it conveniently, users have become much more fastidious. So, the need for deploying catchy products has become overwhelming.

With that in mind, organizations get on with Agile and DevOps adoption aiming to downsize time to market and deliver software of superior quality. Despite the overall tendency of merging QA and development functions, World Quality Report 2019-2020 (WQR) affirms that 42% of IT business spokesmen noted a gap in professional expertise of agile testing teams. Meanwhile, another half highlighted the alignment of toolkit for automated verifications as the major hindrance.

Therefore, to ensure high software quality throughout and after Agile and DevOps transformations, organizations may :

  • Leverage test automation for accelerating QA activities
  • Involve software development engineers in test (SDET) possessing a sought-after skill set
  • Care of UX through continuous monitoring of production logs to detect issues prior to end users
  • Introduce automated quality dashboards to provide high process visibility.

But more importantly is to perform the transition in line with tailored business needs defined within the company.

QA trend #2 – Count on AI for continuous quality improvement

The Forrester research predicts that in the year to come, AI will face a boom. Organizations will utilize novel AI use cases like performing holographic meetings for remote work. A third of adaptive companies will invest in AI to cope with workplace disruption including, return-to-work health tracking, and more. Sounds impressive, right?

Promising also is the future of AI in a quality assurance field: 88% of WQR’s respondents emphasized that AI comprised the greatest growth part amid their test activities.

What’s more, despite current complexity caused by the lack of expertise or skills, companies already utilize new approaches to turn the tide. In particular, WQR highlights analyzing production incidents to forecast a future quality level and plan QA scope accordingly and generating and managing test data to extend test coverage by revealing its gaps.

Even quality assurance of sophisticated AI systems is marked by cautious progress. For instance, eHealth manufacturers create standards able to verify AI-enabled algorithms, while automotive companies use AI algorithms’ validation in advanced driver-assistance systems.

What can organizations undertake to increase testing efficiency through AI in 2021? Implement AI-enabled tools, introduce continuous improvement of employees’ skill level, and focus on attaining business objectives.

QA trend #3 – Keep automating to support increased development pace

Despite high volatility in released applications, test automation deployment continues to gain momentum. The number of IT representatives deriving advantages from its introduction enlarged in comparison with the previous year.

Test automation

Source: World Quality Report 2020-2021 

However, bumps in the road still occur.

Only 37% of companies admitted to obtain ROI in test automation tools. To ease maintenance of extensive automated suites and reach maximized scalability of tests, why not leverage scriptless automation toolkit?

Another continuous problem lies in the insufficient specialist’s level of expertise, which directly impacts on planning long-term strategies and overall QA efficiency. This tricky aspect may be resolved by hiring proficient SDETs with good development and test automation architecture skills, knowledge of AI, RPA, API, and microservices.

Introducing such talents into the team, pinpointing the most suitable and intuitive toolkit, relying on AI and ML in tackling technical burdens organizations may achieve the desired level of test automation regardless of frequent changes in the applications.

QA trend #4 – Transform test data and environment management

Businesses still face challenges related to test data and environment management.

However, an encouraging tendency is evolving: 29% of WQR’s respondents perform testing in on-premises environments, and this indicator is scaling down if compared with 2019. More organizations opt for cloud-enabled environments or containerized ones based on Docker or resembling technology. This shift is largely provoked by COVID-19 pandemic, as companies precipitate to attain digital transformation.

Still, to reap benefits from the cloud in 2021, it’s vital for QA teams to establish their appropriate governance to dodge unpleasant incidents like higher overall cost due to their untimely release.

As for test data management, 79% of interviewed mentioned that they build test data manually for each run, which is probably required to meet the needs of continuous automation. To surmount this hurdle, companies harness TDM solutions masking production data. In contrast, they may be leveraged more efficiently like developing test data sets able to help design business rules.

QA trend #5 – Rethink your QA budget to act wisely

A global pandemic has put its imprint on QA budget allocation: widespread domestic policies require working from home, therefore triggering a sufficient cut on travel expenses connected with business trips. Even more savings may be achieved through the adoption of cloud-based infrastructure.

Meanwhile, what are the areas that worth sufficient liquidity injections? WQR states, that in the forthcoming year, organizations should focus on two prevailing dimensions:

  1. Investing in innovations with ample potential like AI or test automation to attain cost savings in future
  2. Paying well for replenishing teams with sought-after members like SDETs.

Summing it all up

For many businesses this year has become the time for rethinking QA strategy to perform more efficiently in 2021 and obtain a competitive advantage. For that, it’s vital to concentrate on smart orchestration of DevOps reinforced by test automation and AI, improving test data and environment management, optimizing QA budget to meet the post-pandemic requirements.

Feel free to contact our experts to have a consultation regarding your software quality enhancement.

Within the evolving IT market, the demand for high-quality software is boosting day by day, with companies improving their products continuously. By adding new functionality and upgrading the developed one, their intentions are around to meet the end-user expectations.

This is where the need to ramp up the team, a QA group being no exception, is growing by leaps and bounds to help them stay ahead of the competitors.

Researchers from the University of California at Berkeley and Stanford found that 90% of young businesses fail because of premature expansion, and this is where it becomes clear that a prepared scaling plan doesn’t necessarily mean organizations attain planned outcomes.

By leveraging smart scalability based on agile methodologies and scaling up and down on request, businesses are more likely to derive desired results. The World Quality Report 2019-2020 indicates 95% of respondents use agile to some extent.

The Agile approach is more typical for small teams. But what if the promptly changing market and the need to offer truly high-quality IT solutions force to accelerate delivery time and enlarge the project? In the article, we discuss how to effectively scale a QA team and be confident in releasing top-notch apps meeting tight deadlines.

Reasons for scaling QA team

Global digitalization has become a clue for transforming internal processes. The unstable situation also paved the way for the rapid transition to a new norm, when people massively migrated to the online space within moving limits.

In such conditions, companies have tested their strength and how deeply their business operations were shocked. However, most of them were not prepared for this and faced a number of hindrances: decreased customer satisfaction, fallen market share, reduced revenue, and much more.

To bolster their competitiveness, organizations need to speed up time to market. How to do this in unprecedented circumstances? Salvage the situation with Agile. Here are the top 4 reasons for implementing it.

Adopting agile
Resource: the 14th annual State of Agile Report

When it is not enough to be ahead of the competitors, adapting not only at the team level but also within the entire organization can be a way out. Based on smart scaling, SAFe is designed to conduct large transformational programs being about the equality of team members and the timely exchange of information between numerous participants using agile. Therefore, every employee understands the business goals and knows how to achieve them.

Smart scalability addresses the challenge

Applying for a sage extension, companies can change the number of project participants on request at short notice. Hinging on the business goals, the team might be scaled up and down.

The mounting process also involves the division into small groups, where effective communication is a silver bullet. Due to the desire to reach planned outcomes laying at the heart of the approach, employees re-image the mindset and work cohesively with each other.

Having united all the departments and teams with one management system, productivity increases. Project participants know their responsibilities, roles, and whom to contact in case of an emergency. They do understand their tasks and project objectives better, which means reducing downtime.

Moreover, employees’ accountability and independence in decision-making are evolving. There is no more need to regularly contact managers with uncomplicated issues that allow specialists to use their knowledge and experience and unleash their potential.

How to expand a QA team successfully?

Here’s what a1qa’s experts recommend to increase the number of team members effectively.

Compose a plan

A plan should be designed at the very start when recruiting employees. As the team grows, it is necessary to continuously develop the right strategy that will suit the current state. The scaling plan covers all activities on the project, from the technical aspects (tools and infrastructure) to the teams and resource management.

If you have a range of urgent and high-priority tasks to focus on, you can onboard a QA consultant who is up to analyze the current situation on the project and make a reliable plan for the transition to new practices supporting you in achieving your business outcomes.

Prioritize

Defined business goals streamline attracting specialists with an adequate skillset, as expertise and technical knowledge for productive work have already been specified. It is better to set several ultimate goals to be sure tasks are prioritized, and activities are consistent with the plan. An example to consider is: if the project’s aim is to accelerate time to market, you need to onboard test automation specialists to optimize routine checks, reducing the iteration time.

Onboard specialists with right skills

The software quality and success largely depend on the team. It is crucial to recruit QA talents with the appropriate skills not only at the start of the project but also when an expansion is necessary.

It is a common situation when the internal crew is not enough to scale, and organizations turn to outsourcing. It happened when the customer, a global provider of telecom IT solutions, entrusted the a1qa’s team with testing three large software packages. The scope of the project was regularly changing that caused the QA group ramp-up.

Considering the workload size, a1qa attracted additional QA specialists and also reduced the QA squad upon request.

Thanks to the timely knowledge transfer and task monitoring, the QA expansion was effective.

Monitor progress and results

By tracking all the parameters, including success metrics, you get a birds-eye view of the team’s structure, its productivity, and growth in the future. Otherwise, it is more likely to miss the scaling time or which area needs it.

Moreover, controlling progress on the level of an employee is an essential point. KPIs allow specialists to develop themselves and have a better understanding of business aspirations.

Care and interest in the progress of all project participants can ensure productive scaling, continuous interaction, and working as a single system.

All things considered

Highly competitive IT space forces companies to briskly scale project members, including those assuring quality.

But how to expand physical horizons and maintain high productivity? Smart team scalability is a way out. Based on agile methodologies, the approach contributes to faster time to market and adaptability within the entire organization.

Bringing on the right skillset and a clear strategy at the start, task prioritization, and setting KPIs can fuel the growth meeting all desired outcomes.

Need support in scaling your QA team? Reach out to us to get help from a1qa’s experts.

Are there any companies that haven’t met even the slightest challenges within the crisis? Timelines. Customer needs. End-users’ behavior. Yes, we all continue adapting to multiple transformations and solving issues we have never faced before.

Let’s turn to some unbiased researches. Forrester says, we have three scenarios of further events from the best-case to the worst ones. The negative playbook highlights that economic declines can continue until 2022.

Alternatively, unstable conditions provide the ground for time for speed, as the crisis has accelerated the transition to a new digital future.

There is no surprise that organizations strive to get the first place in the market, even with more force. In this article, we will discuss how to deliver top-notch IT solutions at tight deadlines, helping compete to win.

It all starts with the team…

Well-defined workflow is a key element in building effective processes, encouraging meeting the timelines and decreasing downtime. Hence, setting up clear and transparent operations seems to be important at all project stages, including software testing.

A team with the necessary skillset is a force for progress. Have neither resources nor wish to onboard and train new QA specialists? A dedicated team model (DTM) might become a way out helping get a needed number of tech and industry-oriented engineers, motivated and committed to the business needs.

Having long-term experience in managing Agile teams, here, a1qa Head of testing department sheds light on a1qa approach to the DTM and its benefits.

Increasing time to market: best practices

The demand for top-level products is soaring, so this is the high time for companies to focus on optimizing the software development process. There are some extra tips on how to improve it and stay confident in the products’ quality.

Get it done through Agile

The 14th annual state of Agile report indicates that accelerating software delivery and enhancing the ability to manage changing priorities remain the top reasons stated for adopting Agile. Moreover, companies get other values through applying the methodology, for instance, increased team productivity and software quality elevation.

Organizations implement various approaches according to their business needs. The most widespread and effective ones are Scrum and Kanban, according to Gartner.

Agile methods
Source: Gartner Research Circle survey on Agile in the Enterprise.

These practices are leveraged in line with a team. However, it is not enough. To have a competitive advantage on the market, one should adapt within the entire organization.

But without a clear strategy, it becomes more difficult for businesses that aim at scaling Agile to forecast results, build trusting relationships between teams, and focus on core activities.

Let’s take SAFe, an agile adaptation that is used for large transformation programs. In the heart of it, one can see the equality of ALL team members, so that each participant promptly realizes the business goals and knows, which actions to make to reach them.

With SAFe, you can release high-quality software faster, but it’s not only about cost-effective development. It helps the company to expand its forces due to a prudential and flexible approach to re-imagining the mindset. SAFe engages all employees, along with the top management and C-level reps.

This is how it becomes easier to increase team motivation to care jointly about the main project goal and raise responsibility for the overall result. On the other side, it helps adapt products to rapidly changing market requirements.

Speed up with continuous testing

Those standing on the DevOps side of things get not only flawlessly working apps, but also a strong increase in teams’ performance and the release cycles reduction. Why so? Because of DevOps core principles of decreasing costs, expanding automated operations, and improving configuration management.

Continuous testing (CT) is that one part helping test early, often, and faster, consisting of three essential parts:

  • Continuous integration allows providing regular code updates (up to several times per day). At this stage, QA specialists perform code-level tests (unit and integration checks).
  • Continuous deployment ensures code roll-out after adding amendments and can be automated, followed by end-to-end tests to check each new functionality.
  • Test automation speeds up the processes and helps find bugs early in contrast with manual testing, which can be pretty much time-consuming and hard-to-perform.

Moreover, running autotests in parallel reduces the testing cycle time and allows getting quality reports in a matter of seconds.

While testing IT solutions, an engineer can design an autotest for the needed functionality, and it can be carried out on different platforms, browsers, devices, OSs, and more simultaneously.

Throughout upcoming releases, specialists save precious time for more creative tasks (ad-hoc, exploratory testing), as they do not have to write new scripts. The value is clear: development cycles decrease.

It should be noted that automation brings a high ROI when the project is long-term (6+ months), and software business logic is occasionally modifying while functionalities are constantly tested. However, automation isn’t a silver bullet. Imagine you have a feature that is to be checked frequently and isn’t likely to change in several weeks. This test case is worth automating.

So, what can you get by adopting continuous testing?

  • Enhanced software quality
  • Sped up time to market
  • Minimized number of defects
  • Accelerated work operations
  • Increased team motivation
  • Early feedback from end users at the earliest SDLC stages.

We still hear a misconception that there is no place for QA if the code is not written. “Shift-left” strategy is just about onboarding QA specialists at the initial SDLC stages. This is where they start studying the requirements, app’s architecture, and writing test documentation that provides fixing possible inaccuracies even before the code is prepared. It goes without saying that the developers’ time is wisely saved. There, the requirements are tested to make sure there are no ambiguities and discrepancies, helping create a useful guide for the code design.

Moreover, CT and “shift-left” testing are not the same things, when the first can be performed at any stage, and the second is focused on the first steps of the software development life cycle, such as requirement collection and analysis.

Summing up

To drive rapid, tangible results and get substantial value even under unstable conditions, we advise concentrating on shortening product delivery time. By implementing Agile and DevOps practices and setting a well-tuned workflow process, one can enhance the software lifecycle and save the development time sustaining top-line growth.

Would you like to speed up the delivery process without compromising the software quality but now sure where to start? Get help from our QA experts.

Scrum has proven to be a powerful tool for rolling out software products involving up to nine assets comprising the product owner’s performance. Seemingly, nine high-end and wisely motivated professionals are capable of anything, what could go wrong? However, in real world, things are rarely that simple.

When software development needs are expanding by leaps and bounds, the number of teams is increasing pro rata. Communication between them and synchronization of group work are jeopardized especially if considering geographically dispersed specialists.

LeSS Huge envisaged by Scrum is applicable for projects with >8 teams only. Otherwise, I recommend cherry-picking SAFe framework.

Founded on the principles declared in the Agile Manifesto, it allows syncing up the work performed by up to 150 specialists. SAFe takes communication to the next level and introduces Program Increment (PI) Planning to promote direct communication between the attendees: software developers, testers, business owners, and program stakeholders. PI Planning is the synchronization point of the Agile Release Train (ART).

Why PI? During the planning session, the teams create the plans for the upcoming Program Increment, which helps them get things done effectively, release more features in less time, and align on project workflows.

How is PI planning organized?

It’s better to see something once than hear about it a thousand times. With this saying in mind, I’ll share the planning agenda we received attached to the Meeting Request email last month. You’ll find the agenda some paragraphs below, while right now, I enlist some of the crucial points of planning.

Prior to planning, the well-elaborated backlog of functional and architectural features is prepared. The results of the planning shall be the commitment of the teams to an agree-to set of objectives for the next PI. All planning takeaways (teams committed to working on any user story, user stories interconnections) are fixed on the program board.

The planning process itself is very fascinating in SAFe and has many teambuilding features.

Let’s review some of the major differences our QA consultants have come across.

Organizational issues to be ready for

  • Duration. Previously, it took us less than four hours to plan up a Scrum sprint. After migrating to SAFe, planning began to last four days almost.
  • Participants. While applying Scrum, we planned sprints independently from other teams. In SAFe, it’s all different. Development, QA, business analysts, UX specialists are to participate in planning cooperatively. If someone can’t attend it for some reason, he or she should be available for questions.
  • Event agenda. In Scrum, most of the time is devoted to estimating user stories. In SAFe, there are many more stages.

Now have a look at the agenda of the Product Increment planning we had last month.

SAFe vs Scrum

It all starts with the company’s governing bodies communicating the business context of the upcoming PI to all teams. After that, the product manager specifies how the business context will be implemented in terms of functional solutions. The architecture shares his/her vision on the product’s technical implementation.

When they are done, the floor is yielded to the product owner of every team. He/she briefly presents the scope of requirements for the whole team to be familiar with the features that will be developed by every other team. On that note, the first day of planning is over, and teams say goodbye to each other to meet the following day.

On day two, teams break out to start working on their plans for the upcoming PI. By the end of the day, the draft of the plan should be presented. Managers review those plans and introduce necessary adjustments.

During the third day of planning, teams continue working on their plans to finalize them. Scrum Masters present the plans of their teams and review the risks alongside. The final procedure is a confidence vote. All attendees should confirm their commitment to the final plan objective. Every team conducts a “fist of five” vote. The commitment is accepted if there are three or four fingers on average. If fewer, then plans are reworked.

Noteworthy, any person voting two fingers and fewer should be given a voice to explain their concerns.

Finally, a brief retrospective is conducted to capture what went well and what did not. Following this, the next steps are discussed.

Ways to sync up and visualize the issues

  • If you were attentive (and I bet you were), you must have noticed one of the points on the agenda I haven’t specified yet. Scrum of Scrums hourly. It’s an hourly meeting of Scrum Masters that takes place while the teams are estimating the given user stories. The objective here is to sync the teams up.
  • The new level of visualization. Working with Scrum, we used JIRA to track bugs, assign issues to the responsible specialists. In SAFe, it became very difficult to discuss arising issues with colleagues who are allocated on other continents. Having tried multiple options, we gave our preference to RealTimeBoard – virtual boards that allow us to work with visual content together with our mates.

Stories estimation differences

  • Estimation methods change from those in Scrum. User stories in SAFe are estimated in story points. This is the relative estimation to compare the difficulty of two or more stories.
  • Every story is to be estimated in 2-3 minutes. Teams don’t need to get into deep discussions but rather provide a general estimation.
  • If the story is estimated in more than 8 points, it should be broken out in smaller pieces to be implemented on time.
  • Now in SAFe, we estimate not only our job but also the job of our colleagues from other teams. It gives a better understanding of their contribution and engagement. The question “Why do you need so much time for testing this small feature?” is rarely heard now.

PI planning advantages

With visible changes becoming commonplace, the SAFe framework is one of the means for deriving faster time-to-benefits while increasing productivity, quality, and customer engagement.

PI planning in SAFe is an essential technique for providing better alignment between teams through improved process transparency and well-organized face-to-face communication.

Development on cadence, being the heartbeat of ART, is observed while the future becomes more definite as we are aware of the teams’ plans several sprints ahead. Besides, we’ve gained a better understanding of our mission and the value we add to the product.

To cut a long story short

Our fast-changing world complicated by COVID-19 pandemic requires novel, well-balanced strategies to adapt at the necessary pace. SAFe is precisely one of them.

Wisely configured and applied, it can turn the tide to help you achieve any goal – from shifting new markets with products tailored to face a global challenge to embarking on a digital transformation journey.

All you have to do is just start. a1qa will help you begin and proceed with confidence.

By applying principles of Agile software development, businesses can quickly adapt their products to changing market requirements, increase team motivation, and responsibility for the overall result. Taking advantage of these benefits, teams manage to release high-quality software to the market faster.

However, in the very beginning, the introduction of QA into the Agile delivery landscape may raise some difficulties.

Challenges of adopting QA

These issues constitute only a small part of all challenging points. We provided the answers to the most common questions regarding the implementation of QA processes based on Agile principles or strengthening the current project course. Let’s check them out.

Does the business domain matter for introducing Agile best practices?

This methodology can be applied to products from any industry, be it BFSI or eCommerce. However, in every domain, the documentation will be detailed differently.

Solutions belonging to the banking sphere are often characterized by complex business logic, and the stakes are too high to let a mistake into production. Therefore, the detailed documentation will eliminate any variations in the sense.

Agile methodology helps prepare testing artifacts and change them gradually if necessary. What are the benefits of such an approach?

Firstly, at the initial stage of product development, you may have a vague idea, with no precise details. Process flexibility will allow you to develop its structure gradually and release without any challenges.

Secondly, with Agile, you can quickly adjust to any market trends. If you want to add new functionality or replace the current one with its more relevant version, you can swiftly add or replace the appropriate part of the documentation.

What are the most common Agile methods?

Agile is a set of principles that provides a unique direction for each project.

Hence, there exists a variety of possible methods. They are similar in many ways and are aimed at synchronizing the work of the team and speeding up product delivery.

The a1qa engineers are mostly involved in projects where product development is carried out according to Scrum/Kanban.

How can one choose the right variant? Have a look at the cases when you can choose Scrum.

When choose Scrum

As for Kanban, its main difference is the opportunity it gives to quickly switch to unplanned tasks, which changes the sprint length but doesn’t stop the ongoing work. Accordingly, you shouldn’t worry about delayed releases or worsened code quality.

Kanban is a good option for product support, as it allows you to prioritize and resolve emerging problems in the product functioning quickly.

Furthermore, in some cases, the project requires the introduction of Scrum-ban – a combination of the two methods. To ensure high software quality, the development process is carried out applying Scrum, while Kanban is used to support the correct functioning of the product.

Does the team size matter to implement the Agile methodology?

If we are talking about a team consisting of 3-4 specialists, then it’s possible to set up the working processes without resorting to Agile.

With the team of average size (7-9 people), Scrum is one of the best options for organizing the project scope.

However, planning in terms of large groups is quite different. It’s vital to evenly distribute tasks for all team members during the whole sprint.

Can Agile serve a large-scale project?

Certainly. However, it’s important to wisely organize the process and start scaling at once.

We recommend applying SAFe – a framework that helps implement a flexible methodology for large teams (up to 150 people).

To effectively manage such a project, it’s better to split the team into small groups and regularly synchronize their work (after each sprint).

This approach will simplify the project considerably. Smart scaling using the SAFe framework will help you complete all the tasks on time.

a1qa possesses relevant experience. Company’s certified engineers have vast expertise working on projects using Scrum, Kanban, and SAFe methodologies. Regular internal and external training helps the a1qa specialists stay abreast of the latest changes in terms of applying flexible methodologies.

How to measure the effectiveness of the Agile methodology?

It’s vital to keep in mind both the client’s expectations and the chosen method, which differs within each particular project.

If the development process of a product is based on Scrum, then the project will be marked by multiple releases. In this case, the metric demonstrating the overall effectiveness can include the releases frequency and the criteria indicating software readiness.

If the development process is only shifting to Scrum, then the specialists will need time to play well. In such circumstances, the best solution is to focus on the team capacity within one sprint. It should increase over time.

Another metric for assessing quality is the number of defects found in the sprint according to its tasks. It has proven particular efficiency if several teams develop the product. When compiling this metric, each of them is trying to demonstrate the best result during a sprint. Thus, the overall quality is improved significantly.

The number of defects that surfaced the production environment is another metric to consider. Taking into account these defects, you can access the effectiveness of any methodology used on the testing project, not the Agile only.

The core aspect when choosing a metric is to decide on the option to measure and further track its change, for instance, the development speed or the quality of bug fixing.

What is the influence of the Agile methodology over the quality of R&D processes?

We believe the development process benefits from the introduction of the Agile practice.

Scrum implies that at the end of the sprint, the QA team runs regression tests and makes sure the product is ready for release, while the Dev team eliminates technical debt and searches for new and effective coding solutions.

Speaking of the SAFe framework, every fifth sprint, while the QA team is finalizing the tests, the developers dedicate their time to exploration and innovation to optimize their resources, infrastructure, introduce new tools and practices.

This iteration is also the time to perform cross-team knowledge sharing, prepare tools to enhance testing activities, or to focus on any other activity that is hard to fit into a continuous delivery workflow.

Have some questions on the Agile testing left? Ask them to the a1qa experts.

In the current conditions of uncertainty and panic, it is important to focus on enhancing the effectiveness of your teams.

Applying the best practices for optimizing project management for the long term, QA managers and team leads should ask themselves the following questions in order to help businesses bring the planned outcomes:

  • How should I keep the project on track?
  • How can I timely monitor and respond to external and internal amendments like the client’s business goals, market situation, atmosphere within the team?
  • Are there any hidden problems that can “destroy” all the made progress?

In this article, a1qa experts are sharing their experience on the QA retrospective use and are shedding light on how it helps emphasize typical challenges as well as solve most of them.

Tackling often-observed issues

The retrospective is a system of regular “flashbacks” that can enhance crew performance and increase the transparency of the project processes for the QA manager by involving the whole team in the internal culture of excellence.

Let us define three types of retrospectives depending on the objectives and the arisen challenges:

  1. General
  2. Project
  3. Internal

A general meeting involves each and every project team member to take part in the problem-related discussions and make robust decisions. Everybody from testers, developers, business analysts to designers meet together to stop thinking about doing work tasks and focus on drawing a picture on the main challenges within the team as an entity. We call it a “psychotherapeutic” retrospective helping find process drawbacks and make a plan of action.

A project retrospective is carried out within the framework of a specific team or the testing crew separately from the development and other units. It can prepare participants for a general retrospective or it can be an isolated event to improve processes and solve specific problems.

The manager can also conduct the retrospective for himself or herself after finishing some of the work. It helps analyze and structure gained experience without delay to record successful management practices for future use.

The frequency of the retrospective can vary from weekly meetings to one rally at the end of the project and depends on the size of the team and the number of tasks. The most effective format is believed to be a regular meeting held every two or three weeks after the end of the iteration.

The retrospective may be conducted:

  • At the end of a certain phase of the project
  • After each iteration (for Agile programs)
  • Upon completion of the project
  • At any time when problems arise.

Even arranging retrospectives at the needed time and with the required objectives is not a way to effective meetings. Hence, one is to configure this process properly to get the maximum results. Read on to find out how to do it right.

Retrospective: 5 steps of a well-build process

As a rule, the retrospective starts with the “opening” phase, which helps commit a team for the working mood. Each participant can calmly and constructively express his or her opinion to find the optimal solutions together with other team members. Since gamification has a positive effect on the retrospective results, warm-up techniques and game elements are often used.

Retrospective process stages

At the phase of gathering opinions, each participant is invited to recall the past period (iteration, release) and answer three questions:

  • Which tasks did the team cope with successfully?
  • Which tasks execution was not effective?
  • Which issues can be tackled?

This is the most common option, but there are others. For example, the Starfish approach suggests dividing all activities into five categories and communicating on each one: what you should start doing, stop doing, keep doing, do more of, and less of something.

The overall picture becomes transparent after collecting and processing feedback from all team participants. The stage of gathering opinions helps identify the strengths and weaknesses of the processes, determine true team values, and evaluate the socio-psychological climate.

The 3rd step is the longest one, as it implies discussing each problem and generating ideas for solving them. However, before proceeding directly to the search of the perfect solutions, it is worth focusing on the most important project difficulties and discarding the minor ones.

Throughout this stage, we often apply for voting practices to define core issues. Each participant chooses from one to three points that he or she finds the most important on the project. The number of votes depends on the size of the team and the amount of the information collected at the previous steps.

The problems with a large number of votes are recognized to be high-priority. Then, the team focuses on their discussion and tries to find the most profitable solutions, normally in the brainstorm format.

After the discussion, the moderator of the process draws up an action plan where each problem with priority has an appropriate set of specific steps to solve it. It is important to determine the responsible person for each item in the plan and set a deadline for each step.

The last stage is about closing the retrospective, thanking all participants for their contribution to the processes improvement, and ensuring that all the results are documented. You can use any convenient tool to record the comments. The main thing is to care about each participant having access to all materials and artifacts of the retrospective.

6 rules for increasing retrospective efficiency

Usually, the retrospective lasts from 1 to 3 hours, depending on the size of the team and the iteration duration. To increase the efficiency of the event, participants should prepare their comments and ideas for improvement in advance.

Make sure the retrospectives do not become a routine, and the team is motivated for a constructive discussion and a joint search of the good problem resolving. For example, you can use such practices as voting to select Captain Sprint, a person who performed best during the Sprint; a discussion based on the Six Hats method; gamification with Lego, and others.

Proper management of the discussion helps participants not to go aside from the goals of retrospective and spend time productively. The ability to defuse the situation and solve conflicts allows everyone to speak freely and stay within the framework of a constructive dialogue.

In addition, the appointment of a responsible person in charge and discussion of the deadlines for all tasks encourages team members to take retrospective arrangements seriously and make more efforts to implement them.

It is also useful to review the agreements and analyze them (whether they are done/not done, worked/did not work). Therefore, the next retrospective often begins with a review of the action plan from the previous meeting and its update.

Remember that focusing on the project participants’ failures and playing the blame game are not going to work well to find the way. Only a QA team remaining cohesive can achieve better results.

Retrospective benefits

The retrospective is not a miracle cure for all the problems on the project. If implemented correctly, it is a useful tool helping make the QA teamwork more transparent, keeping the positive “climate” in the crew, and identifying the pain points before they turn into a disaster.

Need professional help on the QA-related issues? Contact us!

Every pre-New Year season is the high-productive time to plan things big and ensure that you are fully packed for the upcoming season. This is the very time when tech experts cannot wait to compare their QA expectations to the predictions.

So what is the running theme for 2020? Let us recall last year when the loyalty of the values-driven consumer was the foremost priority. By now, the front-row seat goes to achieving business growth. However, you should not be disappointed: providing consumer satisfaction or detecting defects before they release into production is still incredibly important.

QA and software testing objectives

Source: World Quality Report 2019-2020

Want to know more about key QA trends and recommendations for the upcoming year? Keep reading and identify the main points for the coming year.

Keep aligning QA with Agile and DevOps

We have been writing about this idea throughout the year and are repeating ourselves now: achieving high quality when developing applications is a challenge. Once you have started the continuous improvement, this process will be interminable.

How to provide updates at a faster pace and increase agility as well? Of course, implement Agile and DevOps. According to the latest World Quality Report (WQR) 2019-2020, only 1% of those who have gone through the adoption claimed that they haven’t faced any problems. The others admitted that the biggest issues that slow down the progress of successful Agile and DevOps realization are operational and business priorities, the technology stack, and the skills needed to work with them.

If the company has a clear vision of what its success should be like and what the main needs are, it will be painless to harmonize Agile and DevOps with the business.

The main challenges in applying testing to Agile is a lack of test environment and data and inability to get the right level of test automation. When the companies become more Agile and DevOps, they need smarter ways of automating and should give added value to testing’s role in the development cycle making it a part of the pipeline. For this, they need to onboard talents having the right skill set and train those specialists that don’t.

In line with the WQR, over half of the companies admit that they are satisfied with their skill levels in each testing area whether more than a quarter does lack skills in each of the aspects including test automation, performance, security, and more.

Focus on AI and Ml to bring efficient processes to the place

Initially, it might appear that last year the IT world representatives seemed to be very excited about AI comparing with this year. According to Forrester’s surveys, only 29% of global developers have been utilizing AI or ML software during 2019.

What about software testing? In 2018, 57% of the interviewed for the WQR said they applied AI in QA activities to help the teams test better, whether in 2019, the number is 42%.

Let us take a few minutes to see if “AI and everything” are that bad. Is seems that people still believe in AI but they are becoming more realistic about this issue and are only in progress of realizing the artificial intelligence landscape. In the latest WQR edition, we also see machine learning coming to the arena with double force. Have a look at these statistics: 58% of internal processes are using ML, which is almost double higher than the percentage of AI for that role.

However, AI is still a significant part of QA and will probably unleash its potential in the future and will most likely be applied to mitigate the risk of defects and areas of risk, create smart dashboards, etc. Talking about the talents that apply AI in QA, many companies have their in-house AI team but about 60% of respondents prefer to onboard external specialists. By now, AI-related skill set within QA has to be further expanded to get new knowledge in test automation, test data management, and so on.

Will AI keep its positions in 2020? IDC predicts that in five years, at least 90% of new apps versions will include embedded AI features. Though, Forrester assures we are to expect the last peak in AI funding in 2020.

Rethink test automation: make it a business-driven platform, not a capability

Test automation is not leaning back but it’s still a complicated activity. With the apps changing too much with every release, automation cannot keep up with this speed, and 65% of WQR respondents prove this statement. More than half of the IT representatives have difficulties in providing stable test data and environment not possessing enough skilled test automation talents.

Still, test automation can result in multiple far-reaching benefits.

Test automation advantages
Source: World Quality Report 2019-2020

But to change “CAN” into ”WILL”, next-generation automation engineers have to expand their development skills, knowledge in RPA (robotic process automation), TDD, ML, API, and microservices. As soon as the companies are ready to have the right people with the needed skills and to increase the amount of automation, it will be possible to reimagine it as a mature intelligent platform that will help focus QA on contributing to business values.

Pay special attention to security testing

This year, the importance of security was taken to the next level, and QA engineers are to assure with special accuracy that only secured code is deployed to the production.

It goes without saying that understanding of security issues is deeper than it was before. Therefore, security testing should probably show good results in being automated more than other testing types, right? Strangely, it is not. Relying on the WQR statistics, only 13% of security checks are automated, and that is the room for improvement.

Companies should dedicate more resources to getting over security challenges and ensure the safeness of the customer’s data according to GDPR, CCPA, and other protection rules. What can we do? Increase test automation adoption, run more tests quicker, and shift security testing left to reduce risks.

Reconsider test data and environment management

This year, we see that test data and test environments management continue to be quite challenging.

According to the WQR, only the third of companies test on permanent test environments. But what about their cost? Comparing with the last year (39%), 60% of the interviewed suppose the costs to be too high. Though, every cloud has a silver lining: test environments are becoming more visible and available.

The splinters of the test data management are to keep the information consistent for running the test scenarios and make sure it complies with various data regulations being anonymized.

In 2020, the companies should raise awareness and visibility of test environments by onboarding the right skills, try to build a CoE for test data management to create and maintain real-time test data from production systems.

Below, you can see the brief report made by the QA specialist at the annual a1qa summer conference on how to benefit from test design techniques.

Desıgn test techniques

Optimize QA costs

4 years ago, 35% of the budget was given to QA. In 2019, the percentage has decreased by 12%. Should that mean that software testing is not one of the most crucial IT budget areas? No.

In 2015, when companies were investing that much in QA, it was a long-term strategy that resulted in getting better results from new tools and techniques adoption. An increased amount of releases, delivery of quality at speed, and other factors that help achieve business needs are those items of expenditure that do determine the software testing budget.

The final word

As QA is becoming more business-focused and embedded with everything, teams have to expand their capabilities across test automation, test data and environment management, bearing in mind AI and security issues.

Have QA-related challenges? Drop us a note to get a free consultation with the a1qa specialists.

According to the regular CollabNet VersionOne report, 97% of all projects are based on Agile methodologies. It’s no wonder as they help reduce product cost and prepare sought after software.

Scrum is the most widespread Agile framework best suited for medium-sized teams (7-9 members).

The Scrum Guide is aimed at its successful implementation. However, this manual isn’t a silver bullet, and many organizations still experience problems tuning Scrum.

Therefore, today we’d like to focus on the most common process pitfalls. Overcoming them will result in more effective workflow and improved product quality.

#1. Low level of Scrum master involvement

Scrum masters tend to conduct regular meetings and control successful sprint performance.

Although, the Scrum Guide states this role is more ambitious. It includes the support of all specialists so that each member has a deep understanding of the mission to demonstrate impressive results.

Above all, the Scrum master is making the developers feel comfortable and free to work with no interruptions.

Otherwise, they will spend precious time clarifying the requirements with a designer or business analyst, while the testers disturb the DevOps team to relaunch the test environment. This obstacle causes late sprint fulfillment, the lack of proper testing, or poor code quality.

That’s why one should understand the role of Scrum master to find the applicant able to handle issues effectively and collect feedback from all members.

#2. Excessive focus on sprint deadlines rather than product quality

All specialists are responsible for a stable software product launched on time. However, if the focus is made on following the schedule, the code quality will suffer. What’s the reason? Everyone will pay less attention to the proper work of new functionality due to continuous pressure. The defective product of low quality is just a matter of time in this case.

Therefore, it’s vital to specifically focus on the expected result.

Reaching a sprint goal – the timely launch of high-end functionality – should be a major priority. 

#3. Insufficient collaboration with the product owner

The product owner’s main goal is to set tasks and prioritize them. Last but not least is personal involvement in the workflow.

If the product owner follows the daily meetings, he/she will be aware of the project state to early trace vague requirements. And the teams will timely resolve any issues due to the product owner’s involvement.

#4. The lack of effective retrospectives

Retrospective at the end of each sprint allows the engineers to discuss all challenges and concerns. After a thorough analysis, a plan to eliminate further drawbacks is conducted.

If the retrospective is misjudged or held incorrectly, the problems may be defined without proper dealing. This directly affects the product quality as the productivity decreases significantly.

Unresolved issues cause reduced motivation to participate in further retrospectives due to the constant feeling of their uselessness.

The extended plan covering all ongoing concerns is a good way out. By highlighting fixed issues in the real-time mode, the employees will see the progress and stay motivated throughout the project.

#5. The limited perspective on the product

Another common challenge of applying Scrum is planning by short iterations, e.g. two weeks. The inability to think bigger and consider the holistic view on the software product occurs. This leads to problems with choosing the approach to product creation.

Let’s consider a case. During the sprint, the software engineers are preparing a registration form in terms of one service. Further, ten more services with a similar interface will appear.

If the developer knows that, a universal form accepting fields and data types as the core parameters will be prepared. Otherwise, he/she will create a common page that later will have to be enhanced.

To avoid this situation and establish a deep understanding of the product, it’s important to refine a product backlog. How to do it?

Conduct backlog refinement meetings, where the Scrum team removes irrelevant user stories and adds the new ones with priorities.

Such meetings keep the requirements topical and allow the specialists to check the product development plans and eliminate any misconceptions.

Strengthening product quality within the Agile project

The process can be improved by involving a QA team. Software testing engineers communicate with the developers and help clarify vague requirements. Professional quality assurance is another positive enhancement. Software testing engineers detect all the pitfalls and offer the best solutions during the retrospective.

How to boost the testing effect within the Agile project? Here are some tips confirmed by experience:

  • Do not overlook requirements testing

It defines inconsistencies or vague user stories before the development process begins. In the early stages, it will help avoid financial loss and further rework.

  • Test the product throughout the sprint

The testers will identify the drawbacks in the current sprint before they affect the whole functionality. Due to the ongoing monitoring, all the issues are passed to the developers in advance, so they have time to fix them. This factor positively influences a debugging process and entire code quality.

To cut a long story short

Considering these process mistakes, you’ll manage to prepare a high-end product without additional financial or time losses.

To maximize benefits from using Scrum, all employees should cooperate closely, pay attention to Scrum activities and joint team efforts to reach the main objective – release a stable software product able to stand the test of time.

Order a free consultation with the a1qa specialists if you’ve faced one of the situations described above.

Software testing has expanded substantially from the manual approach since the 1980s. As much as the testing activities aims are altering, the QA experts have to expeditiously adjust to the numerous software testing sphere transformations.

The testing discipline will carry on augmenting. Accordingly, we’ve rounded up the top 11 tendencies that will determine the future of testing in 2019 and beyond.

Here’s what we suppose QA professionals need to focus on to stay ahead of top technology progress.

Internet of Things testing

IoT is one of the fastest developing technologies in the modern world. The latest World Quality Report (WQR) revealed that the number of IT respondents that somehow deal with IoT had risen from 83% in 2017 to 93% in 2018.

IoT devices and applications with the connection to the internet are to be tested for security, usability, and performance. Most IoT developments include such technologies as Near Field Communication (NFC), Bluetooth, RFID (Radio Frequency Identification) to connect and enable communication. All these make IoT gadgets vulnerable to network-related threats that should also be recognized by QA engineers.

Artificial intelligence in testing

According to the Gartner’s 2018 CIO Survey, 1 in 25 CIOs has implemented artificial intelligence in their companies. Google, Facebook, Microsoft spend billions on artificial intelligence and machine learning initiatives.

Obviously, AI will grow further and it has its own role in testing as well.

AI can definitely streamline the process and make it smarter. AI-powered software testing can recognize the code changes, analyze them, and launch tests to make sure there are no mistakes. As of today, AI is widely used in test automation.

But in the future with the adoption of AI-powered testing, manual testers will be able to move forward their routine tasks, perform more of exploratory testing, thus reducing costs and bringing more value to the business.

In general, AI will change the profession of software testers and turn them all into test automation specialists.

But of course, this won’t happen overnight and the impact of AI on software testing is yet to be observed.

Increased adoption of Agile and DevOps practices

In DevOps, software testing starts from the very beginning of the software development lifecycle. As a result, most of the defects can be recognized at the earliest and the high-quality application will make it to the market sooner. This approach enables Continuous Delivery and Continuous Integration.

No surprise, 30% of the WQR respondents claimed these methods to be a significant aspect of their today IT business strategy.

There’s nothing path-breaking about saying that the Agile and DevOps adoption tendency will keep on gaining momentum in 2019.

Big Data is getting bigger

Data can be very beneficial to organizations. Given its proper quality, of course.

Volume, velocity, variety – these are the 3 V’s that characterize big data. Considering the exponential growth of big data generated, software testing engineers will have to continue keeping their eyes on its quality.

With the European Union’s General Data Protection Regulation has come into effect on May 25, 2018, more attention should be given to data privacy. And while GDPR is only focused on Europe, many companies outside it stated they would change their data policies accordingly to keep good relationships with their customer base.

Test automation (yes, again!)

Test automation has been the key trend in testing for more than 15 years already. It is hardly surprising that the purpose of QA automation has fundamentally changed – the point is to make a high-quality product as opposed to saving the resources.

68% of the World Quality Report respondents said test automation improved the test coverage compared with the previous year when the percentage was lower by 17% and by 28% since 2016.

In other words, the contribution of QA automation in companies increases. It has undeniable pros in cost savings, removing defects, transparency testing expansion. Test automation guarantees high-grade software is delivered.

And as test automation guarantees a top-notch quality of the software, its tools will be used further to perform both functional and non-functional tests. Testing engineers will concentrate their time and efforts on running experiments and exploratory tests rather than perform routine testing.

a1qa has developed an open-source framework – Aquality  Automation. See its main benefits at the short overview of the presentation done by test automation engineer at the 9th traditional a1qa conference.

The open-source way

Manual testing will stay

Regardless test automation is becoming more popular, manual testing has much to say to the industry. There’re still some spheres like design and usability, which require manual efforts. So yes, manual testing will stay longer with us.

Performance engineering & performance testing

We’ve heard it multiple times that very soon performance engineering will replace performance testing. What’s the difference between them?

Performance testing is about preparing and executing tests, while performance engineering is about understanding how all parts of the system work together and designing its best performance.

However, performance testing is not sharply falling behind the performance engineering. According to the World Quality Report, performance testing conducted in cloud environments has grown by 14% since 2016.

Delivery cycles will get shorter

DevOps, test automation, constant improvements in communication flow have one common goal – speed up releases.

In pursuit of willingness to take a proper place in the market and provide high-quality software organizations enlarge budgets to shorten delivery processes and quicken releases.

Of course, this puts (and will put in 2019) additional pressure on QA departments and make them find imperfections and supply the finished products more frequently.

Open-source tools will prevail

Easily accessible, resilient, and free of charge – open-source products are precious and extremely helpful for IT business.

Though they don’t give a sense of security. However, frequent usage by the community helps to discover and eliminate bugs faster than you can imagine.

Cloud will get more popular

The WQR survey mentions only 27% of all applications are non-cloud based. Today cloud computing is the groundwork for other tendencies like DevOps and IoT.

The public cloud is becoming more popular – its percentage in the number of clouds’ types has got higher by 3% since 2017.

The tendency goes further – respondents prefer to use different cloud service providers, so we see the multi-cloud popularity growing.

Running tests in the cloud has its many benefits: minimum efforts required (you don’t need your own infrastructure to perform mobile and web testing), simple accessibility, and high versatility.

Security testing becomes more crucial

With the broad use of smartphones, tablets, computers, and other devices, one’s got used to relying on them for transactions. It has made security testing more crucial for every company to store shared or accessed data safe and deter security violations.

The survey states, it has grown up by 10% since 2016. Since the confrontation between security and privacy continues to grow, this testing will remain an urgent necessity for many companies.

Summing up

Forewarned is forearmed. Considering all these tendencies, organizations and businesses have time and opportunities to implement industry best practices creating unique QA approaches and ensure the impeccable quality of their solutions.

The article sheds light on the regression testing, which is often taken for granted and doesn’t pose many questions to the QA team. We hope IT project managers and product owners will find this information helpful in getting a deeper understanding of the process.

Let’s start. Software development is impossible without code changes. New features, upgrades, enhancements happen very often and influence the already existing features. This is the main reason why it’s vitally important to make sure the recent code changes haven’t affected the old functionality. And this is objective of regression testing.

Regression testing goal is to assure that the recent code changes haven’t altered or broken the existing bug-free functionality.

Let’s take an example. Say, your team has developed a flashlight app for mobile devices. The app has only two functions: switching the flashlight on and switching it off. You perform functional tests to make sure that the app operates as it should. Testing gives positive results and you have nothing to worry about.

As time goes by, you come to think that your app may also turn on when a user shakes the phone. You implement the feature and carry another round of testing. The new feature works correctly, but you also have to retest the switch on/off feature to make sure that the new functionality hasn’t hampered it.

This is a vivid example of regression testing.

Regression testing and project management methodologies

Agile

If you manage software development projects, you know that in Agile it is divided into iterations or sprints. A sprint normally lasts four-six weeks and results in the delivery of a specific piece of software that can perform some functions. Regression testing should be carried out at the end of every sprint before the piece of software is reviewed and demonstrated to the stakeholders.

Challenge. Strict deadlines and stumbling blocks in development make no room for thorough regression testing.

Solution. Partial regression testing is carried out after every sprint, and full testing before major releases.

Waterfall

The principle of the waterfall model states that each phase of the software development lifecycle must be completed before the next phase will start. Thus, testing must begin only once the development is over.

Challenge. It’s difficult to debug the product and introduce any code change. Not surprisingly, this model can be applied only when the software requirements are clear from the very beginning.

Solution. Before the development starts, make sure the functional requirements are testable, unambiguous and possess all other qualities of good requirements. Third-party business analysis professionals may be invited to perform impartial requirements testing.

Hybrid

The hybrid methodology combines Agile with waterfall principles. The planning and requirements phases coincide with the waterfall approach. The design, development and testing follow the Agile methodology. So, as we mentioned above, full and partial testing should be performed to detect all the bugs.

Contact us to get more information on how our services can help your software deliver the expected value to your business.

7 steps to execute regression testing

No matter what methodology you follow, with any change introduced to the app (even a minor one) the following steps should be taken to perform thorough regression testing:

  1. Analyze the changes requirements and detect possible areas that might be affected.
  2. Compile a suite of relevant regression test cases.
  3. Run a first round of regression testing.
  4. Report bugs.

Any bug is to be reported in a clear way with a detailed description and steps to reproduce it. If possible, videos, screenshots, logs should be attached to the report.

Developers fix the reported defect.

  1. Bugs verification.

At this stage, QA engineers verify that the reported defect has been fixed. If the problem stays, engineers report it back to developers. In some cases, it is worth to discuss if the bug should be fixed. Critical and major defects require fixing. While some of the minor bugs that take a lot of time and efforts to fix may stay. Especially, when they won’t be noticed by the end users.

  1. Run a second round of regression testing.

Our experience shows that you’ll average with three rounds of regression testing to address all the bugs and stabilize the whole application.

Manual regression testing vs automated

Regression tests are good candidates for automation as they run regularly and take a lot of QA efforts that can be freed up to conduct exploration of a product and verify its work in the most unusual and rare scenarios.

However, manual testing is still alive.

Manual testing

On small projects that last for a couple of months only it’s not worth introducing test automation. Then QA engineers perform regression testing manually with no special tools required except for bug tracking (JIRA, for example).

As the project scales, the application will get a new feature with every succeeding release, which keeps increasing the scope of regression testing. In this case, automated testing should be included in the QA scenario.

Automated testing

The stakeholders should decide on automating regression testing, while the job of automation will fall on shoulders of professional test automation engineers with good knowledge of a programming language. The code-based testing has many advantages that can’t be underestimated:

  • Improved product final quality
  • Accelerated time-to-market
  • Optimized total cost of ownership (TCO)
  • Reduced overall QA costs

Here is a good example of how the a1qa team saved up to 40% of manual regression testing efforts through automation.

When deciding on automating regression testing, the main point is to take into account project specifics, assess risks and calculate opportunity costs to choose a well-fit ratio of manual and automated techniques.

In a nutshell

 According to the World Quality Report 2017, the proportion of IT budget spent on QA is about 26%. Based on our experience, we know that 40-70% of the QA efforts belong to regression testing.

If you calculate the value in real money, you’ll see that it would be reckless to leave regression testing to luck. The sound strategy is required to make it effective and guarantee the high quality of your product.

Recent years have brought in a lot of innovations. Technologies have moved so far forward, and the progress is seen with the naked eye. All these recent alterations will definitely impact the sphere of software development.

And as always, business will want the high-quality product launched as early as possible. In today’s blog post we share the prominent QA trends for 2018 to help shape future plans related to the assurance of the software impeccable quality.

#1. Increasing role of DevOps and Agile

DevOps provides for close collaboration between development team and operations staff throughout all the stages of final product creation. According to the World Quality Report 2017-2018, about 88% of the companies used the DevOps principles in 2017, which is an obvious majority. DevOps and Agile together give you the smooth and fast development process and minimize the time and money spent on the product.

‘Applying DevOps and Agile will give you and your clients in the long run such benefits as acceleration of time to market and outage reduction, increase of quality and faster reaction to changes and defects.

Moreover, today SAFe (Scaled Agile Framework) as an Agile for large teams is becoming more and more widespread. If we talk about our own experience at a1qa, we see that clients want to have QA engineers who are able to provide both manual and automated testing – cross-functional QA specialists, so to say. 

That’s convenient for both QA vendors and their clients. The former benefit from having one person who can perform multiple tasks and grow as a professional in various testing areas. As for the clients, they don’t need to spend additional time on knowledge transfer and communication’, says Vitaly Prus, Head of Agile Testing Department at a1qa.

#2. Ongoing trend on test automation

Test automation is a great method to shorten software lifecycle. Every client is eager to have time to market accelerated and cut the costs of the whole process.

However, automation should be applied wisely. If it’s an end in itself, there is no reason to use it. For example, fast changes in the product will make the automation process unnecessary and unreasonable. If the customer wants to automate testing process, it’s always worth estimating its practicability and figure out whether there is even a slight possibility of negative earnings’, Maxim Chernyak, Head of a1qa Test Automation & Performance Lab, talks about the trend.

However, test automation is under-exploited now as only parts of the QA process are automated. According to the World Quality Report 2017-2018, the average level of automation is about 16%.

#3. Open source tools

Today a big portion of IT companies accept the use of open source tools for testing process, which are easy to apply. Moreover, they are technology-savvy and offer great testing opportunities. You will definitely benefit from these solutions, as the expenses for your services will include only the costs for the actual work of your QA team.

#4. Security testing

Security today is of crucial importance for any product or system. Given the fact of the increased popularity of the IoT technologies, security testing became an inalienable part of the product development. Security and penetration testing services are worth using as hackers will continue seeking access to the IoT devices for destructive purposes.

a1qa pays a lot of attention to the security testing to assure that the protection of personal data must be implemented on the highest possible level.

‘IoT devices security is a pain in the neck for the developers of smart devices in 2018. It is reinforced by hackers’ interest in routers, cameras and other smart devices available through the Internet. Several botnets, which were used for DDoS attacks on various corporations, appeared in 2017. In addition, there is a trend for complicating and sophistication of the attack. Thus, the first versions of botnets simply gathered in password and usernames, however now they are able to compromise the device without knowing the username and password‘, Alexey Abramovich, Head of a1qa Security Testing Department, comments on the trend.

#5. Big Data testing

The expansion of Internet of Things (IoT) deals a lot with big data as laptops, home devices, various sensors and machines generating huge amount of data on a daily basis. IoT evolution, as well as digital revolution in general, plays a great role in Big Data world.

The Big Data testing will be in great demand in the near future. It seems that big data system testing will be easier as machine-learning models are becoming more sophisticated and are able to cope with great deal of data variety.

#6. Mobile testing

The number of smartphone users is increasing every year and it is expected to surpass the 5 billion mark by 2019, which will increase the mobile development and testing.

People tend to use their mobile devices for the activities they used to perform on their PCs. Considering the variety of services trusted to smartphones, customer experience and apps functionality become the most important things to check before the final release of the product.

‘As a number of mobile devices grow constantly, the number of mobile applications grow exponentially. Mobile applications are not only an additional customer acquisition channel, but they are becoming the leaders for this goal. What concerns the trends they are determined by the new technologies and innovations. For example, mobile games still stay popular, but AR technology will definitely increase the number of mobile games on the market in the near future. Apple, Facebook, Google use this technology not only in GameDev sphere – its use is much wider.

Another incontestable trend is blockchain technology which was a great deal of discussion in 2017. This technology became in high demand as it provides new opportunities and growth for businesses. However we should not forget about the other popular technologies, such as IoT, Cloud Based applications and E-commerce, which are still edgy’, Pavel Novik, Head of a1qa Mobile and System Application Testing Department, shares his thoughts.

#7. Performance testing vs. performance engineering

Today, we are moving from Performance Testing to Performance Engineering.

To amplify the chances for a successful release of the app on the market, user experience and performance issues must become the most significant things to consider throughout the entire development process.

‘DevOps and Agile practices couldn’t but influence the QA involvement. More and more often, the QA performance team collaborates with the development team, the functional testing team, and the business stakeholders. This gives an opportunity to move from simple performance tests to a deeper understanding of the way how all parts of the system work together. The use of true-and-tried practices and techniques during each phase of software development lifecycle enables the performance team to improve the software speed and robustness, ensure optimum performance given the business goal, which is the main objective of Performance Engineering‘, says Mihail Urbanovich, a1qa Performance Testing Manager.

We hope this brought together trends will help you make up smart plans in assuring high quality of your products.

In the last article of the series, we’d like to cover the benefits our QA consultants experienced after moving from Scrum to the Scaled Agile Framework. Based on our experience of testing software in Scrum and, from now on, in SAFe, we’ll compare the processes and point to the priceless advantages.

From Scrum to SAFe: enhanced speed, collaboration, and predictability

At first, SAFe seemed messy, incomprehensible, and extremely challenging. Mystery of life, so to say. Having no other options but to obey, we got down to work. Days of learning, googling, doing 5 years’ worth of reading up, asking (and answering) questions paid off and in the end we took advantage of the numerous benefits of the new framework.

The most obvious benefits turned out to be the following: synchronized work of all teams and faster delivery of the final product. Let’s have a look at how it was achieved.

To avoid shallow explanations, we’ll use the graphic scheme below. It illustrates the work of the three teams testing software on the project. Scrum is above, SAFe is below.

We hope you remember that for four years almost we were applying Scrum to complete our project goals. As it should be, we organized conventional Scrum events: sprint planning, daily Scrum meetings, sprint review and retrospective.

However, as the number of teams increased, we had to review the entire process and adjust it. It was caused by the customer’s representatives’ desire to participate in all regular events. That’s why we had to defer the sprints start for some days.

This adjustment resulted in the additional week for all teams to finalize all the activities planned for four sprints. Besides, we lacked points of synchronization and didn’t manage to complete end-to-end integration testing and assess the product’s quality before all teams are done.

Only having completed all tests planned for four sprints, we set to the final integration tests and verified the quality of the release product. If it was a minor release, it took us about four weeks to complete integration testing. With the major release, final tests took us about two months.

SAFe helped to change the situation for the better

With SAFe, all teams start and finish sprint activities simultaneously. Synchronization is achieved by the introduction of the intermediate points to sync up (system demo).

Thanks to synchronized work, two weeks of the HIP sprint (check out what HIP stands for here) was quite enough to complete final integration tests. Certainly, if we had to assure quality of the major release, we would allow for more time. Let it be four weeks, it was still two times less than required before.

Put it simply, if sprints started and finished on time and there occurred no obstacles to do the job, the delivery of the shippable product got cut by three weeks.

One last thing

Regardless of scaling, Agile is the same. In large organizations it’s just a matter of making the whole enterprise share the same way of thinking and make everyone feel involved.

SAFe is built in such a way that every person feels valued and invested into the common business. We know the business context, we know the vision of the stakeholders, we collaborate with overseas colleagues and… the Big Picture doesn’t seem to be that messy after all.

Over to you

There are always doubts about the effectiveness of something new. At first, we were thinking that large organization and easy-to-use Scrum don’t mix. After a couple of weeks we made it work on all three levels. We’ve evolved our client’s values and his mindset and managed to keep up our cooperation.

If you are expected to adopt new framework, be it SAFe or anything else beyond your expertise, give it a try! If you give up, a more brave and ambitious service provider will take your place in no time.

Do you have your own tips on how to make SAFe safe, or additions to the article? Please let us know in the comments below.

As we mentioned earlier, SAFe divides the development timeline into a set of five sprints within a Program Increment (PI). However, that is not 100 percent true. There are four full-fledged sprints and a HIP sprint at the tail end of the series.

In this article, we’ll outline the HIP sprint purposes, values, and prospects from the point of view of QA.

What does NOT happen during the HIP sprint?

Ideally, coding and testing should be terminated before the HIP sprint kicks off. So there should be no developing and testing activities during the HIP sprint.

Then what?

The sprint title stands for hardening, innovation, and planning. Each of the components gives us a hint about the purposes of the HIP sprint.

HIP sprints
  • Hardening: Ensures that all PI objectives are achieved, and technical debt is reduced. Time is given to go through checklists again and demonstrate Potentially Shippable Increment (PSI) to stakeholders.
  • Innovation: Provides time for teams to turn up to a hackathon, pitch new ideas, or introduce some innovations.
  • Planning: Conducts Retrospective and completes the planning of the next PI.

HIP sprints in QA: no time for innovation. Why?

No doubt, HIP sprints provide great opportunities for creative guys to offer any new ideas and even try to put it in place. However, as for QA, reality is a bit different.

Most often, we use this time to finalize all tests that were left behind in the fourth sprint. The reasons why the tests weren’t complete in time vary: features delivery was halted, the number of defects grew, or there might arise one blocking defect that prevented the team from doing their job.

If the product release is around the corner, the QA team will be busy running final performance and integration tests that couldn’t be conducted before as every team was committed to their own user story.

It goes without saying that developers do enjoy greater opportunities during the HIP sprint.

But nothing is impossible, and we also managed to make time and think about the future. Developing automated scripts with the client’s data is what we were engaged in during the HIP sprint. These tests were launched every time before the service pack was delivered to the production.

Test automation enabled us to save about 30 hours of manual testing every two weeks. Moreover, automated tests help to increase test coverage: now we could apply them for every client, not for the single ones, as we did before.

That’s it! As you see, the HIP sprint is not a myth, but quite a real thing in SAFe. And while there’s no new functionality delivered, it brings great value to the project.

Now it’s your turn to speak up! Have you tried HIP sprints in SAFe? If using Scrum, how do you allow time for hardening and innovation activities? Please share your thoughts in the comments below.

We started talking about Scaled Agile Framework that helps to apply agile methodology across large development teams. SAFe is usually implemented on three levels. 4-Level SAFe is applied when there are hundreds of practitioners involved.

As for us, we’ve been working with 3-Level SAFe and will talk about it.

The 3-Level SAFe is implemented at the following levels: team, program and portfolio. Let’s focus on each of them focusing on what is relevant specifically for QA consulting practice and software testers involved.

Portfolio level

We’ll start with the portfolio level, which is the highest level of concern in SAFe and is the scope of responsibility of the organization’s management staff.

A portfolio is a number of value streams. Value streams budgeting and implementation is discussed at the portfolio level. A Backlog with Business Epics is generated at this level. Software testing and developing teams have nothing to do here so we won’t dwell on it a lot.

Team level

At the team level we deal with traditional agile teams and Scrum processes many of you are aware of. There is a backlog with user stories. When planning a sprint, teams define work and efforts necessary to meet their sprint obligations. Once the two-week sprint is over, the team meets for Sprint Review, or Demo, and demonstrates some scope of functioning software that can be released. Daily meeting also take place.

At the end of every iteration agile teams meet for Iteration Retrospective where they discuss what has been done well, what has not and what ways for improvement can be found. It’s worth mentioning, that developers and QA work side by side to deliver working software of the release quality. As you see, the process is the same as it’s in Scrum. The difference is that the sprint duration is restricted to 2 weeks.

Program level

The program level is where most of the SAFe differences from Scrum lie. First of all, the size of the development team is larger. The whole team is made up of the usual sprint teams that are applied to the ongoing development mission. The whole team in SAFe is called Team of Teams and can be composed of 50-125 specialists.

The goal of the team is to deliver a Potentially Shippable Increment. “Potentially Shippable” is about the quality of the software, not its marketability. It should be free of defects and possess release quality. PSI is delivered during five sprints.

With every next PSI, end product gets more value. Value in SAFe is delivered by Agile Release Trains (ARTs), which is one of the center concepts in SAFe. The more products are delivered at the organization, the more ARTs there will be. In our project there was only one release train.

ARTs: why such a metaphor? Let us make it clear.

Imagine that you are the customer and you have to get from Prague to Moscow by plane. To reach the final destination, you’ll have to tackle some risks and restrictions. You have to choose between the offered data options and align your timetable. You also have to purchase the flight ticket in advance and book a place on the plane.

A plane is said to be the most convenient means of transportation, but it isn’t free of risks either. The luggage can be lost, the flight can be delayed. Of course, it will take time to overcome any of them. In brief, you can’t be sure that you’ll reach the destination when you’ve planned to. This is exactly what stakeholders feel when the product is developed incrementally.

Now let’s imagine another situation. You travel by metro and have to get from one end station on line to the other. You go underground, buy a ticket and take a train. You don’t have to make any preparations beforehand and you are sure that you’ll get to the required station at the time needed because trains come and go regularly. Having missed one train, you’ll take another one in a couple of minutes.

The latest example describes the ARTs’ work perfectly well.

They deliver value regularly (cycles of 5 sprints). As a result, it becomes easier to explain the stakeholders that features that haven’t been implemented in this sprint, will be implemented in the next one. The development process gets more predictability and the product development lifecycle shrinks. The customer should be calm and satisfied as s/he is aware that the release deadline won’t be missed and the end product will look like it was intended to.

So these are the basics of each level in SAFe viewed by the QA team. Next week we’ll answer the question: what are the key differences in product development in Scrum and in SAFe?

If you have any questions left, drop us a line in comments.

Read how our QA team had to replace Scrum principles with those of SAFe (Scaled Agile Framework) upon the customer’s requests and how we managed to achieve win-win results.

The a1qa acquaintance with SAFe started two years ago. A customer, who has been cooperating with us in QA outsourcing for more than 4 years, confronted us with the fact: “As of today, we start working with SAFe, guys.”

However, we had no other options but to obey. We learned the basics, read numerous hands-on articles and started tuning our processes. Looking ahead, we must admit that we did it quite successfully.

To date, we’ve been working with SAFe for almost two years. And our experience is what we want to share. Hopefully, we’ll foretell some of the difficulties that your QA team may come across.

Let’s start with some basics.

When apply SAFe?

Google displayed us the following big picture:

Agile: SAFe methodology

The core thesis about SAFe is that it contains a number of rules and regulations to ensure smooth agile scaling in a large number of development teams.

  • Are there multiple software products developed and roles in the project?
  • Do you need dozens of approvals to put in place any new suggestion?
  • Are there many development teams who are eager to apply the lean-agile approach?

If the answers are “yes” than SAFe is what can be of help.

What are the levels in SAFe?

SAFe basic structure contains three or four levels depending on the specific needs of the company. They are portfolio, program and team levels. The 4.0 SAFe that has arrived this January has introduced the fourth optional level, called the Value Stream that should be applied in companies with over 120 people working on heavy software systems. In teams of 50-125 people (as it was in our case) the three-level structure is more convenient.

To gain a better understanding of every level, let’s take an example of the project and focus on its levels. It’s important to note that the levels will be analyzed from the QA team’s point of view, not the business one.

Let’s imagine that we have to enhance the e-commerce application aimed at selling books. The current functionality of the app is very simple: the customer uses the search bar to find the book he or she needs and orders it. When the book arrives at the warehouse, manager notifies the customer and he/she collects it from the warehouse. Apparently, the app is too simple to be competitive on the market. We need to strengthen it adding some more features that will make it more attractive.

The portfolio level is the highest level of concern in SAFe. The responsibility of the portfolio level is to discover major initiatives (business epics) that would reflect business priorities. Epics can be functional and architectural by nature.

As for our website, the functional epics shall be the following:

  1. Organize delivery across the country with the opportunity to follow order processing in a user’s account.
  2. Develop an online communication platform for books amateurs.

Architecture epics should be the following:

  1. Integration with GIS (geographic information system).
  2. System migration to the cloud.
Example of SAFe number one

So far it’s pretty easy, we hope. Now we are going down to the program level.

Program level is where business epics are split into features and development team and other resources work on the implementation of the features. A feature is a part of the product that should give some flow of value to the customer or to business.

Let’s split one of the epics on the team’s level. Online communication platform epic can be subdivided into the following features: user’s account, forum, and private messages.

Example of SAFe number two

On the team level, every feature shall be reformulated into clear and short user stories that can be estimated and implemented within a sprint.

For instance, private messages feature can be broken down into the following user stories: send messages and get messages and save chat history options. Architecture epics have to be broken down as well.

Example of SAFe number three

In such a manner, with every next level, the tasks get smaller in size and their boarder lines are specified. Estimation also gets more accurate.

In the next article, you’ll learn the workflow specifics on each of the SAFe levels.

In the previous article Ekaterina Bazyleva, Manager at a1qa, encouraged our readers to actively use JIRA to manage agile projects. Today Ekaterina shares her professional secrets: she lists the JIRA functionalities that can make the manager’s life so much better.

1) Add flag

When there are many tasks on the Board and you plan to discuss one of them during the daily Scrum meeting, what do you do? Most probably, you put a sticker on your monitor not to forget about this very issue. However, there is another option, which is more convenient: flag an issue on the Board and it will be displayed in yellow. All flagged issues can be found with the JQL query Flagged = Impediment.

2) Burndown gadget

To find the Burndown Chart you have to open the Agile Board and go to the Reports. If you need to track several sprints and several teams, you’ll have to constantly switch between them. There is a way out. Add the Burndown Gadget to your dashboard and get the opportunity to monitor teams’ work. The more teams you have, the more Burndown Gadgets you have to add.

dashboard-jira-burnd

3) Card layout

Customize the cards for your boards and you will help the team members to see the right information at one glance. You can add up to three additional fields to be displayed on cards. It can be an issue assignee (if you have a big team, it’s not always easy to understand the responsible person by his or her small photo) or the Fix Version (good option if you have many different environments). The number of fields to choose from is really huge.

4) Workload by assignee

There are many teams that plan the workload on the sprint planning stage. The Workload by Assignee table will show you whether the work is evenly spread between the team members.

5) Kanban board

Besides the Scrum Board, there is also a Kanban Board available in the Agile Plugin.

It will suit, for example, the QA outsourcing projects where the situation changes on a daily basis. There are no team limits and issues change their status as soon as they are completed. The majority of the settings are the same as for the Scrum Board. The manager’s task is to update issues priority when needed.

The Kanban Board doesn’t involve a lot of planning and will go well for those issues that can’t be planned such as production bugs, users’ requests to the support service, background tasks.

6) Hot keys

Hot Keys are typical of any application. In JIRA they are ingeniously simple. These are my favorite:

  • GD – Will direct to the most recently opened dashboard;
  • GA – Will direct to the most recently opened Agile Board;
  • GI – Will direct to the Issue Navigator where you can search for various issues;
  • c – Will direct to the dialog box to create an issue;
  • e – Will open the Edit Issue dialog box;
  • a – Will open the Assign dialog box.

I hope these tips & tricks will be of help to you. Remember them tomorrow when you get down to work.

What JIRA features do you use regularly? Share them in the comments!

Ekaterina Bazyleva, a1qa Manager, Scrum Master and SAFe Agilist talks about JIRA tools that help to plan, manage and track agile projects completion.

JIRA tools that can help the team to be agile doing any job

“Job” in this context refers to any task: preparation of test documentation, running regression tests or arranging training in a remote center of excellence in the course of software testing outsourcing.

This article will mainly be useful to those who:

  • Manage multiple tasks on one or several projects;
  • Want to offer Scrum or Kanban implementation with JIRA to the customer but don’t clearly understand how it will work;
  • Already use JIRA Agile plugin or have a slight idea about it and want to go deeper.

Sounds like you? Then keep reading.

Every manager definitely has a Todo-list or lists with multiple work tasks. These tasks may belong to one project or to different projects. It’s not a rare case when the tasks are postponed and new ones are added. Managing these issues (I say “issue” here to move closer to the JIRA terminology) becomes a real headache. We regularly look through the list and promise ourselves to review it tomorrow or maybe next Monday. Familiar?

To be productive when solving the emerging tasks is one of the agile methodology principles. But don’t wait till your customer will ask to apply agile management methodology to complete the project. Take your current project and implement it using agile principles.

You’ll need to take five steps to become agile managing the project. They are the following.

STEP 1. Create and configure the agile board

Create a Board (Jira-Agile-Getting Started) to track the tasks (issues) completion.

This is the default view of the Agile Board:

Now let’s configure it according to our needs.

First let’s set up the columns. They will cover the issues lifecycle. You may choose any number of columns and name them as you wish. Preferably, the titles should map with the stages of the issues lifecycle (To Do, In Progress, Done).

You may also add different types of swimlanes to your board to categorize the issues. You may base the swimlanes on epics, assignee, queries or stories. The last option is especially comfortable if you work with sub-tasks. The swimlanes may also be based on your own filters or there may be no swimlanes at all.

Configure Quick Filters to (sorry the pun) quickly filter the issues appearing on the Agile Board. To add a new filter, enter its Name, JQL, and a Description.

Finally we’ll have to choose estimation to track work progress on the project. The most popular options are story points or original time estimates, which may be specified in minutes, hours, days or weeks.

STEP 2. Prioritize the issues in the backlog

After you’ve created the Agile Board you’ll get access to the easy-to-use Backlog interface.

  • Create Epics in every of your projects to cover the main types of activities, for example: processes optimization, test documentation upgrading, regression testing, etc.
  • Set deadlines for every issue.
  • The tasks from the todo-list will become user stories related to the main activities.

Now all your tasks are put in order in the Backlog. You can drag and drop issues to rank them, assign them and many more.

So now when the Agile Board and Backlog with all issues ranked are configured we go ahead to plan our first sprint.

STEP 3. Planning the sprint

A sprint is a short period (usually of two weeks) during which a team accomplishes the most important issues from the Backlog.

Let’s plan our first sprint.

  • Choose the sprint duration. Will it last for a week, two weeks or any other period of time?
  • Calculate the team’s capacity.

Capacity is the amount of issues that could and should be accomplished during the sprint. When calculating this number you should take into account the resources’ availability. Consider the fact that communication also takes time.

Example of the capacity calculation:

The team size is 2 full-time specialists.

The sprint duration is 2 weeks.

Total number of working hours is 160. You also know that one engineer will take training on web services testing (16-hour long). Communication will take about 20% of the working time.
Summing up, the capacity for sprint issues will be calculated as following: (160-16)*0,8=115,2 hours.

  • Based on the team capacity, we allocate the issues from the Backlog to the sprint.
  • Determine the sprint’s Start and End dates and press the Start button.

STEP 4. Completing the sprint

Now it’s time to accomplish the issues taken from the Backlog.

  • As the first step of our tutorial we’ve created the Agile Board. Now it will enable us to track issues completion.

You may assign an issue to an engineer when creating the issue. If your team is self-organized, its members may choose the issues they’d like to fulfill. As soon as a user put an issue In Progress, he or she becomes the issue’s assignee.

  • If you are used to regularly logging time and tracking the total remaining time, use the Burndown Chart. It will show your progress and the likelihood to achieving the sprint’s goal on time.

The grey “Guideline” shows the ideal course of the sprint. The vertical axis indicates issues and the horizontal – time. On the image below the red line is the scope of opened issues, while the green one is the total time spent.

Let’s analyze a couple of Burndown Charts.

This team is facing some problems: the volume of the accomplished issues is smaller than it was planned. If they don’t make a push in the last days of the sprint, they’ll fail to complete all the issues on time.

On the contrary, these guys are moving ahead of schedule and have to look for some extra issues if the trend preserves.

STEP 5. Ending the sprint, conducting retrospective

Agile is not about boards, stories and sprints only. It’s about process optimization and bottlenecks detecting.

That’s why after pressing the End Sprint button, you’ll have to spend time and figure out why something (if anything) went wrong.

Pay attention to the following:

  • When you complete a Sprint in JIRA Agile, you will be shown the Sprint Report. It will contain the list of issues that were planned for the sprint; those that were actually completed and were not.
  • Analyze the Burndown Chart to figure out the moment when your team broke a schedule. Learn the reasons.
  • If you chose major issues for Epics, for example “Run regression tests for the entire application at the minimal acceptance testing level”, the Report will show how much work is still to be done to accomplish this task.
  • You may also estimate the team’s Velocity.

Velocity is a measure of how much of the backlog can be done by the team during the sprint. It can be calculated in story points, hours, issue count, or any numeric field of your choice.

These are the five steps to complete our Agile-project. Let’s numerate them again:

  1. Create and configure the Agile Board.
  2. Organize all issues in the Backlog.
  3. Plan the Sprint.
  4. Complete the Sprint.
  5. Conduct retrospective.

To end up with I’d say that JIRA may look scaring at first sight and too complicated to deal with. However, it will take you only a couple of days to learn its settings and customize it to your needs. Time invested to configure the Board will save you days of efforts.

In the next post read about some tips and tricks that can make you work with JIRA more productive.

Lisa Crispin is an agile testing practitioner and consultant, co-author of two books.  In 2012 Lisa was voted as the Most Influential Agile Testing Professional Person, an award program sponsored by the Agile Testing Days conference.

Hi Lisa, can you please tell us about yourself, your current occupation and expertise?

I’ve been a tester on agile teams since 2000. I started out my career as a programmer/analyst, and I got interested in testing in the early 90s. Currently I’m a tester on the Pivotal Tracker Team, our product is an agile project tracking tool.

My recent experience in the domain of software testing outsourcing is testing SaaS products, both from a UI and API perspective, and I’ve done a bit of testing on our iOS product as well.

I like to share my experiences with others and learn new ideas, so I do a lot of writing and presenting at conferences. Janet Gregory and I have published two books: Agile Testing: A Practical Guide for Testers and Teams, and More Agile Testing: Learning Journeys for the Whole Team.

A large number of organizations are currently moving from traditional cycle to agile development. How will this process influence testing?

To succeed with delivering valuable software over the long term, the whole team must take responsibility for quality, planning and executing testing activities. Our mindset has to shift from finding bugs after coding to preventing bugs from occurring in the first place. That means that testers, programmers, designers, product experts, database experts, operations experts, everyone has to collaborate continuously. We have to think about testing even before we think about coding.

What are the main characteristics of testing on agile projects?

A whole-team approach to quality, test-obsessed developers, guiding development with testing both at the unit and acceptance test level, getting a shared understanding of the product and each new feature before we start testing and coding.

Since we’re doing TDD (test-driven development) and ATDD/BDD/SBE (see below for definitions), agile teams have fully automated regression testing, leaving plenty of time for testing practitioners to do the vital exploratory testing so that we learn as much as possible about our software. For these approaches to succeed, the team needs a culture that supports learning and experimentation. You can’t focus on delivering software fast – you have to focus on delivering the best possible quality software.

What skills should a tester have for testing in agile?

Curiosity, a love of learning, an agile mindset, an attitude of “I’ll do whatever is needed to help”, technical awareness, the ability to communicate and collaborate with customer and technical team members.

Can you give some examples of testing approaches on agile projects?

Successful agile projects typically use some form of guiding development with customer-facing tests, whether it’s behavior-driven development (BDD), acceptance test-driven development (ATDD), or specification by example (SBE). Those are all similar. We start by getting the whole team together to talk about a new product or release, identify the backbone or “walking skeleton”, and thinking about how we’ll test it.

We use techniques like personas and story mapping (as in Jeff Patton’s terrific book) to build shared understanding and identify thin end-to-end slices of value. We get product experts, testers, developers, designers and others as needed to have conversations about each user story, specify rules and examples of desired behavior with techniques such as Matt Wynne’s example mapping. Developers code test-first, both at the unit and acceptance level. They may do exploratory testing of each story before they finish. Testing experts do exploratory testing at a feature level. They help the team discuss all the different quality attributes, both functional and non-functional, and make sure appropriate testing activities are done.

What tools are commonly used for testing in agile?

If you mean automation frameworks, libraries and drivers, teams should first decide how they want their tests to look, and then identify a tool that supports that vision.

Test automation is vital, to free up time for exploratory testing. But conversations and collaboration are far more important than tools.

Automating regression tests is generally a must, but we need more. We need to start with a shared understanding of each new product, release, feature and story. As I mentioned, story mapping is a helpful technique. We need both testing and business analysis skills. We need to explore the code before and after it is delivered to learn whether it really solves problems for customers.

How testing can be completed in short iterations?

The whole team takes responsibility for testing, and includes testing activities when planning each feature and story. No story is done until it’s tested. TDD and BDD/ATDD/SBE help accomplish this goal. Close collaboration between testing experts and development team members helps make sure testing doesn’t lag behind.

A common problem with new agile teams is “over-committing”. They’re so keen to please their customers; they plan too many stories in iteration. To avoid disappointing their customer, they skip or put off testing activities. Instead, teams should plan to do less work, but do it as well as they possibly can. When you build a strong code and test base by focusing on quality, you’ll be able to deliver faster in the future.

Try a “lean” approach where you limit the number of stories being worked on at any given time, focus on finishing one story at a time and then moving on to the next.

What are the main principles of an agile tester?

Janet and I devote an entire chapter to this in Agile Testing. Here are our 10 principles for an agile tester:

  • Provide continuous feedback.
  • Deliver value to the customer.
  • Enable face-to-face communication.
  • Have courage.
  • Keep it simple.
  • Practice continuous improvement.
  • Respond to change.
  • Self-organize.
  • Focus on people.

What documentation is necessary on agile projects?

You need the documentation you need. The Agile Manifesto values working software over documentation, but we still value documentation. Janet and I find that automated regression tests created as a result of BDD/ATDD/SBE provide excellent living documentation of how the system behaves.

The tests always have to pass, so they must be kept up to date. But you may need additional documentation for users, regulatory agencies, team memory. Each team should decide what is needed. Talk this over with your business experts and auditors too.

How is it possible to create appropriate documentation?

Using executable acceptance tests as mentioned in the last question are one terrific way to create documentation. You can even generate documentation. My team generates our API documentation, including examples that are from actual tests.

In my experience, most teams need to hire a good technical writer to help create useful, long-lived documentation.

What can you recommend to agile testers?

Keep learning. There are plenty of online resources and communities where you can learn and practice new ideas and skills. There are so many great testing conferences these days. Read, practice, experiment!

What do you think future will bring to agile?

I don’t try to predict future, but, it’s still my experience that it is difficult to find a tester with the right attitude and mindset to contribute to an agile team. At the same time, more and more delivery teams realize the importance of testing activities such as exploratory testing and BDD/ATDD/SBE. Some teams, including my own, are adapting by hiring the few top-notch testers who can transfer their testing skills to the developers on the team.

Testing activities are done by everyone on the team. This doesn’t mean we don’t need testers, but it does mean we need testers who are good at helping their teammates learn good testing skills.

Thank you, Lisa, for devoting your time and sharing your thoughts with us. Hope to talk to you again.

To learn more interesting things about Lisa Crispin visit her website.

If you missed first part of the interview, read it here.

a1qa: Why you claim “Look at the Big Picture” as one of seven success factors?

Janet Gregory: Sometimes teams work really well, delivering and testing stories as planned. All is going really well, but when the customer sees the finished product, they are not happy, or they find some major issues.

This problem often occurs when the team forgets that there is a larger feature that the stories are part of. The product backlog may be a list of stories that have lost their context. A feature is the business capability the customer really wants. That feature is broken up into many stories and unless teams are constantly looking at the real problem (the business need), they can end up delivering the wrong thing. The other part to this success factor is the system as a whole.

There are impacts to that system that a single story may not take into account. Te In this second part ftsters looking at the big picture can often see those impacts and help identify some of the issues early preventing delays later.

a1qa: Programmers as testers: why programming skills can be a plus for a tester?

Janet Gregory: This is a very controversial question these days. Many people take that to read that testers must be able to code production code. I do not. I think it is definitely a plus to be able to read and understand code so that testers can discuss risks, tests and design with the programmers.

I also think programming skills are good for helping with test automation. The term that Lisa and I use in More Agile Testing: Learning Journeys for the Whole Team, is ‘technical awareness’. It is a phrase I first heard from Lynn McKee and I took it to heart. Technical awareness might mean programming skills, it might mean database knowledge or perhaps more about embedded dev.

Technical awareness is context sensitive so what is an important skill on one team, may not have as much importance on another. Testers should strive to learn what is important to add value to the team they are working with, and yes… that might include programming skills. To end this question, I will say emphatically, I do not think testers need to be able to code production code. That does not mean they are not capable, but there is so much other value they offer to the team.

a1qa: You teach a 3-day Agile Testing Course. What is the most difficult thing about teaching Agile?

Janet Gregory: I’m not sure teaching agile is a problem. Most people get the concepts fairly easy. Putting it into practice is another matter. In my course, I try to get the attendees to really experience what that means. I teach the theory, but then work through a case study with exercises so that the participants really experience what that theory means.

Those are usually the ‘ah ha’ moments for them. The difficulty is often in letting go of what they had considered best practices for many years. When a student comes up to me after class and says “it now all falls into place”, any of the struggles during the class was worth the effort. Those ‘light bulb’ moments make it all worthwhile for me.

Janet thank you for sharing your ideas and experince. We hope to talk to you again. 

Janet Gregory is an agile testing coach and process consultant with DragonFire Inc. She is the co-author with Lisa Crispin of Agile Testing: A Practical Guide for Testers and Agile Teams and More Agile Testing: Learning Journeys for the Whole Team.

She is also a contributor to 97 Things Every Programmer Should Know. Janet specializes in showing agile teams how testers can add value in areas beyond critiquing the product; for example, guiding development with business-facing tests. Janet works with teams to transition to agile development, and teaches agile testing courses and tutorials worldwide. She contributes articles to publications such as Better Software, Software Test & Performance Magazine and Agile Journal, and enjoys sharing her experiences at conferences and user group meetings around the world.
For more about Janet’s work and her blog, visit www.janetgregory.ca. You can also follow her on twitter @janetgregoryca.

a1qa:You are in Agile for many years. Why you chose Agile as your specialization?

Janet Gregory: I’m not sure I chose agile as much as I fell into it .. at least at the beginning. My first introduction was to XP (eXtreme programming) was by a development manager. I was interviewing for the job of QA manager and one of his questions was “Had I heard of XP?”.

At that time it was very new to software testing outsourcing, and I had only a very limited knowledge, but we worked together trying to implement some of the practices and we were actually pretty successful, although I didn’t realize it at the time. As many other companies did at that time, we suffered layoffs and I went on to my next adventure. Probably the only QA person in Calgary at the time, I landed a tester contract with a team who was actively practicing XP.

At the end of that year, I knew I never wanted to go back to a phased and gated project as a tester. Being a tester on that agile team was so much more fulfilling than anything I had previously done, I decided to concentrate only on agile teams. For the next eight years, I worked with teams transitioning to agile – usually with a dual role of tester / coach. In 2009, Lisa Crispin and I published Agile Testing: A Practical Guide to Testers and Agile Teams to try to help as many testers and teams as we could make the transition more smoothly.

a1qa:What are the most common pitfalls that you face when engaging teams into Agile environment?

Janet Gregory: I think the most common problem I see is that testing activities are not integrated completely into the process. The team still views testing as an after-thought, and stories are not created with testability in mind. It is hard for programmers to start thinking differently about how they code so that each story can truly be ‘Done’.

I often get the call from organizations to come and help the testers keep up, and train them to understand how to do that. Most often, the problem is related to how the stories are delivered. For example, the stories may be too big and all of them are delivered at the end of the iteration at once. I call this a mini-waterfall. Teams haven’t really changed how they work; they just do it in smaller chunks.

To be continued…

The beginning of this century was marked by the birth of a document that has strongly influenced software development: the Agile Manifesto. Signed by 17 software developers in February 2001, this document presents a list of ideas that were discussed by many developers, but few dared to use it. In the last 14 years, flexible methodologies have outpaced classical models of the project life cycle. The Agile principles have influenced a great number of new software development approaches.

Flexible technologies have also impacted the whole sphere of quality assurance. Testers have turned into universal soldiers able to complete their tasks while time and information constraints limit them. The particularity of mobile projects allows using a maximum amount of flexibility to achieve the true quality of software product.

agile-manifesto

While there are many flexible methodologies, the Agile principles are fitting mobile testing best. The world of electronic gadgets itself requires special flexibility, not to mention the process of working on mobile projects.

Each user of a modern mobile device faces issues while operating a particular application. Numerous defects in mobile applications are making them competitively disadvantageous as there are many apps performing the same function. The constant updating and following of the mobile fashion require maximum flexibility in the development and testing of mobile software.

We should underline two key ideas of the Agile Manifesto that are the most applicable to mobile app:

  • The real working product is much more important than its detailed description in documentation
  • Flexibility and readiness to change is more important than following the original plan.

Why Agile is the best approach for mobile testing?

In this section, we present the mains reasons why Agile methodologies provide the best approach for mobile testing.

1. Continuous evolution of product to satisfy customer and user needs

The application should be simply the best among many competitors. Successful developers of mobile apps want to see their product at the top of all charts and ratings. Without doubts, a fast reaction to the market’s demand is one of the keys to success in the mobile world.

For QA engineers such trends often lead to frequent changes in requirements, performing testing “on the wing” and a lack of well-structured documentation. Agile concepts could be real lifesaver in this case.

The following Agile principles are applicable:

  • Achieving customer satisfaction with rapid delivery of useful software
  • Welcoming changing requirements, even late in development
  • Working software is delivered frequently in weeks rather than months

These practical tools allow implementing these principles:

  • Common access to build storage
  • Clarification of functionality on daily scrums
  • Notifications about availability of the newest builds

One of the basic features of mobile applications development is the ability to provide the latest version of the product for testing at practically any given time. In most cases, the application’s build and its deployment requires not more than 20 minutes. Constant and uninterrupted supply of application versions to QA specialists enables the customer to receive the validated product on demand.

The ability to make rapid changes and the opportunity for tester to check the new functionality in a few minutes at a critical moment can dramatically improve the competitiveness of mobile product on the market. Thus, the customer can implement any cadence of supply, up to 1 hour, and QA will be ready for that.

In a recent project, the customer wanted to receive new version of the app each Tuesday, but the only chance to clarify the change request was during the weekly call on the previous Friday.

2. Readiness to react on new operating systems and new devices

The world of mobile technology is developing rapidly and this speed cannot be compared with any other area of IT technologies. Information about the latest trends, the correct choice of test environment and the willingness to follow innovations from leading companies should be provided by QA leads. The flexibility has to be demonstrated equally by QA team leaders as well by quality assurance engineers.

The following Agile principle can be used here:

  • Regular adaptation to changing circumstances

These three methods and tools making it possible implement this principle:

  • Tracking of mobile novelties
  • Working with custom firmware
  • Planning of the tests for further OS/device release

The testing of custom the Android Lollypop firmware on target device before its official release is a practical example of the application of this principle.

Read the full article here.

The article by Nadia Knysh was published on Scrum Expert.

Matthew Heusser is a managing consultant at Excelon Development. Matt has deep experience in software testing, project management, development, writing, and systems improvement. His extensive network of contacts in these fields has enabled him to put together a diversified, high-level team of experts at Excelon.

Matthew was lead organizer for the initial Great Lakes Software Excellence Conference, a regional event that continues today. He organized the Agile-Alliance Sponsored Workshop on the Technical Debt Metaphor, and recently published a leading position paper on the subject for Better Software magazine. Matthew served on the board of directors for the Association for Software Testing, and was the testing track chair for the Agile Conference in 2013 and 2014.

a1qa: Matthew, involving QA team in Agile process is always challenging. Nevertheless it always worth trying, hope you agree. Maybe you have your own method of introducing agile to a QA team or some leadership tricks you follow?

Matthew Heusser: Well, I’d say that the ideal Agile process moves from what (requirements) to done (in production), and done includes “running”, or production support. When you start to cut involvement back you tend to decrease throughput and quality.

Introducing Agile into QA consulting, well, I see two or three big pieces to that. I’d start with introducing the idea of iterations, or sprints. This brings up the problem of regression-testing, or release candidate testing, in a day or two, preferably less. This isn’t a problem for some teams; they work on twenty to a hundred small pieces that can be deployed independently. For others, we have to talk about strategy.

My preference is to talk to the whole delivery team about Agile adoption. Typically I find that it is possible for the developers to scale back the work to small chunks. Even in an ancient system, the programmers can slice the work thin enough to get done in two, weeks, ‘just’ adding a column to a report, and so on. The challenge is that regression. But if we ‘just’ added a column to a report, we can do a much more risk-adjusted test run. So one ‘aha’ moment is that regression testing does not have to mean re-running a specific test plan, and instead can mean varying the test approach based on risk.

The second big issue to tackle is story-testing – breaking a huge requirements documents into a chunks small enough to be actionable and yet meaningful. With traditional development, we tend to assume a 80-page specification implies deep thought. When teams chunk work and look for examples, we can often push disagreements and misunderstanding upstream, before coding begins, in a story kickoff. This is critical to actually getting testing done in tight time boxes — you just don’t have time for the back and forth bickering over what the software should do. So I see story kickoff, or “shift left”, or whatever you’d like to call it, as another ‘aha’ moment for agile-testing.

a1qa: Lean software testing is one of your interests. Still, lean testing is a curve of AGILE. So what`s makes lean software testing different from other Agile approaches?

Matthew Heusser: Lean Testing as I practice and teach it provides theory for why Agile Software Works – with small batches, limited work in progress, moving toward one-piece flow, and so on. It also provides concrete measures and metrics that improve team performance even when gamed.

Dare I say it, those are two areas that I see Agile falling down. Scrum or XP introduced as sets-of-rules without theory tend to fail, and Agile ‘metrics’ like Velocity can be easily gamed to the determent of the system.

a1qa: Let`s talk about testing in Scrum. It`s well-known fact that Scrum has a number of Pros: saving time, quick product quality delivery in a scheduled time. But what about Cons? There is a viewpoint that scrum is good for small, fast moving projects as it works well only with small team. And this methodology needs experienced team members only. Do you agree with that? And if you faced these challenges, how you managed to handle them?

Matthew Heusser: Well, first of all, you have to understand the problem Scrum was introduced to solve – requirements churn so fast that no one could get anything done. If you don’t have that problem, if, for example, your team can turn around code in a day – then off-the-shelf scrum might actually slow you down!

Here’s why – Scrum tends to prescribe iterations of a fixed length, with a standard now around two weeks. You figure out all the stories for those two weeks, the technical team commits to them, and the product management team goes to figure out what to do next sprint. If your team already does just in time requirements, and that is not a problem, then you’ve increased the batch size. Lean methods wouldn’t think of that as an improvement.

As for the argument that scrum only works with small teams, I would agree – at least to the extent that scrum was designed for small teams and doesn’t tell you what to do with big ones. But let me push back on that a little, at least to say that large teams organized by function don’t work, or at least, don’t work well.

For example, I worked on one project that you might consider medium – perhaps sixty people full-time for two years. The teams were organized functionally. Every day you’d have a test standup, a fronted standup, a backend standup, a scrum of scrums, an operations standup … who knows. I didn’t even have exposure to all the standups! Nor did I want it.

Scrum would prescribe cross-functional teams. Instead of eight functional teams of eight people each, we could have had eight feature teams with eight people each. This would have required a little infrastructure work so that the teams didn’t step on each other, but that would have been good design work anyway.

a1qa: And finally applying Lean software testing, Scrum or any other methodology, can testers reach 100% application/system quality, make it highly efficient? Or maybe QA is an endless process?

Matthew Heusser: As long as a new version of Internet Explorer, or Chrome, or FireFox, or Safari, or iOS, or Android, can introduce a change to javascript that ‘breaks’ existing functionality, then I doubt we’ll have 100% application/system quality any time soon. Of course, you can lock down the browser, and only support a specific version of IE. You can lock down the language, and only support English US and English UK keyboards, and so on. Apple controlled everything on the original version of the iPod, from hardware to OS to software. In those environments, you can get a lot closer to 100% correct. For example, a few years ago I wrote some Electronic Data Interchange (EDI) software that ‘just’ converted from one EDI format to another in plain text. That software was certainly fit for use; I am not aware of a single problem in production, ever. Yet a multi-gigabyte file with lines of text that were too long would probably crash it.

So there may be a few domains where it may be possible to get close to 100%. For the most part, for what I do, I can be most valuable in the domains that offer risk – because riskier domains are ones where risk management is called for.

Time pressure? Uncertainty? Ambiguity? Sign me up, because it is often those domains where a tester can add the most value.

Matthew thanks for sharing your viewpoint and experience. We`ll be glad to see you and talk to you again.

You can follow Matthew Heusser on Twitter, LinkedIn  and read his blog.

Introducing QA consultants into a software development lifecycle (SDLC) usually starts with an initial knowledge transfer phase that may take from a week up to a couple of months. By default, knowledge transfer phase duration depends on two significant factors:

  1. Development phase. QA team that starts working simultaneously with the development team requires less effort to get on board in comparison with the latest project phases when the requirements are partly outdated due to changes in technical decisions or business priorities.
  2. Project and domain/area complexity. Providing QA for typical end-users’ products (e.g., social networks or shop sites) doesn’t require a long period of team adaptation in comparison with complex business solutions.

However, there is another factor to consider – process adaptation. I’d like to cover this aspect based on the Agile environment (Scrum in particular). According to a1qa experience with more than 100 projects completed using Scrum, there are three significant issues each team faces:

1. Development team has never worked with QA professionals before

Scrum suggests that Agile teams should be cross-functional. And most of the development teams try to follow this rule when establishing Agile techniques.

After a while they encounter two major problems:

  • Developers are not good enough in software testing and miss obvious defects or spend too much time on the task
  • Developers are demotivated by doing the job they are not interested in.

Having a cross-functional team has its own benefits, and the most considerable is a feeling of responsibility.

However, imagine that you need cardio surgery. At a hospital, they say it will be performed by a dentist explaining that their team is 100% cross-functional. Would you take this risk?

For most companies, the only solution is to introduce a professional QA team. In most cases, it will affect the established process familiar to everyone, e.g., defect management should be introduced together with other QA activities that are often neglected in cross-functional teams.

To avoid misunderstandings and conflicts, a QA team should be eager to introduce changes and reason them.

a1qa also advises to set up training sessions for development and management to give an understanding when, why, and for sure, how QA works. Regular (informal) Q&A by quality assurance sessions are a very popular way to get a development team involved in what QA engineers are doing.

And of course, a QA team should become a part of a project team doing Sprint plannings, Scrum meetings, and retrospectives accepting responsibility for team success or failure.

Work in Agile team

2. Development or QA team has no experience working Agile

Agile is called so for its flexibility in rules and regulations. Scrum is usually considered to be easy to adopt and follow, especially considering other methodologies like RUP.

At the same time, to be effective in Agile, the team should spend at least 2-3 full Sprints to get accustomed to the speed and process, understand the best practices, feel the team responsibility, and get used to each other.

The most effective Agile teams are those that have been working with no staff changes for 3+ months. During this timeframe, a team will go through some successful and unacceptable Sprints, define their own velocity, get more familiar with estimates and risks based on their team experience.

A good practice is to have at least 50% of the team members who have been working in Agile before. They may give a hand to newcomers, share knowledge and expertise.

a1qa tries to balance Agile teams starting with at least 75% of Scrum gurus and keeping teams unchanged for 6 months and more. We also do an introductory training in Scrum for all crew members who are joining a1qa team as well as for development teams.

3. Communication aspect. Another default rule in Scrum is team co-location

The world is changing introducing globalization into everything (and cloud computing is a good sample for IT). Communication is still a very important part of the Scrum team. Normally, Scrum meetings should be held in one room, where everyone should stand up and provide their update to the crew.

For distributed teams, we use the same approach but different tools – the team has daily Scrum meetings using Skype, GoToMeeting, or Polycom. Therefore, while the tools change, the process itself stays the same.

To cut a long story short, involving the QA team in an Agile process is challenging. Nevertheless, consider the benefits you get: high-quality products, happy customers, time to market reduction, costs optimization, and effective developers.

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.