InfoQ Homepage Articles
-
Introduction to Apache Beam Using Java
Apache Beam is a stream processor, helping developers migrate work between different processes to offload work onto runners that leverage external resources.
-
Pipedrive Agile Framework: How a Unicorn Company Customized Agile Processes to Scale
Pipedrive would not have become a unicorn company by using a standard off-the-shelf agile framework. Instead, the company created its own framework. It makes a distinction between Mission Teams versus Launchpads and relies heavily on dynamic reteaming. In Pipedrive's Agile Framework, the product managers pitch new ideas and software engineers volunteer to lead their Mission Teams.
-
Standardizing Native Java: Aligning GraalVM and OpenJDK
Native Java is essential for Java to remain relevant in the evolving cloud world. But it is not a solved problem yet. And the development lifecycle needs to adapt as well. Standardization through Project Leyden is key to the success of native Java. Native Java needs to be brought into OpenJDK to enable co-evolution with other ongoing enhancements.
-
Why the Dual Operating Model Impedes Enterprise Agility
Most organizations adopt a dual approach to agility, with some parts of the organization working in an agile way that delivers value in increments, measures the response and adapts accordingly, while the “traditional” organization continues to work as it always has in a relatively top-down way. In this article, This approach must eventually be left behind after an Agile transition.
-
Evolving DevSecOps to Include Policy Management
A thorough implementation of policy management tools is required for effective compliance and security management in a DevOps environment. Companies that accept policy management in DevSecOps as a way of development and have adopted some level of policy management best practices tend to operate more efficiently.
-
How to Run Your Product Department Like a Coach
Having found what I thought was my calling as an agile coach, I took the tough decision to move sideways into Product Management in the hopes of using what I’d learned to one day run my own department. I believed that coming from coaching would allow me to see things others could not and create something special. Time will tell if I have succeeded. This is the story of where I am so far.
-
AI for Software Developers: a Future or a New Reality?
In this article, author Nikita Povarov discusses the role AI/ML plays in software development and how tasks like code completion, code search, and bug detection can be powered by machine learning. But he also explains why a complete replacement of programmers by algorithms isn't going happen any time soon.
-
Adaptability by Agreement: Valuing Outcomes over Imposed Solutions
In the pursuit of agile at scale, the landscape is dominated by process-driven approaches which are broken. This article explores a solution-driven rollout approach, one that puts authentic agreement on outcomes before solutions. The principles on which it is based are also effective as leadership strategies, where frameworks are resources to draw upon as people find fitting solutions.
-
Go Native with Spring Boot and GraalVM
Spring Boot 3 & Spring Framework 6, due in late 2022, will have built-in support for native Java. For Spring Framework 5.x & Spring Boot 2.x, Spring Native is the way to go. Spring Native provides integrations for Spring's vast ecosystem of libraries. It also has a component model that allows you to extend native compilation support for other libraries.
-
The What and Why of Programmable Proxies
A question which gets often asked is “What is a programmable proxy, and why do I need one?” This article tries to answer this question from different perspectives. We will start with a brief definition of what a proxy is, then discuss how proxies evolved, explaining what needs they responded to and what benefits they offered at each stage. Finally, we discuss several aspects of programmability.
-
Why You Should Care about Software Architecture
Software development teams have resisted "big upfront designs" in favor of architectural designs emerging from self-organizing teams, which can lead to a mindset that software architecture is not really that important. Greater awareness of the implicit decisions they are making, and forcing these decisions to be made explicitly, can help development teams make better, more informed decisions.
-
Connecting Goals to Daily Teamwork
While we all believe that goal setting is important, it’s work that often doesn’t feel quite urgent enough to be included in our daily routine. It is critical to team success for managers to implement a regular cadence that connects daily work more directly to high-level goals, removing administrative roadblocks while helping teammates focus on what matters most.