InfoQ Homepage Articles
-
Developing Microservices with Behavior Driven Development and Interface Oriented Design
These dependencies require well-defined and well-tested services. Behavior Driven Development (BDD) and Interface Oriented Design (IOD) help achieve this. BDD concentrates on the functionality of the services, which are specified with tests. IOD identifies contractual obligations (e.g. failure reporting) of the services.
-
Architecture and Design InfoQ Trends Report - January 2019
An overview of how the InfoQ editorial team sees the “architecture and design” (A&D) topic evolving in 2019, which focuses on fundamental architectural patterns, framework usage, and design skills.
-
Evidence-Based Management Guide - Updated
The Evidence-Based Management Guide provides a framework for organizations to measure, manage, and increase the value they derive from their product delivery. The updated version includes a new key value area called Unrealized Value and provides example measures that organizations can use to find their own measures that fit their context.
-
Why Do We Need Architectural Diagrams?
Software architecture diagrams, when created well, and sparingly, can greatly improve communication within the development team and with external stakeholders. They require an understanding of the intended audience, and thoughtful restraint on what to include. Resist the temptation to think that diagrams are unnecessary or unhelpful, simply because there have been plenty of cases of bad diagrams.
-
Q&A on the Book Future Ethics
In the book Future Ethics, Cennydd Bowles explores the role ethics play in the tech industry and in the work of product managers, designers, and engineers. The book provides guidance on how to think and act ethically when designing products.
-
Increasing the Quality of Patient Care through Stream Processing
Today’s healthcare technology landscape is disaggregated and siloed. Physicians analyse patient data streams from different systems without much correlation. Even though health-tech domain is mature and rich with data, the value of it is not directed towards increasing the quality of patient care. This article presents a stream processing solution in which streams are co-related.
-
Hiring and Retaining Developers - Creating Great Teams
Hiring developers is one of the biggest challenges the tech industry is facing. This post shows the latest hiring trends and provides some actionable tips to overcome these challenges by covering the most effective hiring methods and how to effectively retain developers. The post also shows how top performing teams motivate developers.
-
Scaling a Distributed Stream Processor in a Containerized Environment
The article presents our experience of scaling a distributed stream processor in Kubernetes. The stream processor should provide support for maintaining the optimal level of parallelism. However, adding more resources incurs additional cost and also it does not guarantee performance improvements. Instead, the stream processor should identify the level of resource requirement and scale accordingly.
-
Q&A on the Book Refactoring - Second Edition
The book Refactoring - Second Edition by Martin Fowler explores how you can improve the design and quality of your code in small steps, without changing external behavior. It consists of around seventy detailed descriptions of refactorings, including a motivation for doing them, the mechanics, and an example.
-
Successful Teams: How Leaders Build Their Tech Companies
The first rule of success when starting a company is having a great team. This could be achieved by assuring both great leadership and a great hiring process. This could happen through following best recruitment practices, looking for employees with a can-do attitude, creating a unique company story, establishing a meaningful culture and enhancing a CEO’s skills.
-
Headless Selenium Browsers
Selenium is a well-known, powerful tool for automated testing in web browsers. While Selenium Web driver supports all the major browsers, you don’t always want the costs of testing in a real browser.
-
Towards Successful Resilient Software Design
In this article, Uwe Friedrichsen explains the “why” and “what” of resilient software design, discusses the challenges he has met most often in recent years, and shares his thoughts on how to implement resilient software design in your organisation.