Matheus Marabesi website, sharing ideas about software development - Listing posts on page 2

Is there a testable architecture?

As I navigate towards other approaches of testing software, I see that there are some arguments in favor of testability. For example, cucumber names ports and adapter as a testable architecture. In the fourth edition of the book software architecture in practice the chapter 12 dedicated to tstability elaborates on what might be a testable architecture and list its attributes rather than name a single architectural style. The importance of listing attributes depicts a broader picture which leads to other architectures also being labeled as “testable” besides the ports and adapters.

Navigating Challenging Dialogues: A Thoughtful Review of 'Difficult Conversations'

Difficult conversations is a book that anyone at any stage of their life could read, this is not just a book about leadership or management, it goes a step further into the relationships that we have. Relationships that requires difficult conversations, be it with your children, your boss, your parents and even yourself. You should be the most interested in the feelings you might go through when a challenging idea is put in place and when disagreements occur. In that case, what should we do?

Get the Most of Your Testing: Combining Vitest and Testing Library for Maximum Efficiency

Vitest was born from vuejs ecosystem and rapidly started to evolve to other communities, such evolution, leads to a friction when migrating or even when trying to make tools to work together. In Jest, testing library works automatically, no much effort needs to be done. On the other hand, trying to combine, testing library and vitest, might bring some challenges. The aim here is to go step-by-step to configure vite and testing library in an environment that uses typescript.

For Loops in Test Cases or Multiple Assertions?

In this article, we discuss whether to use logic or multiple assertions in tests. For logic, the answer is no, as it can make tests difficult to understand and debug. For multiple assertions, the answer is less clear-cut, with some practitioners arguing that it is acceptable to use multiple assertions if they are testing the same behavior, while others argue that each test should only have one assertion. Ultimately, the best approach depends on the specific context of the test.

Escape velocity, better metrics for agile teams - Review (Lead time, Delivery frequency, Cycle time, Cumulative Flow Diagram, Code quality, Team joy and Forecasting)

As opinionated as it can be Escape velocity gives some insights on metrics that can be used in “agile” (whatever agile means in a given context) teams. From the start a distinction is made from velocity and value. On one hand, the way the author depicts the chasing for speed rather than added value is surrounded by his examples that he might have faced in the real life, while on the other hand, he also makes clear that story points are relative to a given context and that the team can also game this metric (as any other).

Testing browser's clipboard with jest

Copying and pasting things in and out from the browser have been done through a specific command document.execCommand. Therefore, as depicted by Jason Miller and Thomas Steiner, it has an important drawback execCommand is synchronous. This is the reason behind the new clipboard API. It allows developers to create applications that do not block the main thread.

Measure what matters (OKRs) - The Simple Idea that Drives 10x Growth - Review

Measure what matters is a collection of success stories from different businesses that adopted OKRs (Objective-Key-Results) in order to get people aligned and focus on what matters the most for the business. Believe or not this is not as easy as we think, as we will see later on companies struggle with that. John Doer worked at Intel when he was first introduced to OKRs by Andy Grove (as he labelled him the OKRs father) and in this book he describes what the OKRs are made of and why you should use them.

Visual user story slicing - O’Reilly video course - my notes

In an agile environment the way that stories get sliced are key to deliver value and increment the product the team is working on. As such the technique used to split the work and get a continuous flow is key. The story slicing focuses on the vertical slice that can give the most value to the end product as possible.

Strategic monolith and microservices - Driving Innovation Using Purposeful Architecture

Microservices have gotten attention in the industry since its inception. The idea of having independent deployment, scalable services, and rapid interaction was quickly spread across developers and among decision takers in the software community. Therefore, such advantages took more attention than its counterparts, leading to the microservices hype and later on to the reflection on the learning that the community got. For example, some interesting things happened when a big open source project tried adopting microservices and had to go back to the monolith.

Seamless Tweeting: Integrating Twitter API with OAuth 1.0 using Kotlin and Spring Boot Social

Recently I’ve been working on a side project called “Social publisher”, the goal is to allow developers to schedule posts and then having a tool to publish the scheduled content automatically. Some of the tools already in the market does that, but they require paid subscription whenever a limit of scheduled posts has been reached (talking about hootsuite). The idea with social publisher is to avoid such limitations and offer seamlessly sharing tools.