InfoQ Homepage Agile Content on InfoQ
-
How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
-
Building Better Platforms with Empathy: Case Studies and Counter-Examples
Scaling platform development often means absorbing cognitive burdens, but empathy is key. Understanding users beyond their immediate issues leads to better solutions. Platforms help manage growth's complexity, but a product mindset with user-centricity is vital. In his talk at QCon San Francisco 2023, David Stenglein expanded on cultivating empathy through open communication.
-
Curating Developer Experience: Practical Insights from Building a Platform Team
As a platform engineer, how do you help your customers go quicker, which aspects of developer experience should you care about and what do you actually do to curate an experience for them? This article is about curating a developer experience, it shares experiences and learnings from implementing DevEx and ideas on what platform engineers can do for development teams that use platforms.
-
Mastering Impact Analysis and Optimizing Change Release Processes
Dynamic IT professional with a proven track record in optimizing production processes and analyzing outages in complex systems handling millions of TPS. The recent CrowdStrike outage highlights the importance of continuous improvement and adherence to best practices. Passionate about elevating operational excellence through strategic reviews and effective process enhancements.
-
How to Make Technical Debt Your Friend
Technical debt is a popular metaphor for communicating the long-term implications of architectural decisions and trade-offs to stakeholders. By exploiting the feedback mechanism of the Minimum Viable Architecture (MVA) approach, we have concluded that the technical debt metaphor is misleading because much of the so-called debt never needs to be, and in fact isn’t, repaid.
-
Simplicity, Speed, and Re-Use. Shipping Threads in 5 Months
In Jan 2023, we received word that we’d need to build a microblogging service to compete with Twitter in a couple of months. A small team was assembled to take on that challenge, and we shipped a new social network in July. This article describes how we developed and launched the Threads app at Meta last year.
-
How Quality Champions Foster Sustainable Software Quality Improvement at Swiss Post
Even skilled and motivated agile teams sometimes fail to achieve their own software quality goals. In this article, we present a practice we use to assist agile teams in reaching their quality goals and share our experience. The practice is about paying constant attention to specific metrics. It means encouraging people to improve themselves in both qualitative and quantitative ways.
-
Architectural Retrospectives: the Key to Getting Better at Architecting
The purpose of an architectural retrospective is to use experience to help the development team improve their architecting skills and their way of working as they make architectural decisions. This is different than traditional architecture reviews which are focused on improving the architecture.
-
Platform as a Runtime - the Next Step in Platform Engineering
As systems become larger and more complex we need to take the concepts of platform engineering to a higher level – to the code level – by creating platforms and abstractions that will reduce cognitive load, help simplify and accelerate software development, and allow for easy maintenance and upgrades to the platform. Let’s move from “platform” to “Platform as a Runtime”.
-
Using Generative AI in Software Project Management to Bridge Domains and Accelerate Productivity
Gen AI Assistants play to the strengths of professionals with a breadth of experience, particularly software developers who can describe what they want the LLM to complete and critically evaluate the result. These tools enable us to swiftly cross divides of domain language and scale large repetitive tasks down to interesting ones on a human scale.
-
Zero to Performance Hero: How to Benchmark and Profile Your eBPF Code in Rust
In this article, we will walk through creating a basic eBPF program in Rust. We will intentionally include a performance regression and then use profilers to locate and fix the bug. We will also create benchmarks and track them using a continuous benchmarking tool for CI.
-
Delivering Great Developer Experiences with Platform Engineering
Companies increasingly turn to platform engineering to help scale their development teams and increase developer experience for engineer efficiency. In this virtual panel, we’ll discuss how teams build platforms, set others up for success, work with developers who use their platform, measure their progress, and adapt to new challenges.