20 Sprint Planning Anti-patterns

TL; Dr: Scrum Master Anti-patterns

Sprint Planning is a core event that defines how your customers’ lives will improve with the following Product Increment. Learn more on how to improve its effectiveness by avoiding 20 common Sprint Planning anti-patterns.

The Purpose of the Sprint Planning

Scrum’s Sprint Planning aims to align the Developers and the Product Owner on what to build next, delivering the highest possible value to customers. First, the Product Owner points to the team’s Product Goal and introduces the business objective of the upcoming Sprint. The Scrum Team then collaboratively creates a Sprint Goal, considering who is available and the target the team shall accomplish. Next, the Developers forecast the work required to achieve the Sprint Goal by picking the right items from the Product Backlog and transferring them to the Sprint Backlog. Also, the Developers need to create a plan on how to accomplish their forecast. 

8 Types of Functional Testing

Functional and non-functional testing are the two types of software testing. There are various types of functional testing, that are as below:

  1. Unit Testing
  2. Integration Testing
  3. System Testing
  4. Regression Testing
  5. Smoke Testing
  6. Sanity Testing
  7. Acceptance Testing
  8. User Acceptance Testing

Brief Description of Functional Testing Types

Unit Testing

Unit testing ensures that every piece of code written in a segment produces the best results. Developers just look at the interface and the determination for a part during unit testing. It provides documentation of code progression because each unit of code is thoroughly tested before moving on to the next.

GitOps Best Practices for DevOps Teams

GitOps is a relatively new approach to managing production environments with the help of automation, containerization, and orchestration technologies. The idea behind GitOps is to have all the necessary infrastructure components up and running before pushing code to production. With such an automated deployment technique, every change is deployed in a predictable manner. However, not everyone has experience with this new approach – or even understands how it works. To assist you, we have compiled six actionable GitOps best practices you can use to get started in this new direction for better outcomes and more productive collaboration.

The Importance of GitOps

GitOps is a new way of managing and deploying software. It’s not just about Git, but the entire workflow. GitOps is a set of practices that help you deploy software that is more reliable, repeatable, and efficient. GitOps is relatively new, and it can be tough to understand how it works and how it could help your team. It basically involves Git to store all your manifest files and Kubernetes to deploy the application. Companies must look beyond DevOps to deploy their applications in a highly predictable manner. Instead of reinventing the wheel, GitOps is basically using simple tools like Git to manage your deployments.

Introduction to Kubernetes for Application Developers

Kubernetes is a highly configurable and complex open-source container orchestration engine. Therefore, it is very easy to feel completely overwhelmed when learning it. The goal of this article is to present the very basic concepts at the core of it while keeping the focus on the development side.

Concepts

First, let’s start with some concepts we will play with in this article.

Logging Best Practices – MDC, Ingestion, and Scale

I don't care about religious wars over "which logger is the best". They all have their issues. Having said that, the worst logger is probably the one built "in-house"... So yes, they suck, but re-inventing the wheel is probably far worse.

Let's discuss making these loggers suck less with proper usage guidelines that range from the obvious to subtle. Hopefully, you can use this post as the basis of your company's standard for logging best practices.

10 Must-know Patterns for Writing Clean Code With Python

What Is Clean Code?

This quote from Bjarne Stroustrup, inventor of the C++ programming language clearly explains what clean code means:

“I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. Clean code does one thing well.”

GitOps: What Is It and How Does It Work?

Over the years, software development methodologies have changed from the waterfall model, to agile, to what we call DevOps today. Even though these methodologies focus mostly on cultural aspects, they are all backed by powerful tools and technologies that make the work more straightforward than before. Just as Docker and Kubernetes boosted DevOps adoption by making containerization easier for organizations, we are now witnessing GitOps gain traction but with Git at the center of the approach. 

This article will explore GitOps: Why is it used? How does it work? 

What Is Sanity Testing? – A Brief Guide

Software testing is crucial in the development and delivery of software. There are various types of software testing, each with its own function in the software development process. One of the most useful tests among them is sanity testing.

What Is Sanity Testing?

It's a type of software testing that ensures flaws are repaired and that the modifications don't cause any new problems. It's a form of retesting to make sure that any updates or newly introduced features work as planned. The goal of sanity testing is to validate the application's functionality, not to perform extensive testing. It's typically used to fix major bugs. It is done to check that fresh code changes are working properly. The goal is not to test the application's important functionalities, but rather to see if the defects have been fixed. It generally works after a slight adjustment.

Sanity vs Smoke Testing: What’s the Difference

Before we get into sanity vs. smoke testing, it's important to understand the difference between the two.

What Is Smoke Testing?

Smoke Testing is a software testing procedure that determines whether or not a software build has been delivered and is stable. The QA team does smoke testing to validate that the software is ready for further testing. Smoke testing is often known as "Build Verification Testing" or "Confidence Testing."

Cross-Validation in AI and Machine Learning for Healthcare

Every time we create a machine learning model, we feed it with data to train it. Then we give the model some unlabeled data (test data) to check how well it performs and generalizes to new data. This model is stable if it works well on anonymous data, is consistent, and can forecast with high accuracy on a wide range of input data.

But, this isn't always the case! Machine learning models are not always stable; thus, we must assess their stability. Cross-Validation enters the scene at this point.

What SREs Can Learn From Capt. Sully: When To Follow Playbooks

When are you smarter than your playbooks, and when are your playbooks smarter than you?

That’s a question that engineers rarely step back to consider. The rational, disciplined parts of our minds tell us that the playbooks we are supposed to follow were carefully designed and tested and that we should stick to them at all costs.

Best Practices for a Successful DevOps Transformation

In this competitive world, every organization is moving towards digital transformation. To stay ahead of the competition businesses are trying to improve their existing IT infrastructure, methodologies, welcoming new technology and software development approaches. To be successful in achieving all of this, organizations depend a lot on how inclined they are towards adopting best practices for a successful DevOps transformation. 

This shift to DevOps implementation makes organizations capable of faster quality releases with lesser performance issues. This shift cannot be taken lightly and should be based on thorough research on the organization’s cultural foundation on which it is built because every company’s journey is different. So, to take this plunge, one must adopt the following DevOps best practices for a successful DevOps transformation.

Why GitOps Is So Important to Businesses Today

Why Gitops Matters for Business Success

At a recent event, Weaveworks’ Chief Operating Officer Steve George explained exactly why GitOps is so important to businesses. It’s an important point to make because, as a fast-growing technological approach, GitOps is usually discussed from the perspective of the technologist. As a  result, most practitioners are now familiar with the concept of GitOps, if not the practical details. In the boardroom, however, knowledge levels remain low – despite the fact that a significant body of data now suggests that GitOps delivers measurable business value.

In the video, Steve explains three things: