Tagged articles
23 articles
Page 1 of 1
Architecture and Beyond
Architecture and Beyond
Jun 7, 2025 · Artificial Intelligence

Does AI Really Simplify Software Development? Uncovering Hidden Complexities

The article examines how AI can speed up code generation yet fails to reduce the fundamental complexities of software development, shifting challenges to new areas such as prompt engineering, consistency, changeability, and invisibility, and argues that future developers must master AI to manage, not replace, complexity.

AI programmingPrompt engineeringSoftware Architecture
0 likes · 9 min read
Does AI Really Simplify Software Development? Uncovering Hidden Complexities
Architects' Tech Alliance
Architects' Tech Alliance
Nov 26, 2024 · Artificial Intelligence

Get Ready for a Shakeout in Edge NPUs

The article examines the rapid growth and increasing complexity of edge AI NPUs, discussing challenges in software and hardware acceleration, supply‑chain constraints, and the need for integrated engine solutions to sustain performance and power efficiency.

NPUSupply Chainedge AI
0 likes · 9 min read
Get Ready for a Shakeout in Edge NPUs
JD Cloud Developers
JD Cloud Developers
Sep 6, 2024 · Fundamentals

How to Tame Business System Complexity: Strategies and Best Practices

This article explains what software complexity means, how it is measured and classified, outlines the negative impacts of high business complexity, and presents concrete architectural, coding, and configuration techniques to reduce complexity and improve maintainability.

Code RefactoringConfigurationDomain-Driven Design
0 likes · 13 min read
How to Tame Business System Complexity: Strategies and Best Practices
JD Tech Talk
JD Tech Talk
Sep 6, 2024 · Fundamentals

Overview of Software Complexity and Strategies for Reducing Business System Complexity

The article explains the concept and measurement of software complexity, its impact on development cost and stability, common causes in business systems, and presents a set of architectural, coding, and configuration practices—including domain splitting, layered design, clear commenting, and configurable rules—to effectively reduce and manage complexity.

Code RefactoringConfigurationDomain-Driven Design
0 likes · 12 min read
Overview of Software Complexity and Strategies for Reducing Business System Complexity
Alibaba Cloud Developer
Alibaba Cloud Developer
Apr 11, 2023 · Fundamentals

Why Software Gets Complex and How to Measure & Tame It

This article examines the root causes of software complexity, explains how to quantify it using metrics such as Halstead, cyclomatic and Ousterhout complexity, showcases real code examples, and offers practical strategies—including high cohesion, low coupling, strategic design, documentation, and refactoring—to prevent and reduce complexity in large systems.

Halsteadcode metricscyclomatic complexity
0 likes · 22 min read
Why Software Gets Complex and How to Measure & Tame It
Architecture Digest
Architecture Digest
Mar 21, 2023 · Fundamentals

Understanding and Controlling Software System Complexity

The article explains the definition of complexity, analyzes its causes and how they manifest in software systems through scale and structure, and proposes domain‑driven design techniques such as bounded contexts, layered architecture, and change‑boxing to manage and reduce software complexity.

System Architecturecomplexity managementdesign principles
0 likes · 8 min read
Understanding and Controlling Software System Complexity
Architect's Guide
Architect's Guide
Feb 10, 2023 · Fundamentals

The Inevitability of Complexity in Software Design

The essay argues that complexity is an unavoidable, persistent element of software development that cannot be eliminated but must be managed, illustrating this through reflections on build tools, design trade‑offs, resilience engineering, and the need to acknowledge and strategically place complexity within systems.

Resilience Engineeringdesign principlessoftware complexity
0 likes · 10 min read
The Inevitability of Complexity in Software Design
Architect's Guide
Architect's Guide
Dec 13, 2022 · Fundamentals

Complexity Must Exist Somewhere: Reflections on Software Architecture and Design

The article argues that complexity is an unavoidable aspect of software development that cannot be eliminated, only managed or transferred, and discusses how design choices, build‑tool trade‑offs, and knowledge models influence the way engineers cope with inevitable complexity.

Resilience EngineeringSoftware Architecturecomplexity management
0 likes · 7 min read
Complexity Must Exist Somewhere: Reflections on Software Architecture and Design
Open Source Linux
Open Source Linux
Aug 9, 2022 · Fundamentals

How Complex Is Windows? Code Lines, Teams, and Architecture Explained

This article breaks down the massive complexity of Windows by citing code‑line counts for XP, Vista and 7, detailing the roughly thousand‑person development effort across 23 specialized teams, and illustrating the sheer size of the OS with folder‑size screenshots and paper‑length calculations.

OS ArchitectureWindowscode-lines
0 likes · 6 min read
How Complex Is Windows? Code Lines, Teams, and Architecture Explained
NetEase Yanxuan Technology Product Team
NetEase Yanxuan Technology Product Team
May 11, 2022 · Backend Development

Boundary Governance in Business Platform: Principles, Strategies, and Implementation

The article explains Yanxuan’s “boundary governance” approach—using horizontal layering and vertical domain decomposition to isolate complexity—by analyzing and redefining business, system, and organizational boundaries, planning twelve core business blocks, continuously reviewing them, and applying project‑based, consensus‑driven, and forward‑looking strategies to resolve boundary issues and strengthen the middle‑platform architecture.

boundary governancebusiness platformdevelopment management
0 likes · 13 min read
Boundary Governance in Business Platform: Principles, Strategies, and Implementation
21CTO
21CTO
Apr 26, 2022 · Fundamentals

Why Software Complexity Grows and How to Tame It: From Tactical Tornadoes to Strategic Design

This article explores the nature of software complexity, its rational and sensory definitions, common symptoms such as change amplification, cognitive load and unknown unknowns, and contrasts tactical programming practices with strategic design approaches to help engineers manage and reduce complexity over time.

architectural patternscode qualitysoftware complexity
0 likes · 21 min read
Why Software Complexity Grows and How to Tame It: From Tactical Tornadoes to Strategic Design
ITPUB
ITPUB
Mar 21, 2022 · Fundamentals

How to Tame Software Complexity: Entropy, Constructal Law, and Design Strategies

This article explores why software systems inevitably become more entropic and complex, draws parallels with physical entropy and the Constructal Law, identifies sources of uncertainty, scale, and cognitive cost, and presents practical approaches such as isolating core kernels, adopting Domain‑Driven Design, and applying Clean Code principles to keep systems maintainable.

Software Architectureanemic modelclean code
0 likes · 18 min read
How to Tame Software Complexity: Entropy, Constructal Law, and Design Strategies
DevOps
DevOps
Mar 4, 2022 · Cloud Native

Complexity Is Killing Software Developers: Challenges and Strategies in the Cloud‑Native Era

The article examines how the rapid rise of micro‑services, containers, and cloud‑native platforms has dramatically increased software complexity, threatening developer productivity, and discusses industry perspectives and practical approaches—such as internal developer platforms and curated toolsets—to regain control and deliver value.

Cloud NativeInternal Developer PlatformMicroservices
0 likes · 14 min read
Complexity Is Killing Software Developers: Challenges and Strategies in the Cloud‑Native Era
21CTO
21CTO
Mar 3, 2022 · Fundamentals

Why Software Complexity Is Killing Developers and How to Tame It

The article explores the nature of software complexity, contrasting rational metrics like McCabe cyclomatic complexity with the subjective view of John Ousterhout, identifies symptoms such as change amplification, cognitive load and unknown unknowns, and proposes strategic design over tactical programming to control architectural decay.

architectural governancesoftware complexitysoftware design
0 likes · 21 min read
Why Software Complexity Is Killing Developers and How to Tame It
21CTO
21CTO
Dec 1, 2021 · Cloud Native

Why Software Complexity Is Killing Developers—and How Cloud‑Native Platforms Can Help

Modern software’s soaring complexity—from monolithic apps to micro‑service, container‑based, cloud‑native ecosystems—is overwhelming developers, forcing them to juggle endless tools, security, and performance demands, while organizations adopt internal platforms and curated “golden paths” to regain control and deliver value efficiently.

DevOpsMicroservicescloud-native
0 likes · 13 min read
Why Software Complexity Is Killing Developers—and How Cloud‑Native Platforms Can Help
Tencent IMWeb Frontend Team
Tencent IMWeb Frontend Team
Jul 8, 2021 · Frontend Development

Reinventing Low‑Code: How Vision’s New Gems Engine Reduces Complexity and Boosts Flexibility

This article explores the evolution of the Vision low‑code platform, introduces the Gems visual‑building engine, and explains how a modular architecture of renderer, editor, and material libraries addresses both business and technical challenges while controlling software complexity.

Frontend Architectureengine designlow-code
0 likes · 17 min read
Reinventing Low‑Code: How Vision’s New Gems Engine Reduces Complexity and Boosts Flexibility
Alibaba Cloud Native
Alibaba Cloud Native
Aug 25, 2020 · Fundamentals

Why Software Complexity Explodes in Large Systems and How to Tame It

The article explains why large distributed applications quickly become complex, identifies cognitive‑load and collaboration‑cost as the two key dimensions of software complexity, analyses concrete causes such as poor logic, mismatched models, bad API design, naming and testing gaps, and offers practical principles for keeping complexity under control.

MicroservicesSoftware Architecturecode design
0 likes · 26 min read
Why Software Complexity Explodes in Large Systems and How to Tame It
Alibaba Cloud Developer
Alibaba Cloud Developer
Aug 23, 2020 · Fundamentals

Why Large Software Systems Spiral into Complexity and How to Tame It

This article explores why massive distributed applications quickly become complex, identifies cognitive load and collaboration cost as the two main dimensions of software complexity, and offers practical design, naming, testing, and documentation strategies to keep systems maintainable over time.

MicroservicesSoftware Architecturecode quality
0 likes · 25 min read
Why Large Software Systems Spiral into Complexity and How to Tame It
Meituan Technology Team
Meituan Technology Team
Oct 12, 2017 · Frontend Development

Managing Software Complexity with Abstraction, Composition, and Functional Programming in Redux/React

By using abstraction to model common concepts and composition to build complex behavior from simple, pure‑function building blocks like map, filter, and reduce, the article shows how functional programming techniques underpin Redux and React, providing a systematic way to tame front‑end software complexity.

Higher-Order FunctionsReactRedux
0 likes · 22 min read
Managing Software Complexity with Abstraction, Composition, and Functional Programming in Redux/React