InfoQ Homepage Articles
-
Growing an Experiment-Driven Quality Culture in Software Development
Have you ever faced a challenge at work that you weren’t sure how to tackle? Experiments to the rescue! In a complex environment like software development, no one can tell what might work, so we have to try things out. Read this article to learn about key challenges, insights and lessons, and get inspired for your own path to experimentation.
-
Getting Started with gRPC and .NET
In this article, the author introduces the core concepts behind gRPC and how it can be used with API development. The basic pros and cons of using gRPC instead of REST are also explained with a scenario analysis. The text is illustrated with a step-by-step tutorial on how to use gRPC to develop streaming services in .NET.
-
SaaS DR/BC: If You Think Cloud Data is Forever, Think Again
SaaS is quickly becoming the default tool for how we build and scale businesses. It’s cheaper and faster than ever before. However, this reliance on SaaS comes with the risk of disaster recovery. The “Shared Responsibility Model” doesn’t just govern your relationship with cloud, it actually impacts all of cloud computing. Even for SaaS, users are on the hook for protecting their own data.
-
You’re Doing it Wrong: it’s Not about Data and Applications – It’s about Processes
Classic developer thinking tends to approach application design from a data-centric point of view. When the domain is process management, that often leads to excess complexity and work; it also (wrongly) over-reduces proactive processes to quick bursts of automation triggered by data changes. There’s a better way to do this: start with the process.
-
Lightweight External Business Rules
Complex enterprise applications usually come with varying business logic. Such conditions and subsequent system actions, known as rules, are ever varying and demand involvement of domain specific knowledge more than technology and programming. The rules must reside outside the codebase, authored by people with core domain expertise with minimal tech knowledge.
-
Applying Social Leadership to Enhance Collaboration and Nurture Communities
There are many styles and forms of leadership. In this article we explore social leadership, a form of leadership that has helped to challenge views on what leadership truly is and find out what behaviours can help create collaborative cultures and spaces where learning and meaningful engagement matter the most.
-
Design Patterns for Serverless Systems
After shortly introducing design patterns at different levels of abstractions, this article will present a few patterns specifically suited to serverless systems, including the Pipes and Filters pattern and show a POC implementation using AWS EventBridge.
-
Lessons Learned from Self-Selection Reteaming at Redgate
Redgate Software runs a yearly deliberate reteaming process across engineering to alter how they invest the efforts of teams and encourage people to move towards the work they find most engaging. Self-selection reteaming is an effective and empowering method of aligning with company goals. It normalized the idea of people moving between teams for personal development and renewed sense of purpose.
-
Introducing the KivaKit Framework
In this article, we take a brief tour of the KivaKit open source Java microservices application framework. KivaKit is a collection of mini-frameworks designed to work together. Each mini-framework is described in more detail at https://www.kivakit.org as well as on Jonathan Locke’s blog State of the Art.
-
Agile Coaches, Agile Guides and Other Family Members
Companies look at agile coaches as agile experts to guide teams through agile working. But that is at odds with the deeper philosophy of true coaching. Perhaps they should be engaging agile guides instead. Calling out Agile Guide as a distinct role when moving into uncharted territory can be especially effective and allows true coaches to maximise their effectiveness too.
-
Microservices — the Letter and the Spirit
Microservices to be a pattern of ‘decoupled services’ managed to get the best out of it (the underlying understanding of the pattern (‘small’ vs ‘decoupled’) forces developers to take certain design decisions that are consistent with these objectives. In this article discuss we will discuss well and poor implementations: ‘small-services’ vs ‘decoupled-services’ or ‘Letter’ vs the ‘Spirit’.
-
A Design Thinking Roadmap for Process Improvement and Organizational Change
How to understand an organization and the problem they want to improve, find solutions to problems, and provide feasible and high value recommendations that significantly transform how the organization operates for many years? This article shows how design thinking techniques have been used at NASA to drive organizational change and process improvement to create an impact on the organization.