InfoQ Homepage Maintenance Content on InfoQ
Articles
RSS Feed-
Start Your Architecture Modernization with Domain-Driven Discovery
Successful projects start with robust discovery. What if your project is modernizing your tangled old legacy system or migrating all your workloads to the cloud? This article presents a guided approach to starting your next architecture modernization project with a Domain-Driven Discovery (DDD), illustrated with a medical supply company that is migrating its core systems to the cloud.
-
Moldable Development: Guiding Technical Decisions without Reading Code
Developers spend most of their time reading code. Moldable Development challenges reading as a means to gather information from the system, by creating custom tools that show the problem in a way that makes it comfortable to understand. The solution typically follows quickly afterward. Glamorous Toolkit is a moldable development environment designed to decrease the cost of custom tools.
-
Five Things to Remember When Upgrading Your Legacy Solution
Legacy software is still employed, even though it frequently fails to meet critical demands and core business operations. By choosing the right modernization strategy and software development teams, you can easily cut down on high legacy software maintenance costs and increase productivity.
-
Technical Debt Isn't Technical: What Companies Can Do to Reduce Technical Debt
In this article, three experts discuss some of the key findings of the “State of Technical Debt 2021” report including the impact of technical debt on engineering teams, the pros and cons of dealing with maintenance work continuously, the future of technical debt and what each engineering teams can do to communicate the importance of dealing with technical debt to companies’ leadership.
-
Strategies to Modernize, Maintain, and Future-Proof Systems
The book Kill it with Fire by Marianne Bellotti provides strategies that organizations can use to modernize, maintain, and future-proof their systems. She suggests choosing strategies based on the organizational context, and defining what value you’re hoping to see from modernization.
-
Correctness vs Change: Which Matters More?
In ongoing software development, our core work is changing code. Jessica Kerr argues that by building changeable software on top of existing, well-understood components, and by improving delivery automations, teams will get better at their core work of delivering value and "changing reality".
-
The Ultimate Feedback Loop: Learning from Customer Reported Defects
Investigating the root causes of customer reported defects will have a great impact on your organization. The best ways to ensure customer satisfaction, lower costs and increase employee engagement is to look inside — you already have the data. At the end, it’s all about continuous improvement.
-
Microservices in the Real World
An interview with Alexander Heusingfeld and Tammo van Lessen about getting operations involved in architecture and dealing with "us vs. them" behavior when applying DevOps, how to use the Self-Contained Systems approach to modernize software systems, similarities and differences between Self-Contained Systems and microservices, improving deployment pipelines and using measurements in deployment.
-
Q&A on the Book Agile Impressions
Gerald Weinberg shares his observations of the agile movement "where it came from, where it is now, and where it's going" in the book Agile Impressions. In the book he explores the agile basics and principles, discusses how he has seen them being violated, and offers ideas and examples for applying the agile principles.
-
Evo: The Agile Value Delivery Process, Where ‘Done’ Means Real Value Delivered; Not Code
Current agile practices are far too narrowly focused on delivering code to users and customers. There is no systems-wide view of other stakeholders, of databases, and anything else except the code. This article describes what ‘Evo’ is at core, and how it is different from other Agile practices, and why ‘done’ should mean ‘value delivered to stakeholders’.
-
Implementation Decision Rationales – Program Comprehension in Agile
Given the fact that the bulk of a developer's work is maintaining and enhancing existing code, Fabian Kiss makes the case for a lightweight approach to documenting the rationale and decision process behind design decisions to help later developers tie the source code syntax to its meaning in the application domain. Using simple tags and clearly thought out rationale to provide just-enough value.