Quality Assurance: How It Works and Why It’s Important

The National Institute of Standards and Technology reports that software bugs cost the US economy an estimated $59.5 billion annually.  No one wants defects in their software, but inevitably they always seem to come up, resulting in customer disappointment, negative reputation impact, and revenue risks. This makes quality assurance one of the most important pieces of any software development process.

Quality assurance (usually referred to as QA) is more than a single step of the process; it takes place at every level of the software development life cycle. Testing and quality control help ensure that the development team delivers a high-quality product. Rigorous and systematic testing identifies problems early on in the development process, isolating project risks and maximizing ROI for you and your company.

What Is Quality?

Any software product is created to help its users improve their life experience, satisfy needs, or solve problems, so quality is the ability of a product to meet those objectives. Stakeholders and product owners see quality in an application when it meets their expectations, is delivered on time and within budget, and is maintainable. A software team defines quality as the degree to which the product meets the business requirements.

What Is the Role of the Quality Assurance Team?

The cost of errors in software grows exponentially as they sneak into later phases of the life cycle. To be the most beneficial and identify problems early on throughout product development, QA activities should be part of the development process from the very beginning, even during the planning and analysis stages. This will help reduce risks of creating incomplete or ambiguous requirements, or acceptance criteria that may be unclear on unable to be tested.

Quality assurance focuses not only on finding bugs, but also on preventing software issues, conducting root cause analysis, and educating the team about quality. QA improves the whole software development process, making it more efficient. By evaluating measures and metrics, testing constantly provides very important information about the state of the product. Critical business decisions are made on the basis of that information.

In Agile, which is one of the most widely used and efficient software development methodologies, testing and quality control go hand in hand with code creation. Constant testing allows software teams to find and fix defects in the same phase of the life cycle in which they were introduced, which reduces the risk of producing new defects and shortens product delivery time.

Why Are There Bugs?

Software is created by humans, and human error is inevitable. Defects happen when code is rushed or too complex, but even without these factors, bugs can still appear. While it’s easy to blame the developers, 20% of bugs are created at the requirements level and another 25% at the design level. No one can reduce risks to zero, but quality assurance eliminates critical defects, improves the system, and certifies that the product meets business and industry standards. Along with exit criteria, budget, and timeline, QA testing results factor greatly in any business decisions about a product’s readiness to go live.

Even when a product is released to the public, the job of the quality assurance team is not over. To stay competitive in the market, software should be a constantly changing product that stays highly adaptive to users’ feedback and quickly evolves to keep up with industry standards. Any adjustments or interference with code could potentially bring new issues, and it is always better if they are found by testers than by users.

Our Thoughts…

Building software is a human project, so there will be mistakes along the way, but the quality assurance team gives any project a safety net. The goal of developers is to make sure the product works. The quality assurance team is there to make sure the product works as well as it possibly can.

A high-quality product takes blood, sweat, and tears from every member of the team. A measured approach and a detailed test strategy will ensure a clear understanding of the final result by the customer. QA helps achieve these keys to any product’s success.

PeakActivity has a huge knowledge base in software building, including quality assurance. The right strategy is key to a successful product, and we can help at every step of the way.

Adobe Experience Manager: 5 Ways Your Company Could Benefit  

Your company’s online presence is arguably one of its most important sources of marketing revenue. Having a great online presence requires great content, and great content requires a great content management system.

Adobe Experience Manager (AEM) is one of the fastest growing content management system options for enterprises, used by major corporations like Motel 6 and Chipotle.

One reason AEM has become so popular is that it simplifies the management and delivery of website content while also reducing the complexity of delivering individual online experiences to individual customers.

What is AEM?

Adobe Experience Manager is a content management system that provides one place to create, manage, and deliver websites, mobile sites, or any other kind of application you might need (from kiosks to eCommerce apps). AEM gives you the functionality to personalize the online experience you want and extend it to the tools you need.

What Are the Benefits of AEM?

1) Multiple Sites Managed in One Place

Having everything in one place is one of the greatest benefits of AEM. In the same platform, you can build and deliver web applications for desktop, phone, and tablet, along with any other screens you can think of. Marketing campaigns can be easily launched onto all platforms at the same time. Even if your site has to be in multiple languages and regions, all can be easily managed from the same place.

2) User-Friendly Content Management

Along with having everything available in one place, most sites can be simply created and maintained through easy-to-use templates. Even with limited AEM experience, you can build your own pages and content from the user-friendly dashboard.

3) Adobe Analytics Easily Integrated

Adobe Experience Manager can easily be integrated with Adobe Analytics, one of the best tools to track your website. Reporting visits and measuring page views isn’t enough anymore. Adobe Analytics can measure customer pathing, traffic sources, content effectiveness, and even video engagement. All of this information gives you real data about who is coming to your site and helps you simplify your marketing goals.

4) Specific User Experiences for Specific Users

Along with the data you’ve gathered from analytics, AEM also provides you with multi-site management capabilities. By using Targeting Mode in AEM, you can create a library of user experiences for each page on each platform, a personalization solution that makes it easy to identify and deliver your best content for each user.

See our A/B Testing Article for more information.

5) Adobe Community

The Adobe support community is one of the best for monitoring your site 24/7 and making sure it’s properly supported. If you have your site available in different countries, the support community can even tell you how it’s doing and why. Depending on the size of your company and your support needs, Adobe can even provide you with a dedicated team to make sure that your site is as well maintained as you’d like.

Our Thoughts

Adobe Experience Manager is the clear choice for web content management for many of today’s top companies. With thousands of content management solutions, Adobe Experience Manager has simplified the process by bringing the most important options together in one place. Unlike other CMS options, it can simplify your life by integrating all the important functions of digital marketing and content management onto one single platform.

WordPress vs. Headless Content Management

WordPress vs. Headless Content Management: Choosing Simplicity or Functionality

Reader Takeaways:

  • A content management system (CMS) is a system that stores and displays your company’s content onto a website, mobile app, or another platform.
  • WordPress is great if you’re looking for a simple marketing website you can build without a development team.
  • Headless CMS might be for you if you’re a larger corporation with a team to build custom applications for multiple platforms.

Managing content correctly can make or break your company’s website functionality. With so many new types of content management systems (CMS), it can be hard to decide. In this article, we’ll break down two popular types of content management systems so you can make the right decision.

What Is a Content Management System?

All of the content you’ve created for your website has to be stored somewhere so you can add, remove, and edit when needed. The system can contain a front end, where the content is displayed on a website (or app, game, kiosk, etc.), and a back end, where the data is stored and edited.

WordPress

WordPress is the simplest, most popular way to create your own website. WordPress is a content management system that is free to use, encompassing both the front end and the back end of your website. That is to say, you add the words and images, pick a theme, and choose some features, and boom… you have a website.

WordPress sites are great all-in-one solutions you can build yourself with preloaded themes and plugins. So WordPress is nice if you have a small website, but it was meant for blogging, so it works best on a site with only information or marketing content.

WordPress has its downsides when it comes to scalability and performance. As soon as you try to add more functionality, like maybe an eCommerce site or a forum for your customers to chat with each other, you’re going to have to create a lot of custom code that could slow down the site.

WordPress might be for you if:

  • You’re looking for an enterprise-level website you can build without a development team.  
  • You need a simple marketing website.
  • You don’t require a lot of functionality or availability on digital devices and platforms.

Headless CMS

While WordPress is your all-in-one solution, a headless CMS has only one focus: the back end. In short, a headless CMS stores your content and leaves the front end display up to you. While that might sound counterproductive, the headless approach can put your content into any technology you can think of, from iOS apps to kiosks to smartwatches and even inside virtual reality headsets.

Using a headless CMS is a powerful option for companies with mobile and web developers. With the right vision, a headless CMS can use any front end tool they want to present content in meaningful and interactive ways.

While a headless CMS can be free to use, just like WordPress, it requires a development team to plan, create, and maintain. And since you’re not working from a template, the user experience can also sometimes suffer. Many growing companies looking for more functionality are choosing headless CMS.

Headless CMS might be for you if:

  • You’re a larger corporation, with a team to build custom applications.
  • You need to publish content on multiple platforms, all at once.
  • A traditional website isn’t doing it for you, and you need more functionality.

What We Recommend

WordPress makes creating a great website quick and easy, and it’s a terrific option for most companies. But as your company is growing, consider making the move to a headless CMS part of your long-term vision; you will be more flexible, prepared for new devices, and have no worries to scale for high traffic. Understanding your options in content management can help you deliver the experience you want, and the one your customers expect.

PeakActivity can help bring your company to the next level by considering all your options in content management. By working with those in the know and using the right tools, you can instantly access new tools to help your website thrive.

ADA Compliance and Your eCommerce Site

Using the internet with disabilities is no easy feat, and the law agrees. Just this year, hundreds of eCommerce companies have been hit with lawsuits claiming violations of the Americans with Disabilities Act (ADA) because people with impairments were unable to access or effectively use sites across the internet.

In fact, more than 10,000 ADA compliance website lawsuits affected companies large and small over a wide range of industries in 2018. With so many different people using your website with a variety of browsers and devices, being accessible and compliant isn’t just the nice thing to do for your users; it’s the right, and the legal thing to do.

What is ADA compliance?

When you think of ADA compliance, you probably think of making sure your building is wheelchair accessible, or other structural changes like lifts and cut curbs. But in 2010, ADA Standards for Accessible Design was published, requiring that websites be accessible to everyone, including people who are visually impaired, hearing impaired, illiterate, or have a learning disability. With the additions to the ADA, new requirements were put in place for how to cater to all customers who visit your site, including requiring sites to be accessible by screen readers.

Many people with visual impairments use a screen reader to use the internet. Screen readers interact with a website by conveying to the user the contents of your site through text-to-speech and sound icons. The keyboard is used to navigate the site rather than a mouse, which requires visual cues. If your eCommerce site can’t be read by these devices, you’re losing out on potential customers, and you’re in violation of the ADA.

Read more about screen readers here.

Why does my eCommerce website need to be ADA compliant?

When a person with a disability arrives at your eCommerce site, they should be able to navigate easily enough to browse the site, contact you, or maybe even buy something. eCommerce sites require tons of interaction, with buttons to click, things to read, and information to enter, even more than an informative website would.

Beyond just avoiding lawsuits, if a person can’t navigate your site easily, they’ll probably just move on to your competitors. 19% of the population has a disability, so making your site ADA compliant may help your reputation, as well as helping you access thousands of new customers.

How can you ensure your website is ADA compliant?

When a visually impaired person tries to access a site that is not ADA compliant, they will probably run into trouble as soon as their screen reader tries to read the pictures on the site. If your images don’t have any captions or code behind them to explain what’s in the picture, called alt-text, your site is not ADA compliant.

The first step in becoming ADA compliant is to figure out all the aspects of the law and how they apply to your site. While lack of alt-text is one of the most common problems cited in lawsuits, making sure your site is accessible requires fixing all the issues people with disabilities may come across. For example, certain disabilities require the site to have full keyboard accessibility, so your site can be read by people who cannot use a mouse. Other violations of the ADA involve color contrast, so that colorblind people can see all parts of the site. The ADA even includes provisions banning flashing lights on your site, so as not to trigger someone with epilepsy.

Knowledge is the logical first step in creating an ADA-compliant site. ADA compliance training can ensure that all members of your team are knowledgeable on all the requirements involved with website ADA compliance, so things don’t go unnoticed. By identifying what needs to be done on your site and working with knowledgeable people, you can easily find the right tools to develop new code that is compliant.

Don’t let a lawsuit be the catalyst to make your site ADA compliant. By working with those in the know and using the right tools, you can instantly access new customers who may have otherwise looked to your competitors. Being accessible and compliant isn’t just a common courtesy for your users; it’s required by law, but more than that, it’s just the right thing to do.

A/B Testing: Taking the guesswork out of eCommerce

Reader Takeaways:

  • An A/B test is the process of sending users to different versions of your eCommerce website to test the performance of each version.
  • By continually running A/B tests on different parts of the site, you can continue to learn more about your customers and how best to cater to their needs, with the goal of finding new ways to convert browsers into customers
  • The process of A/B testing requires creating goals and testing the highest priority areas of the site first.  Changing just one variable at a time ensures that you know what had an impact on your customer’s responses.
  • While the benefits of A/B testing are endless. The best part is the ability to create an eCommerce site that has been proven to be successful.

A/B testing is the easiest and most effective way to convert casual eCommerce visitors

into loyal customers. Running an A/B test requires sending your users to multiple separate versions of the site to determine which they prefer. In an A/B test, you can actually talk to users and watch them interact with a product, uncovering and solving problems that would have otherwise gone unnoticed. With this valuable data, you can quickly see how small things can make a huge difference to your customers. Every site can be improved, and A/B testing can reveal weaknesses and successes in your marketing strategy that you can utilize to make data-driven improvements, taking the guesswork out of your eCommerce site.

A/B Testing Basics

A/B testing is the process of splitting your eCommerce site traffic between multiple versions of the site to see which experience has a better result based on a certain goal metric. In other words, it will show you which of the sites produced more leads, engaging customers, or purchasers depending on the needs of the site. By continually running A/B tests on different parts of the site, you can continue to learn more about your customers and how best to cater to their needs, with the goal of finding new ways to convert browsers into customers.

The solutions that A/B testing can provide are endless. Every part of every site can be tested to ensure that your eCommerce marketing strategy is working. For instance, you might begin A/B tests where you notice your conversion rate falling off. Rather than replacing the page entirely or relying on a gut decision on how to fix the problem, A/B testing allows you to effectively troubleshoot. Will incorporating different verbs or adjectives into your wording or simply changing a font improve your results? An A/B test can give you an exact outline of the problem with a data-driven solution. Keeping up with the constantly changing needs of your customers requires constant A/B testing.

Process of A/B Testing

Our team has established a repeatable method that outlines where to begin and how to proceed at each stage of the A/B testing process. Since it’s easy to get carried away when running A/B tests, it is helpful to keep your scope in mind. Beginning with the highest-priority part of the site, establish the goals you have for your conversion rates. Use research, including data from previous A/B tests if they apply, to form a hypothesis which you can prove right or wrong with your test. Stick to one variable and find out why you’re not meeting your goal on that page.

Once you design and create your test, an A/B test runs until you have enough data to make a solid decision. Once you have enough data, you can quickly determine which of the two solutions is better to meet the goal you set out. Then, repeat the process with a different variable. Changing just one variable at a time ensures that you know what had an impact on your customer’s responses.

Benefits of A/B Testing

A/B tests can be run at any time to create customer-centric designs for your eCommerce site, increasing your conversion rates. The benefits of A/B testing are endless, but the best part is the ability to create an eCommerce site that has been proven to be successful. By creating a culture of data-driven decisions on your site, the results can create higher customer lifetime values.

By being able to test strategies that may be considered risky, such as aggressive marketing tactics, A/B testing can reduce the risk of higher bounce rates. As your business grows and evolves, so do your customers, which is why assuming that your site is great isn’t always the best strategy. A/B testing is an ever-evolving process that can ultimately make a huge difference in your marketing return on investment.

A/B testing is a way to change your eCommerce site for the better using data-driven analytics. By asking your customers what they want out of your site, you’ll ensure that your site is as effective as it can possibly be. Running A/B tests is a way to identify problems or things you might want to change, without assuming the effects of the solution for your customers. eCommerce can be a tricky business, so invest in A/B testing to allow the data to drive your eCommerce strategy.

The Size and Performance of Agile Teams

In discussions around Agile team sizes, conventional wisdom holds that teams should be made up of seven, plus or minus two people.

The Scrum Guide, developed by the co-creators of Scrum, Jeff Sutherland and Ken Schwaber, actually advocates for a number between three and nine. Three people may seem absurdly small, but more than once, I’ve worked with high-producing scrum teams made up of exactly three people.

Here’s the guide’s take (page six, for those of you with your PDF’s handy):

Fewer than three Development Team members decrease interaction and results in smaller productivity gains. Smaller Development Teams may encounter skill constraints during the Sprint, causing the Development Team to be unable to deliver a potentially releasable Increment. Having more than nine members requires too much coordination. Large Development Teams generate too much complexity for an empirical process to manage.

Amazon’s Jeff Bezos advocates for what he calls “the two pizza rule,” which asserts, simply, that you should be able to feed your team with two pizzas. I was able to eat a whole pizza in college, which could have thrown things off, but the premise makes sense.

So where do these numbers come from? Many in the Agile community will refer to Miller’s “magic number,” although this is a misapplication of Miller’s term; and, it’s not really the concept he was trying to illustrate (and in Scrum, it’s not even the same range).

In Fred Brooks’ “The Mythical Man Month” (if you haven’t read it, go read it right now), Brooks writes:

If each part of the task must be separately coordinated with each other part, the effort increases as n(n–1)/2. Three workers require three times as much pairwise intercommunication as two; four require six times as much as two.

In Brooks’ math, where n is the number of persons on a team, a team of one (let’s call her Alice) only needs to communicate with herself. This is easy for any self-actualized person (though self-actualized persons may be, in and of themselves, a rarity).

Now let’s say Alice is on a team of three. Alice now has to communicate with two other people (Brian and Chris) who each have to communicate with two people (including Alice). You can map their communication by drawing a line from each person on the team to each other person on the team. Their communications network looks like this:

Team_of_3 (2)

Three people, three lines, three possible (and necessary) vectors of communication. Simple.

Ramp it up to five. Each person has to communicate with four other people. Their new communication network looks like this:Copy of Team_of_5

If you are counting, there are now ten possible communication channels in this team’s network.

Now let’s do 8. That’s 7 connections per person. Since connections go both ways, it’s 28 lines total.Copy of Copy of Team_of_8 (1)

What happens in a team of ten? Forty-five possible lines of communication in the team’s network. To quote The Scrum Guide again:

Having more than nine members requires too much coordination. Large Development Teams generate too much complexity for an empirical process to manage.

Often, I see organizations pushing for teams larger than this. Sometimes, it’s because they don’t have sufficient budget or human capital to scale their product ownership resources to accommodate more teams. (This causes problems that we’ll address in a later article.) Other times, management assumes that more people = more productivity (which seems reasonable, on its face). Other times, it’s an innocent matter of trying to make sure good people have good projects or teams to work on, whether those teams need more people or not.

In the mid 2000s, QSM published a study, oft-cited by members of the Agile community, which examines the effects of team size on schedule and productivity. In studying nearly 500 projects, their observations feel intuitive to anyone who’s ever worked on large projects. Yet the solutions to the problems they highlight still run counter to accepted wisdom in most organizations.

Firstly, the team found that productivity per person drops as team size grows, with a sharp drop after the team crosses into the 9- to 11-person range.

From Brooks’ math, we know that a 9-person team’s communication network is significantly more complex than an 8-person team’s network (36 channels of communication vs. 28). The 9-person team assumes almost 30% more communication overhead, simply by adding one person to its roster. This scales similarly in both directions.

Further, they found that projects with teams of 9 to 11 take nearly 2.5 times the effort, as measured in person-months, than project teams of 5 to 7 (167 vs. 69 person-months, respectively). Of course, much of that effort can be parallelized; so the projects, on average, take approximately 40% longer to deliver.

In all, they found that individuals worked most efficiently on teams of 3 to 5, but teams of 5 to 7 people were able to deliver projects slightly faster. Whether the faster delivery justifies the extra headcount is highly situational.

So why are smaller teams more effective?  In addition to the problems with communication overhead that arise in larger groups, we’ll take a look at the Ringelmann effect.

Ringelmann (1913) found that having group members work together on a task (e.g., pulling a rope) actually results in significantly less effort than when individual members are acting alone. Furthermore, Ringelmann discovered that as more and more people are added to a group, the group often becomes increasingly inefficient, ultimately violating the notion that group effort and team participation reliably leads to increased effort on behalf of the members.

Maximilien Ringelmann proved that, as teams grow, individual contribution shrinks, caused by lack of motivation and loss of coordination. One possible cause of coordination loss may be accounted for by network overhead, but on a task like rope pulling, there isn’t much to communicate. Agile methods try to fix the motivation problem by involving people in the reasoning behind their work, though this could be an article unto itself. We mitigate the loss of coordination simply by limiting the number of things we need to coordinate: tasks, user stories, and in particular, people.

On paper, the corroborating evidence in support of keeping teams small seems pretty overwhelming. Yet organizations who endeavor to design the structure of their Agile teams (which may be, in and of itself, problematic for self-organization), will frequently over-staff teams, and as project importance increases, so does the probability of making such a miscalculation and often the probability of failure.

Leaders, Teams, and Agilists alike should understand the cost and benefits of scale. But for anyone who’s ever seen a small team become hyperproductive, it’s not even a discussion worth having.

Looking For Better Agile Results? Get Some Design Standards!

With the increasing adoption of agile development, companies are jumping quickly into rapid prototypes of technology projects. This is a great thing, gone are the days of 6–12 month “requirements” phases. However, there are some drawbacks to moving too quickly into rapid prototyping, primarily around reinvention and churn. Teams that jump into projects with little or no standards spend much of their time in the first few weeks thinking about blazing a new path to differentiate themselves. This is great for the creativity process, not so much for consistency across the enterprise and what’s more important: your prototype or test result.

So how do you get to the quick result you’re looking for without all the reinvention and churn? Simple, create a Sprint 0 that focuses on design (and technology) standards. It’s even better if this is part of your agile on-boarding. It’s analogous to cooking with a well-stocked pantry versus letting the team go to the store to buy their ingredients. If you want super creativity, let them go to the store. However, be prepared that this will take much longer, and you will have no idea what’s for dinner for 2–3 hours. Instead, let them loose in a kitchen with a well-stocked pantry and you’re eating in an hour.

Here’s a great example. The U.S. Web Design Standards are published for access to anyone working on a related project. Teams that use a guide such as this will spend far less time debating colors, fonts, and gradients throughout the first 1–2 weeks of a project. Instead, they’ll quickly get busy creating a prototype that they want to brag about.

Want to learn more about how to make Sprint 0 work for you?

4 Things You Need To Successfully Implement Agile

All too often, agile propagates like wildfire between companies. A developer or product manager that has had success at another company becomes a proponent for an agile methodology. The next thing you know, some heavyweight tool has been purchased and developers are left dazed and confused.

Here at Peak we’re believers that if you’re going to do something, you do it well. So, here are 4 things you need to implement agile well.

1. An Agile Coach: Get an expert. Just because we make a mean souffle doesn’t mean we can teach others to make one. A coach may seem like a costly proposition, but the return on the investment will be swift. We’ve seen differences in as little as 3–4 weeks.

2. An Executive Sponsor: Employees watch the actions of leadership very carefully. If you are not bought in at the top, you’ll spend a whole bunch of time talking about agile, and very little time actually doing it.

3. A sticky note budget: Digital tools are fantastic, and really should be all you need. However, when you’re first starting out, nothing beats a physical board with actual notes. It creates habits and reinforces concepts that bits and bytes can’t.

4. A pragmatic approach: Every company is different. Just because something was done a certain way at a previous company does not mean it will work in a new environment. Cultures, people, history, and workload all factor into a successful transition. Instead of adhering to best practices, adhere to the best practices for your company.